@sentropic/design-system-vue 0.36.0 → 0.36.18

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 (102) hide show
  1. package/dist/ArcDiagramChart.d.ts +73 -0
  2. package/dist/ArcDiagramChart.d.ts.map +1 -0
  3. package/dist/ArcDiagramChart.js +180 -0
  4. package/dist/ArcDiagramChart.js.map +1 -0
  5. package/dist/AreaRangeChart.d.ts +84 -0
  6. package/dist/AreaRangeChart.d.ts.map +1 -0
  7. package/dist/AreaRangeChart.js +202 -0
  8. package/dist/AreaRangeChart.js.map +1 -0
  9. package/dist/AreaSplineRangeChart.d.ts +74 -0
  10. package/dist/AreaSplineRangeChart.d.ts.map +1 -0
  11. package/dist/AreaSplineRangeChart.js +200 -0
  12. package/dist/AreaSplineRangeChart.js.map +1 -0
  13. package/dist/Autosave.d.ts +1 -1
  14. package/dist/Autosave.d.ts.map +1 -1
  15. package/dist/Avatar.d.ts +1 -1
  16. package/dist/BellCurveChart.d.ts +89 -0
  17. package/dist/BellCurveChart.d.ts.map +1 -0
  18. package/dist/BellCurveChart.js +195 -0
  19. package/dist/BellCurveChart.js.map +1 -0
  20. package/dist/Calendar.d.ts +1 -1
  21. package/dist/ColumnPyramidChart.d.ts +75 -0
  22. package/dist/ColumnPyramidChart.d.ts.map +1 -0
  23. package/dist/ColumnPyramidChart.js +162 -0
  24. package/dist/ColumnPyramidChart.js.map +1 -0
  25. package/dist/ColumnRangeChart.d.ts +91 -0
  26. package/dist/ColumnRangeChart.d.ts.map +1 -0
  27. package/dist/ColumnRangeChart.js +259 -0
  28. package/dist/ColumnRangeChart.js.map +1 -0
  29. package/dist/DataTable.d.ts +1 -1
  30. package/dist/DependencyWheelChart.d.ts +73 -0
  31. package/dist/DependencyWheelChart.d.ts.map +1 -0
  32. package/dist/DependencyWheelChart.js +221 -0
  33. package/dist/DependencyWheelChart.js.map +1 -0
  34. package/dist/DumbbellChart.d.ts +104 -0
  35. package/dist/DumbbellChart.d.ts.map +1 -0
  36. package/dist/DumbbellChart.js +163 -0
  37. package/dist/DumbbellChart.js.map +1 -0
  38. package/dist/ErrorBarChart.d.ts +75 -0
  39. package/dist/ErrorBarChart.d.ts.map +1 -0
  40. package/dist/ErrorBarChart.js +173 -0
  41. package/dist/ErrorBarChart.js.map +1 -0
  42. package/dist/ForceGraph.d.ts +1 -1
  43. package/dist/GanttChart.d.ts +74 -0
  44. package/dist/GanttChart.d.ts.map +1 -0
  45. package/dist/GanttChart.js +245 -0
  46. package/dist/GanttChart.js.map +1 -0
  47. package/dist/HeikinAshiChart.d.ts +65 -0
  48. package/dist/HeikinAshiChart.d.ts.map +1 -0
  49. package/dist/HeikinAshiChart.js +196 -0
  50. package/dist/HeikinAshiChart.js.map +1 -0
  51. package/dist/HollowCandlestickChart.d.ts +65 -0
  52. package/dist/HollowCandlestickChart.d.ts.map +1 -0
  53. package/dist/HollowCandlestickChart.js +189 -0
  54. package/dist/HollowCandlestickChart.js.map +1 -0
  55. package/dist/LollipopChart.js +1 -1
  56. package/dist/OHLCChart.d.ts +65 -0
  57. package/dist/OHLCChart.d.ts.map +1 -0
  58. package/dist/OHLCChart.js +193 -0
  59. package/dist/OHLCChart.js.map +1 -0
  60. package/dist/OrderedList.d.ts +2 -1
  61. package/dist/OrderedList.d.ts.map +1 -1
  62. package/dist/OrderedList.js +2 -2
  63. package/dist/OrderedList.js.map +1 -1
  64. package/dist/OrganizationChart.d.ts +64 -0
  65. package/dist/OrganizationChart.d.ts.map +1 -0
  66. package/dist/OrganizationChart.js +200 -0
  67. package/dist/OrganizationChart.js.map +1 -0
  68. package/dist/PolygonChart.d.ts +72 -0
  69. package/dist/PolygonChart.d.ts.map +1 -0
  70. package/dist/PolygonChart.js +109 -0
  71. package/dist/PolygonChart.js.map +1 -0
  72. package/dist/Popper.d.ts +1 -1
  73. package/dist/StreamgraphChart.d.ts +88 -0
  74. package/dist/StreamgraphChart.d.ts.map +1 -0
  75. package/dist/StreamgraphChart.js +194 -0
  76. package/dist/StreamgraphChart.js.map +1 -0
  77. package/dist/TileMapChart.d.ts +63 -0
  78. package/dist/TileMapChart.d.ts.map +1 -0
  79. package/dist/TileMapChart.js +154 -0
  80. package/dist/TileMapChart.js.map +1 -0
  81. package/dist/TimelineChart.d.ts +68 -0
  82. package/dist/TimelineChart.d.ts.map +1 -0
  83. package/dist/TimelineChart.js +173 -0
  84. package/dist/TimelineChart.js.map +1 -0
  85. package/dist/TreegraphChart.d.ts +64 -0
  86. package/dist/TreegraphChart.d.ts.map +1 -0
  87. package/dist/TreegraphChart.js +198 -0
  88. package/dist/TreegraphChart.js.map +1 -0
  89. package/dist/UnorderedList.d.ts +2 -1
  90. package/dist/UnorderedList.d.ts.map +1 -1
  91. package/dist/UnorderedList.js +2 -2
  92. package/dist/UnorderedList.js.map +1 -1
  93. package/dist/VariablePieChart.d.ts +64 -0
  94. package/dist/VariablePieChart.d.ts.map +1 -0
  95. package/dist/VariablePieChart.js +164 -0
  96. package/dist/VariablePieChart.js.map +1 -0
  97. package/dist/index.d.ts +40 -0
  98. package/dist/index.d.ts.map +1 -1
  99. package/dist/index.js +20 -0
  100. package/dist/index.js.map +1 -1
  101. package/dist/styles.css +2975 -1100
  102. package/package.json +1 -1
package/dist/styles.css CHANGED
@@ -507,7 +507,7 @@
507
507
  .st-barChart__filterChip--selected {
508
508
  background: var(--st-semantic-action-primary, #2563eb);
509
509
  border-color: var(--st-semantic-action-primary, #2563eb);
510
- color: var(--st-semantic-text-inverse, #fff);
510
+ color: var(--st-semantic-text-inverse);
511
511
  }
512
512
 
513
513
  /* Colour swatch echoing the bar tone, for quick visual mapping chip-to-bar. */
@@ -1226,14 +1226,17 @@
1226
1226
 
1227
1227
  .st-combobox--sm {
1228
1228
  min-height: var(--st-component-control-smHeight, 2rem);
1229
+ font-size: 0.8125rem;
1229
1230
  }
1230
1231
 
1231
1232
  .st-combobox--md {
1232
1233
  min-height: var(--st-component-control-mdHeight, 2.5rem);
1234
+ font-size: 0.875rem;
1233
1235
  }
1234
1236
 
1235
1237
  .st-combobox--lg {
1236
1238
  min-height: var(--st-component-control-lgHeight, 3rem);
1239
+ font-size: 1rem;
1237
1240
  }
1238
1241
 
1239
1242
  .st-combobox:hover:not(:has(input:disabled)) {
@@ -1412,7 +1415,7 @@
1412
1415
 
1413
1416
  .st-contentSwitcher__option--selected {
1414
1417
  background: var(--st-semantic-surface-default);
1415
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
1418
+ box-shadow: var(--st-shadow-subtle);
1416
1419
  color: var(--st-semantic-text-primary);
1417
1420
  }
1418
1421
 
@@ -1731,14 +1734,17 @@
1731
1734
 
1732
1735
  .st-datepicker--sm {
1733
1736
  min-height: var(--st-component-control-smHeight, 2rem);
1737
+ font-size: 0.8125rem;
1734
1738
  }
1735
1739
 
1736
1740
  .st-datepicker--md {
1737
1741
  min-height: var(--st-component-control-mdHeight, 2.5rem);
1742
+ font-size: 0.875rem;
1738
1743
  }
1739
1744
 
1740
1745
  .st-datepicker--lg {
1741
1746
  min-height: var(--st-component-control-lgHeight, 3rem);
1747
+ font-size: 1rem;
1742
1748
  }
1743
1749
 
1744
1750
  .st-datepicker:hover:not(:has(input:disabled)) {
@@ -1971,7 +1977,7 @@
1971
1977
 
1972
1978
  .st-donutChart__slice {
1973
1979
  cursor: pointer;
1974
- stroke: var(--st-semantic-surface-default, #fff);
1980
+ stroke: var(--st-semantic-surface-default);
1975
1981
  stroke-width: 1.5;
1976
1982
  transition: opacity 120ms ease;
1977
1983
  }
@@ -2569,7 +2575,7 @@
2569
2575
  .st-forceGraph__dot {
2570
2576
  cursor: pointer;
2571
2577
  fill-opacity: 0.9;
2572
- stroke: var(--st-semantic-surface-default, #fff);
2578
+ stroke: var(--st-semantic-surface-default);
2573
2579
  stroke-width: 1.5;
2574
2580
  transition: fill-opacity 120ms ease;
2575
2581
  }
@@ -2642,7 +2648,7 @@
2642
2648
  background: var(--st-semantic-surface-overlay, rgba(0,0,0,0.55));
2643
2649
  border: none;
2644
2650
  border-radius: var(--st-radius-sm, 0.25rem);
2645
- color: var(--st-semantic-text-inverse, #fff);
2651
+ color: var(--st-semantic-text-inverse);
2646
2652
  cursor: pointer;
2647
2653
  font-size: 1rem;
2648
2654
  line-height: 1;
@@ -2669,7 +2675,7 @@
2669
2675
  .st-forceGraph__legend {
2670
2676
  background: var(--st-semantic-surface-overlay, rgba(0,0,0,0.45));
2671
2677
  border-radius: var(--st-radius-sm, 0.25rem);
2672
- color: var(--st-semantic-text-inverse, #fff);
2678
+ color: var(--st-semantic-text-inverse);
2673
2679
  display: flex;
2674
2680
  flex-direction: column;
2675
2681
  font-size: 0.6875rem;
@@ -2698,7 +2704,7 @@
2698
2704
 
2699
2705
  .st-forceGraph__legendShape {
2700
2706
  fill-opacity: 0.9;
2701
- stroke: var(--st-semantic-surface-default, #fff);
2707
+ stroke: var(--st-semantic-surface-default);
2702
2708
  stroke-width: 1;
2703
2709
  }
2704
2710
 
@@ -2734,7 +2740,7 @@
2734
2740
  .st-graphLegend {
2735
2741
  background: var(--st-semantic-surface-overlay, rgba(0,0,0,0.45));
2736
2742
  border-radius: var(--st-radius-sm, 0.25rem);
2737
- color: var(--st-semantic-text-inverse, #fff);
2743
+ color: var(--st-semantic-text-inverse);
2738
2744
  display: inline-flex;
2739
2745
  flex-direction: column;
2740
2746
  font-size: 0.6875rem;
@@ -2772,7 +2778,7 @@
2772
2778
 
2773
2779
  .st-graphLegend__shape {
2774
2780
  fill-opacity: 0.9;
2775
- stroke: var(--st-semantic-surface-default, #fff);
2781
+ stroke: var(--st-semantic-surface-default);
2776
2782
  stroke-width: 1;
2777
2783
  }
2778
2784
 
@@ -3247,14 +3253,17 @@
3247
3253
 
3248
3254
  .st-control--sm {
3249
3255
  min-height: var(--st-component-control-anatomy-density-sm-controlHeight, var(--st-component-control-smHeight, 2rem));
3256
+ font-size: 0.8125rem;
3250
3257
  }
3251
3258
 
3252
3259
  .st-control--md {
3253
3260
  min-height: var(--st-component-control-anatomy-density-md-controlHeight, var(--st-component-control-mdHeight, 2.5rem));
3261
+ font-size: 0.875rem;
3254
3262
  }
3255
3263
 
3256
3264
  .st-control--lg {
3257
3265
  min-height: var(--st-component-control-anatomy-density-lg-controlHeight, var(--st-component-control-lgHeight, 3rem));
3266
+ font-size: 1rem;
3258
3267
  }
3259
3268
 
3260
3269
  .st-control::placeholder {
@@ -3921,17 +3930,20 @@
3921
3930
 
3922
3931
  .st-multiSelect--sm .st-multiSelect__trigger {
3923
3932
  min-height: var(--st-component-control-smHeight, 2rem);
3933
+ font-size: 0.8125rem;
3924
3934
  }
3925
3935
 
3926
3936
  .st-multiSelect--md .st-multiSelect__trigger {
3927
3937
  min-height: var(--st-component-control-mdHeight, 2.5rem);
3938
+ font-size: 0.875rem;
3928
3939
  }
3929
3940
 
3930
3941
  .st-multiSelect--lg .st-multiSelect__trigger {
3931
3942
  min-height: var(--st-component-control-lgHeight, 3rem);
3943
+ font-size: 1rem;
3932
3944
  }
3933
3945
 
3934
-
3946
+
3935
3947
  .st-multiSelect__trigger {
3936
3948
  align-items: center;
3937
3949
  background: var(--st-component-control-anatomy-field-fillBg, var(--st-component-control-background, var(--st-semantic-surface-default)));
@@ -4187,14 +4199,17 @@
4187
4199
 
4188
4200
  .st-numberInput--sm {
4189
4201
  min-height: var(--st-component-control-smHeight, 2rem);
4202
+ font-size: 0.8125rem;
4190
4203
  }
4191
4204
 
4192
4205
  .st-numberInput--md {
4193
4206
  min-height: var(--st-component-control-mdHeight, 2.5rem);
4207
+ font-size: 0.875rem;
4194
4208
  }
4195
4209
 
4196
4210
  .st-numberInput--lg {
4197
4211
  min-height: var(--st-component-control-lgHeight, 3rem);
4212
+ font-size: 1rem;
4198
4213
  }
4199
4214
 
4200
4215
  .st-numberInput:hover:not(:has(input:disabled)) {
@@ -4647,14 +4662,17 @@
4647
4662
 
4648
4663
  .st-passwordInput--sm {
4649
4664
  min-height: var(--st-component-control-smHeight, 2rem);
4665
+ font-size: 0.8125rem;
4650
4666
  }
4651
4667
 
4652
4668
  .st-passwordInput--md {
4653
4669
  min-height: var(--st-component-control-mdHeight, 2.5rem);
4670
+ font-size: 0.875rem;
4654
4671
  }
4655
4672
 
4656
4673
  .st-passwordInput--lg {
4657
4674
  min-height: var(--st-component-control-lgHeight, 3rem);
4675
+ font-size: 1rem;
4658
4676
  }
4659
4677
 
4660
4678
  .st-passwordInput:hover:not(:has(input:disabled)) {
@@ -5237,14 +5255,17 @@
5237
5255
 
5238
5256
  .st-search--sm {
5239
5257
  min-height: var(--st-component-control-smHeight, 2rem);
5258
+ font-size: 0.8125rem;
5240
5259
  }
5241
5260
 
5242
5261
  .st-search--md {
5243
5262
  min-height: var(--st-component-control-mdHeight, 2.5rem);
5263
+ font-size: 0.875rem;
5244
5264
  }
5245
5265
 
5246
5266
  .st-search--lg {
5247
5267
  min-height: var(--st-component-control-lgHeight, 3rem);
5268
+ font-size: 1rem;
5248
5269
  }
5249
5270
 
5250
5271
  .st-search:hover:not(:has(input:disabled)) {
@@ -5304,18 +5325,17 @@
5304
5325
  align-items: center;
5305
5326
  background: transparent;
5306
5327
  border: 0;
5307
- border-radius: 50%;
5308
- color: inherit;
5328
+ border-radius: var(--st-component-control-anatomy-shape-radius, 0.375rem);
5329
+ color: var(--st-semantic-text-secondary);
5309
5330
  cursor: pointer;
5310
5331
  display: inline-flex;
5311
5332
  flex: 0 0 auto;
5312
5333
  font: inherit;
5313
- font-size: 1.125rem;
5314
5334
  height: 1.5rem;
5315
5335
  justify-content: center;
5316
5336
  line-height: 1;
5317
- margin-inline-end: 0.375rem;
5318
- padding: 0;
5337
+ margin-inline-end: 0.25rem;
5338
+ padding: 0 0.25rem;
5319
5339
  transition: background-color var(--st-motion-fast, 120ms) var(--st-motion-easing, ease);
5320
5340
  width: 1.5rem;
5321
5341
  }
@@ -5405,14 +5425,17 @@
5405
5425
 
5406
5426
  .st-select--sm {
5407
5427
  min-height: var(--st-component-control-smHeight, 2rem);
5428
+ font-size: 0.8125rem;
5408
5429
  }
5409
5430
 
5410
5431
  .st-select--md {
5411
5432
  min-height: var(--st-component-control-mdHeight, 2.5rem);
5433
+ font-size: 0.875rem;
5412
5434
  }
5413
5435
 
5414
5436
  .st-select--lg {
5415
5437
  min-height: var(--st-component-control-lgHeight, 3rem);
5438
+ font-size: 1rem;
5416
5439
  }
5417
5440
 
5418
5441
  .st-select:focus-visible {
@@ -5852,7 +5875,7 @@
5852
5875
  .st-stackedBar__grid { stroke: var(--st-semantic-border-subtle); stroke-dasharray: 2 3; stroke-width: 1; opacity: 0.7; }
5853
5876
  .st-stackedBar__axis { stroke: var(--st-semantic-border-subtle); stroke-width: 1; }
5854
5877
  .st-stackedBar__tick, .st-stackedBar__categoryLabel { fill: var(--st-semantic-text-secondary); font-size: 0.6875rem; }
5855
- .st-stackedBar__seg { cursor: pointer; stroke: var(--st-semantic-surface-default, #fff); stroke-width: 1; transition: opacity 120ms ease; }
5878
+ .st-stackedBar__seg { cursor: pointer; stroke: var(--st-semantic-surface-default); stroke-width: 1; transition: opacity 120ms ease; }
5856
5879
  .st-stackedBar__seg--dim { opacity: 0.45; }
5857
5880
  .st-stackedBar__seg:focus-visible { outline: 2px solid var(--st-semantic-border-interactive); outline-offset: 1px; }
5858
5881
  .st-stackedBar__seg--category1 { fill: var(--st-semantic-data-category1); }
@@ -6944,7 +6967,7 @@
6944
6967
  border: 1px solid var(--st-component-control-border, #334155);
6945
6968
  border-radius: 999px;
6946
6969
  bottom: var(--st-spacing-4, 1rem);
6947
- color: var(--st-semantic-text-inverse, #fff);
6970
+ color: var(--st-semantic-text-inverse);
6948
6971
  cursor: var(--st-cursor-interactive, pointer);
6949
6972
  display: inline-flex;
6950
6973
  gap: 0.5rem;
@@ -8098,14 +8121,17 @@
8098
8121
 
8099
8122
  .st-timepicker--sm {
8100
8123
  min-height: var(--st-component-control-smHeight, 2rem);
8124
+ font-size: 0.8125rem;
8101
8125
  }
8102
8126
 
8103
8127
  .st-timepicker--md {
8104
8128
  min-height: var(--st-component-control-mdHeight, 2.5rem);
8129
+ font-size: 0.875rem;
8105
8130
  }
8106
8131
 
8107
8132
  .st-timepicker--lg {
8108
8133
  min-height: var(--st-component-control-lgHeight, 3rem);
8134
+ font-size: 1rem;
8109
8135
  }
8110
8136
 
8111
8137
  .st-timepicker:hover:not(:has(input:disabled)) {
@@ -8333,6 +8359,16 @@
8333
8359
  color: var(--st-component-dropdown-selectedText, var(--st-semantic-action-primaryText));
8334
8360
  }
8335
8361
 
8362
+ /* Jour sélectionné survolé : garder un fond foncé sinon texte blanc sur fond
8363
+ clair (hover générique) -> invisible. Spécificité (0,4,0) > :hover (0,3,0). */
8364
+ .st-calendar__day--selected:hover:not(:disabled) {
8365
+ background: var(
8366
+ --st-semantic-action-primaryHover,
8367
+ var(--st-component-dropdown-selectedBackground, var(--st-semantic-action-primary))
8368
+ );
8369
+ color: var(--st-component-dropdown-selectedText, var(--st-semantic-action-primaryText));
8370
+ }
8371
+
8336
8372
  .st-calendar__day:disabled {
8337
8373
  color: var(--st-semantic-text-muted);
8338
8374
  cursor: not-allowed;
@@ -9041,7 +9077,7 @@
9041
9077
 
9042
9078
  .st-funnelChart__segment {
9043
9079
  cursor: pointer;
9044
- stroke: var(--st-semantic-surface-default, #fff);
9080
+ stroke: var(--st-semantic-surface-default);
9045
9081
  stroke-width: 1;
9046
9082
  transition: opacity 120ms ease;
9047
9083
  }
@@ -9283,7 +9319,7 @@
9283
9319
 
9284
9320
  .st-treemapChart__rect {
9285
9321
  cursor: pointer;
9286
- stroke: var(--st-semantic-surface-default, #fff);
9322
+ stroke: var(--st-semantic-surface-default);
9287
9323
  stroke-width: 1.5;
9288
9324
  transition: opacity 120ms ease;
9289
9325
  }
@@ -10039,8 +10075,8 @@
10039
10075
  opacity: 0.85;
10040
10076
  }
10041
10077
 
10042
- /* ── CalendarHeatmapChart (lot-3) ── */
10043
- .st-calendarHeatmapChart {
10078
+ /* ── OHLCChart ── */
10079
+ .st-ohlcChart {
10044
10080
  color: var(--st-semantic-text-secondary);
10045
10081
  display: block;
10046
10082
  font-family: inherit;
@@ -10048,53 +10084,64 @@
10048
10084
  width: 100%;
10049
10085
  }
10050
10086
 
10051
- .st-calendarHeatmapChart svg {
10087
+ .st-ohlcChart svg {
10052
10088
  display: block;
10053
10089
  overflow: visible;
10054
10090
  }
10055
10091
 
10056
- .st-calendarHeatmapChart__visual {
10092
+ .st-ohlcChart__visual {
10057
10093
  display: block;
10058
10094
  }
10059
10095
 
10060
- .st-calendarHeatmapChart__dayLabel,
10061
- .st-calendarHeatmapChart__monthLabel {
10062
- fill: var(--st-semantic-text-secondary);
10063
- font-size: 0.5625rem;
10096
+ .st-ohlcChart__axis {
10097
+ stroke: var(--st-semantic-border-subtle);
10098
+ stroke-width: 1;
10064
10099
  }
10065
10100
 
10066
- .st-calendarHeatmapChart__cell {
10067
- cursor: pointer;
10068
- stroke: var(--st-semantic-surface-default, Canvas);
10101
+ .st-ohlcChart__grid {
10102
+ stroke: var(--st-semantic-border-subtle);
10103
+ stroke-dasharray: 2 3;
10069
10104
  stroke-width: 1;
10105
+ opacity: 0.7;
10106
+ }
10107
+
10108
+ .st-ohlcChart__bar {
10109
+ cursor: pointer;
10070
10110
  transition: opacity 120ms ease;
10071
10111
  }
10072
10112
 
10073
- .st-calendarHeatmapChart__cell--empty {
10074
- fill: var(--st-semantic-border-subtle);
10075
- opacity: 0.25;
10113
+ .st-ohlcChart__bar--dim {
10114
+ opacity: 0.4;
10076
10115
  }
10077
10116
 
10078
- .st-calendarHeatmapChart__cell--dim {
10079
- opacity: 0.3;
10117
+ .st-ohlcChart__range,
10118
+ .st-ohlcChart__open,
10119
+ .st-ohlcChart__close {
10120
+ stroke-width: 1.75;
10121
+ stroke-linecap: round;
10122
+ }
10123
+
10124
+ .st-ohlcChart__bar--up :is(.st-ohlcChart__range, .st-ohlcChart__open, .st-ohlcChart__close) {
10125
+ stroke: var(--st-semantic-feedback-success);
10126
+ }
10127
+
10128
+ .st-ohlcChart__bar--down :is(.st-ohlcChart__range, .st-ohlcChart__open, .st-ohlcChart__close) {
10129
+ stroke: var(--st-semantic-feedback-error);
10080
10130
  }
10081
10131
 
10082
10132
  @media (prefers-reduced-motion: reduce) {
10083
- .st-calendarHeatmapChart__cell {
10133
+ .st-ohlcChart__bar {
10084
10134
  transition: none;
10085
10135
  }
10086
10136
  }
10087
10137
 
10088
- .st-calendarHeatmapChart__cell--category1 { fill: var(--st-semantic-data-category1); }
10089
- .st-calendarHeatmapChart__cell--category2 { fill: var(--st-semantic-data-category2); }
10090
- .st-calendarHeatmapChart__cell--category3 { fill: var(--st-semantic-data-category3); }
10091
- .st-calendarHeatmapChart__cell--category4 { fill: var(--st-semantic-data-category4); }
10092
- .st-calendarHeatmapChart__cell--category5 { fill: var(--st-semantic-data-category5); }
10093
- .st-calendarHeatmapChart__cell--category6 { fill: var(--st-semantic-data-category6); }
10094
- .st-calendarHeatmapChart__cell--category7 { fill: var(--st-semantic-data-category7); }
10095
- .st-calendarHeatmapChart__cell--category8 { fill: var(--st-semantic-data-category8); }
10138
+ .st-ohlcChart__tickLabel,
10139
+ .st-ohlcChart__categoryLabel {
10140
+ fill: var(--st-semantic-text-secondary);
10141
+ font-size: 0.6875rem;
10142
+ }
10096
10143
 
10097
- .st-calendarHeatmapChart__tooltip {
10144
+ .st-ohlcChart__tooltip {
10098
10145
  background: var(--st-semantic-surface-inverse);
10099
10146
  border-radius: var(--st-radius-sm, 0.25rem);
10100
10147
  color: var(--st-semantic-text-inverse);
@@ -10111,16 +10158,16 @@
10111
10158
  z-index: 1;
10112
10159
  }
10113
10160
 
10114
- .st-calendarHeatmapChart__tooltipLabel {
10161
+ .st-ohlcChart__tooltipLabel {
10115
10162
  font-weight: 600;
10116
10163
  }
10117
10164
 
10118
- .st-calendarHeatmapChart__tooltipValue {
10165
+ .st-ohlcChart__tooltipValue {
10119
10166
  opacity: 0.85;
10120
10167
  }
10121
10168
 
10122
- /* ── ParallelCoordinatesChart (lot-3) ── */
10123
- .st-parallelCoordinatesChart {
10169
+ /* ── HollowCandlestickChart ── */
10170
+ .st-hollowCandlestickChart {
10124
10171
  color: var(--st-semantic-text-secondary);
10125
10172
  display: block;
10126
10173
  font-family: inherit;
@@ -10128,64 +10175,108 @@
10128
10175
  width: 100%;
10129
10176
  }
10130
10177
 
10131
- .st-parallelCoordinatesChart svg {
10178
+ .st-hollowCandlestickChart svg {
10132
10179
  display: block;
10133
10180
  overflow: visible;
10134
10181
  }
10135
10182
 
10136
- .st-parallelCoordinatesChart__visual {
10183
+ .st-hollowCandlestickChart__visual {
10137
10184
  display: block;
10138
10185
  }
10139
10186
 
10140
- .st-parallelCoordinatesChart__axis {
10187
+ .st-hollowCandlestickChart__axis {
10141
10188
  stroke: var(--st-semantic-border-subtle);
10189
+ stroke-width: 1;
10190
+ }
10191
+
10192
+ .st-hollowCandlestickChart__grid {
10193
+ stroke: var(--st-semantic-border-subtle);
10194
+ stroke-dasharray: 2 3;
10195
+ stroke-width: 1;
10196
+ opacity: 0.7;
10197
+ }
10198
+
10199
+ .st-hollowCandlestickChart__wick {
10142
10200
  stroke-width: 1.5;
10143
10201
  }
10144
10202
 
10145
- .st-parallelCoordinatesChart__axisLabel {
10146
- fill: var(--st-semantic-text-secondary);
10147
- font-size: 0.6875rem;
10148
- font-weight: 600;
10203
+ .st-hollowCandlestickChart__wick--up {
10204
+ stroke: var(--st-semantic-feedback-success);
10149
10205
  }
10150
10206
 
10151
- .st-parallelCoordinatesChart__tickLabel {
10152
- fill: var(--st-semantic-text-secondary);
10153
- font-size: 0.5625rem;
10207
+ .st-hollowCandlestickChart__wick--down {
10208
+ stroke: var(--st-semantic-feedback-error);
10154
10209
  }
10155
10210
 
10156
- .st-parallelCoordinatesChart__line {
10211
+ .st-hollowCandlestickChart__candle {
10157
10212
  cursor: pointer;
10158
10213
  stroke-width: 1.5;
10159
- stroke-opacity: 0.65;
10160
- transition: stroke-opacity 120ms ease, stroke-width 120ms ease;
10214
+ transition: opacity 120ms ease;
10161
10215
  }
10162
10216
 
10163
- .st-parallelCoordinatesChart__line--dim {
10164
- stroke-opacity: 0.12;
10217
+ .st-hollowCandlestickChart__candle--dim {
10218
+ opacity: 0.4;
10165
10219
  }
10166
10220
 
10167
- .st-parallelCoordinatesChart__line--active {
10168
- stroke-opacity: 1;
10169
- stroke-width: 2.5;
10221
+ .st-hollowCandlestickChart__candle--up {
10222
+ stroke: var(--st-semantic-feedback-success);
10223
+ }
10224
+
10225
+ .st-hollowCandlestickChart__candle--down {
10226
+ stroke: var(--st-semantic-feedback-error);
10227
+ }
10228
+
10229
+ .st-hollowCandlestickChart__candle--hollow {
10230
+ fill: transparent;
10231
+ }
10232
+
10233
+ .st-hollowCandlestickChart__candle--filled.st-hollowCandlestickChart__candle--up {
10234
+ fill: var(--st-semantic-feedback-success);
10235
+ }
10236
+
10237
+ .st-hollowCandlestickChart__candle--filled.st-hollowCandlestickChart__candle--down {
10238
+ fill: var(--st-semantic-feedback-error);
10170
10239
  }
10171
10240
 
10172
10241
  @media (prefers-reduced-motion: reduce) {
10173
- .st-parallelCoordinatesChart__line {
10242
+ .st-hollowCandlestickChart__candle {
10174
10243
  transition: none;
10175
10244
  }
10176
10245
  }
10177
10246
 
10178
- .st-parallelCoordinatesChart__line--category1 { stroke: var(--st-semantic-data-category1); }
10179
- .st-parallelCoordinatesChart__line--category2 { stroke: var(--st-semantic-data-category2); }
10180
- .st-parallelCoordinatesChart__line--category3 { stroke: var(--st-semantic-data-category3); }
10181
- .st-parallelCoordinatesChart__line--category4 { stroke: var(--st-semantic-data-category4); }
10182
- .st-parallelCoordinatesChart__line--category5 { stroke: var(--st-semantic-data-category5); }
10183
- .st-parallelCoordinatesChart__line--category6 { stroke: var(--st-semantic-data-category6); }
10184
- .st-parallelCoordinatesChart__line--category7 { stroke: var(--st-semantic-data-category7); }
10185
- .st-parallelCoordinatesChart__line--category8 { stroke: var(--st-semantic-data-category8); }
10247
+ .st-hollowCandlestickChart__tickLabel,
10248
+ .st-hollowCandlestickChart__categoryLabel {
10249
+ fill: var(--st-semantic-text-secondary);
10250
+ font-size: 0.6875rem;
10251
+ }
10186
10252
 
10187
- /* ── BumpChart (lot-3) ── */
10188
- .st-bumpChart {
10253
+ .st-hollowCandlestickChart__tooltip {
10254
+ background: var(--st-semantic-surface-inverse);
10255
+ border-radius: var(--st-radius-sm, 0.25rem);
10256
+ color: var(--st-semantic-text-inverse);
10257
+ display: inline-flex;
10258
+ flex-direction: column;
10259
+ font-size: 0.75rem;
10260
+ gap: 0.125rem;
10261
+ line-height: 1.2;
10262
+ padding: 0.375rem 0.5rem;
10263
+ pointer-events: none;
10264
+ position: absolute;
10265
+ transform: translate(-50%, calc(-100% - 8px));
10266
+ white-space: nowrap;
10267
+ z-index: 1;
10268
+ }
10269
+
10270
+ .st-hollowCandlestickChart__tooltipLabel {
10271
+ font-weight: 600;
10272
+ }
10273
+
10274
+ .st-hollowCandlestickChart__tooltipValue {
10275
+ opacity: 0.85;
10276
+ }
10277
+
10278
+ /* ── StreamgraphChart ── */
10279
+ .st-streamgraphChart {
10189
10280
  color: var(--st-semantic-text-secondary);
10190
10281
  display: block;
10191
10282
  font-family: inherit;
@@ -10193,408 +10284,298 @@
10193
10284
  width: 100%;
10194
10285
  }
10195
10286
 
10196
- .st-bumpChart svg {
10287
+ .st-streamgraphChart svg,
10288
+ .st-streamgraphChart__visual {
10197
10289
  display: block;
10198
10290
  overflow: visible;
10199
10291
  }
10200
10292
 
10201
- .st-bumpChart__visual {
10202
- display: block;
10203
- }
10204
-
10205
- .st-bumpChart__grid {
10293
+ .st-streamgraphChart__axis {
10206
10294
  stroke: var(--st-semantic-border-subtle);
10207
- stroke-dasharray: 2 3;
10208
10295
  stroke-width: 1;
10209
- opacity: 0.5;
10210
10296
  }
10211
10297
 
10212
- .st-bumpChart__rankLabel,
10213
- .st-bumpChart__catLabel,
10214
- .st-bumpChart__seriesLabel {
10298
+ .st-streamgraphChart__tickLabel {
10215
10299
  fill: var(--st-semantic-text-secondary);
10216
10300
  font-size: 0.6875rem;
10217
10301
  }
10218
10302
 
10219
- .st-bumpChart__line {
10303
+ .st-streamgraphChart__area {
10220
10304
  cursor: pointer;
10221
- stroke-width: 2;
10222
- stroke-opacity: 0.7;
10223
- transition: stroke-opacity 120ms ease, stroke-width 120ms ease;
10305
+ stroke: var(--st-semantic-surface-default);
10306
+ stroke-width: 0.75;
10307
+ transition: opacity 120ms ease;
10224
10308
  }
10225
10309
 
10226
- .st-bumpChart__line--dim {
10227
- stroke-opacity: 0.12;
10310
+ .st-streamgraphChart__area--dim {
10311
+ opacity: 0.4;
10228
10312
  }
10229
10313
 
10230
- .st-bumpChart__line--active {
10231
- stroke-opacity: 1;
10232
- stroke-width: 3;
10314
+ .st-streamgraphChart__area--category1 {
10315
+ fill: var(--st-semantic-data-category1);
10233
10316
  }
10234
10317
 
10235
- @media (prefers-reduced-motion: reduce) {
10236
- .st-bumpChart__line {
10237
- transition: none;
10238
- }
10318
+ .st-streamgraphChart__area--category2 {
10319
+ fill: var(--st-semantic-data-category2);
10239
10320
  }
10240
10321
 
10241
- .st-bumpChart__dot {
10242
- cursor: pointer;
10243
- stroke: var(--st-semantic-surface-default, Canvas);
10244
- stroke-width: 1.5;
10245
- transition: r 120ms ease;
10322
+ .st-streamgraphChart__area--category3 {
10323
+ fill: var(--st-semantic-data-category3);
10246
10324
  }
10247
10325
 
10248
- .st-bumpChart__dot--dim {
10249
- opacity: 0.15;
10326
+ .st-streamgraphChart__area--category4 {
10327
+ fill: var(--st-semantic-data-category4);
10250
10328
  }
10251
10329
 
10252
- @media (prefers-reduced-motion: reduce) {
10253
- .st-bumpChart__dot {
10254
- transition: none;
10255
- }
10330
+ .st-streamgraphChart__area--category5 {
10331
+ fill: var(--st-semantic-data-category5);
10256
10332
  }
10257
10333
 
10258
- .st-bumpChart__line--category1 { stroke: var(--st-semantic-data-category1); }
10259
- .st-bumpChart__line--category2 { stroke: var(--st-semantic-data-category2); }
10260
- .st-bumpChart__line--category3 { stroke: var(--st-semantic-data-category3); }
10261
- .st-bumpChart__line--category4 { stroke: var(--st-semantic-data-category4); }
10262
- .st-bumpChart__line--category5 { stroke: var(--st-semantic-data-category5); }
10263
- .st-bumpChart__line--category6 { stroke: var(--st-semantic-data-category6); }
10264
- .st-bumpChart__line--category7 { stroke: var(--st-semantic-data-category7); }
10265
- .st-bumpChart__line--category8 { stroke: var(--st-semantic-data-category8); }
10334
+ .st-streamgraphChart__area--category6 {
10335
+ fill: var(--st-semantic-data-category6);
10336
+ }
10266
10337
 
10267
- .st-bumpChart__dot--category1 { fill: var(--st-semantic-data-category1); }
10268
- .st-bumpChart__dot--category2 { fill: var(--st-semantic-data-category2); }
10269
- .st-bumpChart__dot--category3 { fill: var(--st-semantic-data-category3); }
10270
- .st-bumpChart__dot--category4 { fill: var(--st-semantic-data-category4); }
10271
- .st-bumpChart__dot--category5 { fill: var(--st-semantic-data-category5); }
10272
- .st-bumpChart__dot--category6 { fill: var(--st-semantic-data-category6); }
10273
- .st-bumpChart__dot--category7 { fill: var(--st-semantic-data-category7); }
10274
- .st-bumpChart__dot--category8 { fill: var(--st-semantic-data-category8); }
10338
+ .st-streamgraphChart__area--category7 {
10339
+ fill: var(--st-semantic-data-category7);
10340
+ }
10275
10341
 
10276
- /* ---------------------------------------------------------------------------
10277
- FilterPill
10278
- --------------------------------------------------------------------------- */
10342
+ .st-streamgraphChart__area--category8 {
10343
+ fill: var(--st-semantic-data-category8);
10344
+ }
10279
10345
 
10280
- .st-filterPill {
10281
- align-items: center;
10282
- border-radius: var(--st-radius-pill, 999px);
10283
- display: inline-flex;
10284
- font-size: 0.8125rem;
10285
- font-weight: 500;
10286
- gap: 0;
10287
- line-height: 1;
10288
- transition:
10289
- background-color var(--st-motion-fast, 120ms) var(--st-motion-easing, ease),
10290
- color var(--st-motion-fast, 120ms) var(--st-motion-easing, ease);
10291
- user-select: none;
10346
+ @media (prefers-reduced-motion: reduce) {
10347
+ .st-streamgraphChart__area {
10348
+ transition: none;
10349
+ }
10292
10350
  }
10293
10351
 
10294
- .st-filterPill--neutral {
10295
- background: var(--st-semantic-surface-subtle, #f8fafc);
10296
- color: var(--st-semantic-text-secondary, #475569);
10297
- border: 1px solid var(--st-semantic-border-interactive, #cbd5e1);
10298
- }
10299
-
10300
- .st-filterPill--success {
10301
- background: color-mix(in srgb, var(--st-semantic-feedback-success, #16a34a) 12%, white);
10302
- color: color-mix(in oklch, var(--st-semantic-feedback-success, #16a34a) 78%, black);
10303
- border: 1px solid color-mix(in srgb, var(--st-semantic-feedback-success, #16a34a) 40%, white);
10352
+ .st-streamgraphChart__tooltip {
10353
+ background: var(--st-semantic-surface-inverse);
10354
+ border-radius: var(--st-radius-sm, 0.25rem);
10355
+ color: var(--st-semantic-text-inverse);
10356
+ display: inline-flex;
10357
+ flex-direction: column;
10358
+ font-size: 0.75rem;
10359
+ gap: 0.125rem;
10360
+ line-height: 1.2;
10361
+ padding: 0.375rem 0.5rem;
10362
+ pointer-events: none;
10363
+ position: absolute;
10364
+ transform: translate(-50%, calc(-100% - 8px));
10365
+ white-space: nowrap;
10366
+ z-index: 1;
10304
10367
  }
10305
10368
 
10306
- .st-filterPill--warning {
10307
- background: color-mix(in srgb, var(--st-semantic-feedback-warning, #d97706) 12%, white);
10308
- color: color-mix(in oklch, var(--st-semantic-feedback-warning, #d97706) 78%, black);
10309
- border: 1px solid color-mix(in srgb, var(--st-semantic-feedback-warning, #d97706) 40%, white);
10369
+ .st-streamgraphChart__tooltipLabel {
10370
+ font-weight: 600;
10310
10371
  }
10311
10372
 
10312
- .st-filterPill--error {
10313
- background: color-mix(in srgb, var(--st-semantic-feedback-error, #dc2626) 12%, white);
10314
- color: color-mix(in oklch, var(--st-semantic-feedback-error, #dc2626) 78%, black);
10315
- border: 1px solid color-mix(in srgb, var(--st-semantic-feedback-error, #dc2626) 40%, white);
10373
+ .st-streamgraphChart__tooltipValue {
10374
+ opacity: 0.85;
10316
10375
  }
10317
10376
 
10318
- .st-filterPill--info {
10319
- background: color-mix(in srgb, var(--st-semantic-feedback-info, #2563eb) 12%, white);
10320
- color: color-mix(in oklch, var(--st-semantic-feedback-info, #2563eb) 78%, black);
10321
- border: 1px solid color-mix(in srgb, var(--st-semantic-feedback-info, #2563eb) 40%, white);
10377
+ .st-streamgraphChart__legend {
10378
+ display: flex;
10379
+ flex-wrap: wrap;
10380
+ gap: 0.75rem;
10381
+ list-style: none;
10382
+ margin: 0.5rem 0 0;
10383
+ padding: 0;
10322
10384
  }
10323
10385
 
10324
- .st-filterPill--neutral.st-filterPill--active {
10325
- background: var(--st-component-filterPill-activeBackground, color-mix(in oklch, var(--st-semantic-action-primary, #2563eb) 12%, white));
10326
- color: var(--st-component-filterPill-activeText, color-mix(in oklch, var(--st-semantic-action-primary, #2563eb) 78%, black));
10327
- border-color: color-mix(in oklch, var(--st-semantic-action-primary, #2563eb) 50%, white);
10386
+ .st-streamgraphChart__legendItem {
10387
+ align-items: center;
10388
+ color: var(--st-semantic-text-secondary);
10389
+ display: inline-flex;
10390
+ font-size: 0.75rem;
10391
+ gap: 0.35rem;
10328
10392
  }
10329
10393
 
10330
- .st-filterPill--success.st-filterPill--active {
10331
- background: color-mix(in oklch, var(--st-semantic-feedback-success, #16a34a) 78%, black);
10332
- color: white;
10333
- border-color: color-mix(in oklch, var(--st-semantic-feedback-success, #16a34a) 78%, black);
10394
+ .st-streamgraphChart__legendSwatch {
10395
+ border-radius: 2px;
10396
+ height: 0.7rem;
10397
+ width: 0.7rem;
10334
10398
  }
10335
10399
 
10336
- .st-filterPill--warning.st-filterPill--active {
10337
- background: color-mix(in oklch, var(--st-semantic-feedback-warning, #d97706) 78%, black);
10338
- color: white;
10339
- border-color: color-mix(in oklch, var(--st-semantic-feedback-warning, #d97706) 78%, black);
10400
+ .st-streamgraphChart__legendSwatch--category1 {
10401
+ background: var(--st-semantic-data-category1);
10340
10402
  }
10341
10403
 
10342
- .st-filterPill--error.st-filterPill--active {
10343
- background: color-mix(in oklch, var(--st-semantic-feedback-error, #dc2626) 78%, black);
10344
- color: white;
10345
- border-color: color-mix(in oklch, var(--st-semantic-feedback-error, #dc2626) 78%, black);
10404
+ .st-streamgraphChart__legendSwatch--category2 {
10405
+ background: var(--st-semantic-data-category2);
10346
10406
  }
10347
10407
 
10348
- .st-filterPill--info.st-filterPill--active {
10349
- background: color-mix(in oklch, var(--st-semantic-feedback-info, #2563eb) 78%, black);
10350
- color: white;
10351
- border-color: color-mix(in oklch, var(--st-semantic-feedback-info, #2563eb) 78%, black);
10408
+ .st-streamgraphChart__legendSwatch--category3 {
10409
+ background: var(--st-semantic-data-category3);
10352
10410
  }
10353
10411
 
10354
- @supports not (color: color-mix(in oklch, red, blue)) {
10355
- .st-filterPill--neutral.st-filterPill--active {
10356
- background: var(--st-component-filterPill-activeBackground, var(--st-semantic-surface-subtle, #eef2ff));
10357
- color: var(--st-component-filterPill-activeText, var(--st-semantic-action-primary, #1d4ed8));
10358
- }
10359
- .st-filterPill--success.st-filterPill--active { background: var(--st-semantic-feedback-success, #16a34a); color: white; }
10360
- .st-filterPill--warning.st-filterPill--active { background: var(--st-semantic-feedback-warning, #d97706); color: white; }
10361
- .st-filterPill--error.st-filterPill--active { background: var(--st-semantic-feedback-error, #dc2626); color: white; }
10362
- .st-filterPill--info.st-filterPill--active { background: var(--st-semantic-feedback-info, #2563eb); color: white; }
10412
+ .st-streamgraphChart__legendSwatch--category4 {
10413
+ background: var(--st-semantic-data-category4);
10363
10414
  }
10364
10415
 
10365
- .st-filterPill--disabled {
10366
- cursor: var(--st-cursor-disabled, not-allowed);
10367
- opacity: 0.55;
10416
+ .st-streamgraphChart__legendSwatch--category5 {
10417
+ background: var(--st-semantic-data-category5);
10368
10418
  }
10369
10419
 
10370
- .st-filterPill__body {
10371
- align-items: center;
10372
- background: transparent;
10373
- border: 0;
10374
- border-radius: var(--st-radius-pill, 999px) 0 0 var(--st-radius-pill, 999px);
10375
- color: inherit;
10376
- cursor: var(--st-cursor-interactive, pointer);
10377
- display: inline-flex;
10378
- font: inherit;
10379
- gap: var(--st-spacing-1, 0.25rem);
10380
- line-height: 1;
10381
- padding: 0.3125rem var(--st-spacing-1, 0.25rem) 0.3125rem var(--st-spacing-2, 0.5rem);
10382
- transition:
10383
- background-color var(--st-motion-fast, 120ms) var(--st-motion-easing, ease),
10384
- color var(--st-motion-fast, 120ms) var(--st-motion-easing, ease);
10420
+ .st-streamgraphChart__legendSwatch--category6 {
10421
+ background: var(--st-semantic-data-category6);
10385
10422
  }
10386
10423
 
10387
- .st-filterPill__body--static {
10388
- cursor: default;
10389
- padding: 0.3125rem var(--st-spacing-2, 0.5rem);
10390
- border-radius: var(--st-radius-pill, 999px);
10424
+ .st-streamgraphChart__legendSwatch--category7 {
10425
+ background: var(--st-semantic-data-category7);
10391
10426
  }
10392
10427
 
10393
- .st-filterPill:has(.st-filterPill__remove) .st-filterPill__body--static {
10394
- border-radius: var(--st-radius-pill, 999px) 0 0 var(--st-radius-pill, 999px);
10395
- padding-right: var(--st-spacing-1, 0.25rem);
10428
+ .st-streamgraphChart__legendSwatch--category8 {
10429
+ background: var(--st-semantic-data-category8);
10396
10430
  }
10397
10431
 
10398
- .st-filterPill__body:not(:disabled):hover { opacity: 0.88; }
10399
-
10400
- .st-filterPill__body:focus-visible {
10401
- outline: 2px solid var(--st-semantic-border-interactive, var(--st-semantic-action-primary, #2563eb));
10402
- outline-offset: 2px;
10403
- border-radius: var(--st-radius-pill, 999px);
10404
- z-index: 1;
10432
+ /* ── CalendarHeatmapChart (lot-3) ── */
10433
+ .st-calendarHeatmapChart {
10434
+ color: var(--st-semantic-text-secondary);
10435
+ display: block;
10436
+ font-family: inherit;
10405
10437
  position: relative;
10438
+ width: 100%;
10406
10439
  }
10407
10440
 
10408
- .st-filterPill__body:disabled { cursor: var(--st-cursor-disabled, not-allowed); }
10441
+ .st-calendarHeatmapChart svg {
10442
+ display: block;
10443
+ overflow: visible;
10444
+ }
10409
10445
 
10410
- .st-filterPill__operator {
10411
- color: var(--st-semantic-text-muted, #64748b);
10412
- font-size: 0.75em;
10413
- font-style: italic;
10414
- margin-inline: 0.125rem;
10446
+ .st-calendarHeatmapChart__visual {
10447
+ display: block;
10415
10448
  }
10416
10449
 
10417
- .st-filterPill__value {
10418
- max-width: 12rem;
10419
- overflow: hidden;
10420
- text-overflow: ellipsis;
10421
- white-space: nowrap;
10450
+ .st-calendarHeatmapChart__dayLabel,
10451
+ .st-calendarHeatmapChart__monthLabel {
10452
+ fill: var(--st-semantic-text-secondary);
10453
+ font-size: 0.5625rem;
10422
10454
  }
10423
10455
 
10424
- .st-filterPill__remove {
10425
- align-items: center;
10426
- background: transparent;
10427
- border: 0;
10428
- border-radius: 0 var(--st-radius-pill, 999px) var(--st-radius-pill, 999px) 0;
10429
- color: inherit;
10456
+ .st-calendarHeatmapChart__cell {
10430
10457
  cursor: pointer;
10431
- display: inline-flex;
10432
- font: inherit;
10433
- height: 100%;
10434
- justify-content: center;
10435
- line-height: 1;
10436
- padding: 0.3125rem var(--st-spacing-2, 0.5rem) 0.3125rem var(--st-spacing-1, 0.25rem);
10437
- transition: background-color var(--st-motion-fast, 120ms) var(--st-motion-easing, ease);
10438
- min-width: 1.75rem;
10458
+ stroke: var(--st-semantic-surface-default, Canvas);
10459
+ stroke-width: 1;
10460
+ transition: opacity 120ms ease;
10439
10461
  }
10440
10462
 
10441
- .st-filterPill__remove:hover:not(:disabled) {
10442
- background: color-mix(in srgb, currentColor 12%, transparent);
10463
+ .st-calendarHeatmapChart__cell--empty {
10464
+ fill: var(--st-semantic-border-subtle);
10465
+ opacity: 0.25;
10443
10466
  }
10444
10467
 
10445
- .st-filterPill__remove:focus-visible {
10446
- outline: 2px solid currentColor;
10447
- outline-offset: 1px;
10448
- border-radius: var(--st-radius-pill, 999px);
10449
- z-index: 1;
10450
- position: relative;
10468
+ .st-calendarHeatmapChart__cell--dim {
10469
+ opacity: 0.3;
10451
10470
  }
10452
10471
 
10453
- .st-filterPill__remove:disabled { cursor: var(--st-cursor-disabled, not-allowed); }
10454
-
10455
10472
  @media (prefers-reduced-motion: reduce) {
10456
- .st-filterPill,
10457
- .st-filterPill__body,
10458
- .st-filterPill__remove { transition: none; }
10473
+ .st-calendarHeatmapChart__cell {
10474
+ transition: none;
10475
+ }
10459
10476
  }
10460
10477
 
10461
- /* ---------------------------------------------------------------------------
10462
- FilterBar
10463
- --------------------------------------------------------------------------- */
10478
+ .st-calendarHeatmapChart__cell--category1 { fill: var(--st-semantic-data-category1); }
10479
+ .st-calendarHeatmapChart__cell--category2 { fill: var(--st-semantic-data-category2); }
10480
+ .st-calendarHeatmapChart__cell--category3 { fill: var(--st-semantic-data-category3); }
10481
+ .st-calendarHeatmapChart__cell--category4 { fill: var(--st-semantic-data-category4); }
10482
+ .st-calendarHeatmapChart__cell--category5 { fill: var(--st-semantic-data-category5); }
10483
+ .st-calendarHeatmapChart__cell--category6 { fill: var(--st-semantic-data-category6); }
10484
+ .st-calendarHeatmapChart__cell--category7 { fill: var(--st-semantic-data-category7); }
10485
+ .st-calendarHeatmapChart__cell--category8 { fill: var(--st-semantic-data-category8); }
10464
10486
 
10465
- .st-filterBar {
10466
- align-items: flex-start;
10467
- display: flex;
10468
- flex-wrap: wrap;
10469
- gap: var(--st-spacing-2, 0.5rem);
10487
+ .st-calendarHeatmapChart__tooltip {
10488
+ background: var(--st-semantic-surface-inverse);
10489
+ border-radius: var(--st-radius-sm, 0.25rem);
10490
+ color: var(--st-semantic-text-inverse);
10491
+ display: inline-flex;
10492
+ flex-direction: column;
10493
+ font-size: 0.75rem;
10494
+ gap: 0.125rem;
10495
+ line-height: 1.2;
10496
+ padding: 0.375rem 0.5rem;
10497
+ pointer-events: none;
10498
+ position: absolute;
10499
+ transform: translate(-50%, calc(-100% - 8px));
10500
+ white-space: nowrap;
10501
+ z-index: 1;
10470
10502
  }
10471
10503
 
10472
- .st-filterBar__pills {
10473
- align-items: center;
10474
- display: flex;
10475
- flex: 1 1 auto;
10476
- flex-wrap: wrap;
10477
- gap: var(--st-spacing-2, 0.5rem);
10504
+ .st-calendarHeatmapChart__tooltipLabel {
10505
+ font-weight: 600;
10478
10506
  }
10479
10507
 
10480
- .st-filterBar__clearAll {
10481
- align-items: center;
10482
- background: transparent;
10483
- border: 0;
10484
- border-radius: var(--st-radius-md, 0.375rem);
10485
- color: var(--st-semantic-text-link, #2563eb);
10486
- cursor: var(--st-cursor-interactive, pointer);
10487
- display: inline-flex;
10488
- font: inherit;
10489
- font-size: 0.8125rem;
10490
- gap: var(--st-spacing-1, 0.25rem);
10491
- padding: 0.3125rem var(--st-spacing-2, 0.5rem);
10492
- transition:
10493
- background-color var(--st-motion-fast, 120ms) var(--st-motion-easing, ease),
10494
- color var(--st-motion-fast, 120ms) var(--st-motion-easing, ease);
10495
- white-space: nowrap;
10508
+ .st-calendarHeatmapChart__tooltipValue {
10509
+ opacity: 0.85;
10496
10510
  }
10497
10511
 
10498
- .st-filterBar__clearAll:hover {
10499
- background: var(--st-semantic-surface-subtle, #f8fafc);
10500
- color: var(--st-semantic-action-primaryHover, #1d4ed8);
10512
+ /* ── ParallelCoordinatesChart (lot-3) ── */
10513
+ .st-parallelCoordinatesChart {
10514
+ color: var(--st-semantic-text-secondary);
10515
+ display: block;
10516
+ font-family: inherit;
10517
+ position: relative;
10518
+ width: 100%;
10501
10519
  }
10502
10520
 
10503
- .st-filterBar__clearAll:focus-visible {
10504
- outline: 2px solid var(--st-semantic-border-interactive, #2563eb);
10505
- outline-offset: 2px;
10521
+ .st-parallelCoordinatesChart svg {
10522
+ display: block;
10523
+ overflow: visible;
10506
10524
  }
10507
10525
 
10508
- @media (prefers-reduced-motion: reduce) {
10509
- .st-filterBar__clearAll { transition: none; }
10526
+ .st-parallelCoordinatesChart__visual {
10527
+ display: block;
10510
10528
  }
10511
10529
 
10512
- /* ---------------------------------------------------------------------------
10513
- SelectionChip
10514
- --------------------------------------------------------------------------- */
10515
-
10516
- .st-selectionChip {
10517
- align-items: center;
10518
- border-radius: var(--st-radius-pill, 999px);
10519
- display: inline-flex;
10520
- font-size: 0.75rem;
10521
- font-weight: 600;
10522
- gap: var(--st-spacing-1, 0.25rem);
10523
- line-height: 1;
10524
- padding: 0.25rem var(--st-spacing-2, 0.5rem);
10525
- }
10526
-
10527
- .st-selectionChip--neutral {
10528
- background: var(--st-semantic-surface-subtle, #f8fafc);
10529
- color: var(--st-semantic-text-secondary, #475569);
10530
- }
10531
-
10532
- .st-selectionChip--success {
10533
- background: color-mix(in srgb, var(--st-semantic-feedback-success, #16a34a) 14%, white);
10534
- color: var(--st-semantic-feedback-success, #16a34a);
10535
- }
10536
-
10537
- .st-selectionChip--warning {
10538
- background: color-mix(in srgb, var(--st-semantic-feedback-warning, #d97706) 14%, white);
10539
- color: var(--st-semantic-feedback-warning, #d97706);
10540
- }
10541
-
10542
- .st-selectionChip--error {
10543
- background: color-mix(in srgb, var(--st-semantic-feedback-error, #dc2626) 14%, white);
10544
- color: var(--st-semantic-feedback-error, #dc2626);
10545
- }
10546
-
10547
- .st-selectionChip--info {
10548
- background: color-mix(in srgb, var(--st-semantic-feedback-info, #2563eb) 14%, white);
10549
- color: var(--st-semantic-feedback-info, #2563eb);
10530
+ .st-parallelCoordinatesChart__axis {
10531
+ stroke: var(--st-semantic-border-subtle);
10532
+ stroke-width: 1.5;
10550
10533
  }
10551
10534
 
10552
- .st-selectionChip--disabled {
10553
- cursor: var(--st-cursor-disabled, not-allowed);
10554
- opacity: 0.55;
10535
+ .st-parallelCoordinatesChart__axisLabel {
10536
+ fill: var(--st-semantic-text-secondary);
10537
+ font-size: 0.6875rem;
10538
+ font-weight: 600;
10555
10539
  }
10556
10540
 
10557
- .st-selectionChip__count {
10558
- color: inherit;
10559
- opacity: 0.75;
10541
+ .st-parallelCoordinatesChart__tickLabel {
10542
+ fill: var(--st-semantic-text-secondary);
10543
+ font-size: 0.5625rem;
10560
10544
  }
10561
10545
 
10562
- .st-selectionChip__clear {
10563
- align-items: center;
10564
- background: transparent;
10565
- border: 0;
10566
- border-radius: 50%;
10567
- color: inherit;
10546
+ .st-parallelCoordinatesChart__line {
10568
10547
  cursor: pointer;
10569
- display: inline-flex;
10570
- font: inherit;
10571
- font-size: 1em;
10572
- height: 1.25em;
10573
- justify-content: center;
10574
- line-height: 1;
10575
- margin-inline-start: 0.0625rem;
10576
- padding: 0;
10577
- transition: background-color var(--st-motion-fast, 120ms) var(--st-motion-easing, ease);
10578
- width: 1.25em;
10548
+ stroke-width: 1.5;
10549
+ stroke-opacity: 0.65;
10550
+ transition: stroke-opacity 120ms ease, stroke-width 120ms ease;
10579
10551
  }
10580
10552
 
10581
- .st-selectionChip__clear:hover:not(:disabled) {
10582
- background: var(--st-semantic-surface-subtle, #f1f5f9);
10553
+ .st-parallelCoordinatesChart__line--dim {
10554
+ stroke-opacity: 0.12;
10583
10555
  }
10584
10556
 
10585
- .st-selectionChip__clear:focus-visible {
10586
- outline: 2px solid currentColor;
10587
- outline-offset: 1px;
10557
+ .st-parallelCoordinatesChart__line--active {
10558
+ stroke-opacity: 1;
10559
+ stroke-width: 2.5;
10588
10560
  }
10589
10561
 
10590
- .st-selectionChip__clear:disabled { cursor: var(--st-cursor-disabled, not-allowed); }
10591
-
10592
10562
  @media (prefers-reduced-motion: reduce) {
10593
- .st-selectionChip__clear { transition: none; }
10563
+ .st-parallelCoordinatesChart__line {
10564
+ transition: none;
10565
+ }
10594
10566
  }
10595
10567
 
10596
- /* ── LollipopChart ── */
10597
- .st-lollipopChart {
10568
+ .st-parallelCoordinatesChart__line--category1 { stroke: var(--st-semantic-data-category1); }
10569
+ .st-parallelCoordinatesChart__line--category2 { stroke: var(--st-semantic-data-category2); }
10570
+ .st-parallelCoordinatesChart__line--category3 { stroke: var(--st-semantic-data-category3); }
10571
+ .st-parallelCoordinatesChart__line--category4 { stroke: var(--st-semantic-data-category4); }
10572
+ .st-parallelCoordinatesChart__line--category5 { stroke: var(--st-semantic-data-category5); }
10573
+ .st-parallelCoordinatesChart__line--category6 { stroke: var(--st-semantic-data-category6); }
10574
+ .st-parallelCoordinatesChart__line--category7 { stroke: var(--st-semantic-data-category7); }
10575
+ .st-parallelCoordinatesChart__line--category8 { stroke: var(--st-semantic-data-category8); }
10576
+
10577
+ /* ── BumpChart (lot-3) ── */
10578
+ .st-bumpChart {
10598
10579
  color: var(--st-semantic-text-secondary);
10599
10580
  display: block;
10600
10581
  font-family: inherit;
@@ -10602,570 +10583,979 @@
10602
10583
  width: 100%;
10603
10584
  }
10604
10585
 
10605
- .st-lollipopChart svg {
10586
+ .st-bumpChart svg {
10606
10587
  display: block;
10607
10588
  overflow: visible;
10608
10589
  }
10609
10590
 
10610
- .st-lollipopChart__visual {
10591
+ .st-bumpChart__visual {
10611
10592
  display: block;
10612
10593
  }
10613
10594
 
10614
- .st-lollipopChart__grid {
10615
- stroke: var(--st-component-lollipopChart-gridStroke, var(--st-semantic-border-subtle));
10595
+ .st-bumpChart__grid {
10596
+ stroke: var(--st-semantic-border-subtle);
10616
10597
  stroke-dasharray: 2 3;
10617
10598
  stroke-width: 1;
10618
- opacity: 0.7;
10619
- }
10620
-
10621
- .st-lollipopChart__axis {
10622
- stroke: var(--st-component-lollipopChart-axisStroke, var(--st-semantic-border-subtle));
10623
- stroke-width: 1;
10599
+ opacity: 0.5;
10624
10600
  }
10625
10601
 
10626
- .st-lollipopChart__tickLabel,
10627
- .st-lollipopChart__categoryLabel {
10628
- fill: var(--st-component-lollipopChart-labelColor, var(--st-semantic-text-secondary));
10602
+ .st-bumpChart__rankLabel,
10603
+ .st-bumpChart__catLabel,
10604
+ .st-bumpChart__seriesLabel {
10605
+ fill: var(--st-semantic-text-secondary);
10629
10606
  font-size: 0.6875rem;
10630
10607
  }
10631
10608
 
10632
- .st-lollipopChart__valueLabel {
10633
- font-size: 0.625rem;
10634
- font-weight: 600;
10635
- }
10636
-
10637
- .st-lollipopChart__stem {
10638
- stroke: var(--st-semantic-border-interactive, var(--st-semantic-border-subtle));
10639
- stroke-width: 1.5;
10640
- }
10641
-
10642
- .st-lollipopChart__dot {
10609
+ .st-bumpChart__line {
10643
10610
  cursor: pointer;
10644
- transition: opacity var(--st-motion-fast, 120ms) var(--st-motion-easing, ease);
10611
+ stroke-width: 2;
10612
+ stroke-opacity: 0.7;
10613
+ transition: stroke-opacity 120ms ease, stroke-width 120ms ease;
10645
10614
  }
10646
10615
 
10647
- .st-lollipopChart__dot:hover {
10648
- opacity: 0.82;
10616
+ .st-bumpChart__line--dim {
10617
+ stroke-opacity: 0.12;
10649
10618
  }
10650
10619
 
10651
- .st-lollipopChart__dot--category1 { fill: var(--st-semantic-data-category1); }
10652
- .st-lollipopChart__dot--category2 { fill: var(--st-semantic-data-category2); }
10653
- .st-lollipopChart__dot--category3 { fill: var(--st-semantic-data-category3); }
10654
- .st-lollipopChart__dot--category4 { fill: var(--st-semantic-data-category4); }
10655
- .st-lollipopChart__dot--category5 { fill: var(--st-semantic-data-category5); }
10656
- .st-lollipopChart__dot--category6 { fill: var(--st-semantic-data-category6); }
10657
- .st-lollipopChart__dot--category7 { fill: var(--st-semantic-data-category7); }
10658
- .st-lollipopChart__dot--category8 { fill: var(--st-semantic-data-category8); }
10620
+ .st-bumpChart__line--active {
10621
+ stroke-opacity: 1;
10622
+ stroke-width: 3;
10623
+ }
10659
10624
 
10660
- .st-lollipopChart__tooltip {
10661
- background: var(--st-component-lollipopChart-tooltipBackground, var(--st-semantic-surface-inverse));
10662
- border-radius: var(--st-radius-sm, 0.25rem);
10663
- color: var(--st-component-lollipopChart-tooltipText, var(--st-semantic-text-inverse));
10664
- display: inline-flex;
10665
- flex-direction: column;
10666
- font-size: 0.75rem;
10667
- gap: 0.125rem;
10668
- line-height: 1.2;
10669
- padding: 0.375rem 0.5rem;
10670
- pointer-events: none;
10671
- position: absolute;
10672
- transform: translate(-50%, calc(-100% - 8px));
10673
- white-space: nowrap;
10674
- z-index: 1;
10625
+ @media (prefers-reduced-motion: reduce) {
10626
+ .st-bumpChart__line {
10627
+ transition: none;
10628
+ }
10675
10629
  }
10676
10630
 
10677
- .st-lollipopChart__tooltipLabel {
10678
- font-weight: 600;
10631
+ .st-bumpChart__dot {
10632
+ cursor: pointer;
10633
+ stroke: var(--st-semantic-surface-default, Canvas);
10634
+ stroke-width: 1.5;
10635
+ transition: r 120ms ease;
10679
10636
  }
10680
10637
 
10681
- .st-lollipopChart__tooltipValue {
10682
- opacity: 0.85;
10638
+ .st-bumpChart__dot--dim {
10639
+ opacity: 0.15;
10683
10640
  }
10684
10641
 
10685
10642
  @media (prefers-reduced-motion: reduce) {
10686
- .st-lollipopChart__dot {
10643
+ .st-bumpChart__dot {
10687
10644
  transition: none;
10688
10645
  }
10689
10646
  }
10690
10647
 
10691
- /* ── ParetoChart ── */
10692
- .st-paretoChart {
10693
- color: var(--st-semantic-text-secondary);
10694
- display: block;
10695
- font-family: inherit;
10696
- position: relative;
10697
- width: 100%;
10698
- }
10648
+ .st-bumpChart__line--category1 { stroke: var(--st-semantic-data-category1); }
10649
+ .st-bumpChart__line--category2 { stroke: var(--st-semantic-data-category2); }
10650
+ .st-bumpChart__line--category3 { stroke: var(--st-semantic-data-category3); }
10651
+ .st-bumpChart__line--category4 { stroke: var(--st-semantic-data-category4); }
10652
+ .st-bumpChart__line--category5 { stroke: var(--st-semantic-data-category5); }
10653
+ .st-bumpChart__line--category6 { stroke: var(--st-semantic-data-category6); }
10654
+ .st-bumpChart__line--category7 { stroke: var(--st-semantic-data-category7); }
10655
+ .st-bumpChart__line--category8 { stroke: var(--st-semantic-data-category8); }
10699
10656
 
10700
- .st-paretoChart svg {
10701
- display: block;
10702
- overflow: visible;
10703
- }
10657
+ .st-bumpChart__dot--category1 { fill: var(--st-semantic-data-category1); }
10658
+ .st-bumpChart__dot--category2 { fill: var(--st-semantic-data-category2); }
10659
+ .st-bumpChart__dot--category3 { fill: var(--st-semantic-data-category3); }
10660
+ .st-bumpChart__dot--category4 { fill: var(--st-semantic-data-category4); }
10661
+ .st-bumpChart__dot--category5 { fill: var(--st-semantic-data-category5); }
10662
+ .st-bumpChart__dot--category6 { fill: var(--st-semantic-data-category6); }
10663
+ .st-bumpChart__dot--category7 { fill: var(--st-semantic-data-category7); }
10664
+ .st-bumpChart__dot--category8 { fill: var(--st-semantic-data-category8); }
10704
10665
 
10705
- .st-paretoChart__visual {
10706
- display: block;
10707
- }
10666
+ /* ---------------------------------------------------------------------------
10667
+ FilterPill
10668
+ --------------------------------------------------------------------------- */
10708
10669
 
10709
- .st-paretoChart__grid {
10710
- stroke: var(--st-component-paretoChart-gridStroke, var(--st-semantic-border-subtle));
10711
- stroke-dasharray: 2 3;
10712
- stroke-width: 1;
10713
- opacity: 0.7;
10670
+ .st-filterPill {
10671
+ align-items: center;
10672
+ border-radius: var(--st-radius-pill, 999px);
10673
+ display: inline-flex;
10674
+ font-size: 0.8125rem;
10675
+ font-weight: 500;
10676
+ gap: 0;
10677
+ line-height: 1;
10678
+ transition:
10679
+ background-color var(--st-motion-fast, 120ms) var(--st-motion-easing, ease),
10680
+ color var(--st-motion-fast, 120ms) var(--st-motion-easing, ease);
10681
+ user-select: none;
10714
10682
  }
10715
10683
 
10716
- .st-paretoChart__axis {
10717
- stroke: var(--st-component-paretoChart-axisStroke, var(--st-semantic-border-subtle));
10718
- stroke-width: 1;
10684
+ .st-filterPill--neutral {
10685
+ background: var(--st-semantic-surface-subtle, #f8fafc);
10686
+ color: var(--st-semantic-text-secondary, #475569);
10687
+ border: 1px solid var(--st-semantic-border-interactive, #cbd5e1);
10719
10688
  }
10720
10689
 
10721
- .st-paretoChart__tickLabel,
10722
- .st-paretoChart__categoryLabel,
10723
- .st-paretoChart__percentLabel {
10724
- fill: var(--st-component-paretoChart-labelColor, var(--st-semantic-text-secondary));
10725
- font-size: 0.6875rem;
10690
+ .st-filterPill--success {
10691
+ background: color-mix(in srgb, var(--st-semantic-feedback-success, #16a34a) 12%, white);
10692
+ color: color-mix(in oklch, var(--st-semantic-feedback-success, #16a34a) 78%, black);
10693
+ border: 1px solid color-mix(in srgb, var(--st-semantic-feedback-success, #16a34a) 40%, white);
10726
10694
  }
10727
10695
 
10728
- .st-paretoChart__bar {
10729
- cursor: pointer;
10730
- transition: opacity var(--st-motion-fast, 120ms) var(--st-motion-easing, ease);
10696
+ .st-filterPill--warning {
10697
+ background: color-mix(in srgb, var(--st-semantic-feedback-warning, #d97706) 12%, white);
10698
+ color: color-mix(in oklch, var(--st-semantic-feedback-warning, #d97706) 78%, black);
10699
+ border: 1px solid color-mix(in srgb, var(--st-semantic-feedback-warning, #d97706) 40%, white);
10731
10700
  }
10732
10701
 
10733
- .st-paretoChart__bar:hover {
10734
- opacity: 0.82;
10702
+ .st-filterPill--error {
10703
+ background: color-mix(in srgb, var(--st-semantic-feedback-error, #dc2626) 12%, white);
10704
+ color: color-mix(in oklch, var(--st-semantic-feedback-error, #dc2626) 78%, black);
10705
+ border: 1px solid color-mix(in srgb, var(--st-semantic-feedback-error, #dc2626) 40%, white);
10735
10706
  }
10736
10707
 
10737
- .st-paretoChart__bar--category1 { fill: var(--st-semantic-data-category1); }
10738
- .st-paretoChart__bar--category2 { fill: var(--st-semantic-data-category2); }
10739
- .st-paretoChart__bar--category3 { fill: var(--st-semantic-data-category3); }
10740
- .st-paretoChart__bar--category4 { fill: var(--st-semantic-data-category4); }
10741
- .st-paretoChart__bar--category5 { fill: var(--st-semantic-data-category5); }
10742
- .st-paretoChart__bar--category6 { fill: var(--st-semantic-data-category6); }
10743
- .st-paretoChart__bar--category7 { fill: var(--st-semantic-data-category7); }
10744
- .st-paretoChart__bar--category8 { fill: var(--st-semantic-data-category8); }
10745
-
10746
- .st-paretoChart__cumLine {
10747
- stroke: var(--st-semantic-action-primary, var(--st-semantic-border-interactive));
10748
- stroke-width: 2;
10708
+ .st-filterPill--info {
10709
+ background: color-mix(in srgb, var(--st-semantic-feedback-info, #2563eb) 12%, white);
10710
+ color: color-mix(in oklch, var(--st-semantic-feedback-info, #2563eb) 78%, black);
10711
+ border: 1px solid color-mix(in srgb, var(--st-semantic-feedback-info, #2563eb) 40%, white);
10749
10712
  }
10750
10713
 
10751
- .st-paretoChart__cumDot {
10752
- cursor: pointer;
10753
- fill: var(--st-semantic-action-primary, var(--st-semantic-border-interactive));
10754
- transition: opacity var(--st-motion-fast, 120ms) var(--st-motion-easing, ease);
10714
+ .st-filterPill--neutral.st-filterPill--active {
10715
+ background: var(--st-component-filterPill-activeBackground, color-mix(in oklch, var(--st-semantic-action-primary, #2563eb) 12%, white));
10716
+ color: var(--st-component-filterPill-activeText, color-mix(in oklch, var(--st-semantic-action-primary, #2563eb) 78%, black));
10717
+ border-color: color-mix(in oklch, var(--st-semantic-action-primary, #2563eb) 50%, white);
10755
10718
  }
10756
10719
 
10757
- .st-paretoChart__cumDot:hover {
10758
- opacity: 0.82;
10720
+ .st-filterPill--success.st-filterPill--active {
10721
+ background: color-mix(in oklch, var(--st-semantic-feedback-success, #16a34a) 78%, black);
10722
+ color: white;
10723
+ border-color: color-mix(in oklch, var(--st-semantic-feedback-success, #16a34a) 78%, black);
10759
10724
  }
10760
10725
 
10761
- .st-paretoChart__tooltip {
10762
- background: var(--st-component-paretoChart-tooltipBackground, var(--st-semantic-surface-inverse));
10763
- border-radius: var(--st-radius-sm, 0.25rem);
10764
- color: var(--st-component-paretoChart-tooltipText, var(--st-semantic-text-inverse));
10765
- display: inline-flex;
10766
- flex-direction: column;
10767
- font-size: 0.75rem;
10768
- gap: 0.125rem;
10769
- line-height: 1.2;
10770
- padding: 0.375rem 0.5rem;
10771
- pointer-events: none;
10772
- position: absolute;
10773
- transform: translate(-50%, calc(-100% - 8px));
10774
- white-space: nowrap;
10775
- z-index: 1;
10726
+ .st-filterPill--warning.st-filterPill--active {
10727
+ background: color-mix(in oklch, var(--st-semantic-feedback-warning, #d97706) 78%, black);
10728
+ color: white;
10729
+ border-color: color-mix(in oklch, var(--st-semantic-feedback-warning, #d97706) 78%, black);
10776
10730
  }
10777
10731
 
10778
- .st-paretoChart__tooltipLabel {
10779
- font-weight: 600;
10732
+ .st-filterPill--error.st-filterPill--active {
10733
+ background: color-mix(in oklch, var(--st-semantic-feedback-error, #dc2626) 78%, black);
10734
+ color: white;
10735
+ border-color: color-mix(in oklch, var(--st-semantic-feedback-error, #dc2626) 78%, black);
10780
10736
  }
10781
10737
 
10782
- .st-paretoChart__tooltipValue {
10783
- opacity: 0.85;
10738
+ .st-filterPill--info.st-filterPill--active {
10739
+ background: color-mix(in oklch, var(--st-semantic-feedback-info, #2563eb) 78%, black);
10740
+ color: white;
10741
+ border-color: color-mix(in oklch, var(--st-semantic-feedback-info, #2563eb) 78%, black);
10784
10742
  }
10785
10743
 
10786
- @media (prefers-reduced-motion: reduce) {
10787
- .st-paretoChart__bar,
10788
- .st-paretoChart__cumDot {
10789
- transition: none;
10744
+ @supports not (color: color-mix(in oklch, red, blue)) {
10745
+ .st-filterPill--neutral.st-filterPill--active {
10746
+ background: var(--st-component-filterPill-activeBackground, var(--st-semantic-surface-subtle, #eef2ff));
10747
+ color: var(--st-component-filterPill-activeText, var(--st-semantic-action-primary, #1d4ed8));
10790
10748
  }
10749
+ .st-filterPill--success.st-filterPill--active { background: var(--st-semantic-feedback-success, #16a34a); color: white; }
10750
+ .st-filterPill--warning.st-filterPill--active { background: var(--st-semantic-feedback-warning, #d97706); color: white; }
10751
+ .st-filterPill--error.st-filterPill--active { background: var(--st-semantic-feedback-error, #dc2626); color: white; }
10752
+ .st-filterPill--info.st-filterPill--active { background: var(--st-semantic-feedback-info, #2563eb); color: white; }
10791
10753
  }
10792
10754
 
10793
- /* --- Shell : AppHeader / LanguageToggle / IdentityMenu (calque sentropic) --- */
10794
- .st-appHeader {
10795
- background: var(--st-semantic-surface-default);
10796
- border-bottom: 1px solid var(--st-semantic-border-subtle);
10797
- color: var(--st-semantic-text-primary);
10798
- font-family: var(--st-font-sans);
10799
- width: 100%;
10755
+ .st-filterPill--disabled {
10756
+ cursor: var(--st-cursor-disabled, not-allowed);
10757
+ opacity: 0.55;
10800
10758
  }
10801
10759
 
10802
- .st-appHeader__bar {
10760
+ .st-filterPill__body {
10803
10761
  align-items: center;
10804
- display: flex;
10805
- gap: var(--st-spacing-4, 1rem);
10806
- height: 3.5rem;
10807
- justify-content: space-between;
10808
- margin: 0 auto;
10809
- max-width: 80rem;
10810
- padding: 0 var(--st-spacing-4, 1rem);
10811
- width: 100%;
10762
+ background: transparent;
10763
+ border: 0;
10764
+ border-radius: var(--st-radius-pill, 999px) 0 0 var(--st-radius-pill, 999px);
10765
+ color: inherit;
10766
+ cursor: var(--st-cursor-interactive, pointer);
10767
+ display: inline-flex;
10768
+ font: inherit;
10769
+ gap: var(--st-spacing-1, 0.25rem);
10770
+ line-height: 1;
10771
+ padding: 0.3125rem var(--st-spacing-1, 0.25rem) 0.3125rem var(--st-spacing-2, 0.5rem);
10772
+ transition:
10773
+ background-color var(--st-motion-fast, 120ms) var(--st-motion-easing, ease),
10774
+ color var(--st-motion-fast, 120ms) var(--st-motion-easing, ease);
10812
10775
  }
10813
10776
 
10814
- .st-appHeader__nav {
10815
- align-items: center;
10816
- display: flex;
10817
- flex: 1 1 auto;
10818
- flex-wrap: wrap;
10819
- font-size: 0.875rem;
10820
- font-weight: 500;
10821
- gap: var(--st-spacing-4, 1rem);
10822
- min-width: 0;
10777
+ .st-filterPill__body--static {
10778
+ cursor: default;
10779
+ padding: 0.3125rem var(--st-spacing-2, 0.5rem);
10780
+ border-radius: var(--st-radius-pill, 999px);
10823
10781
  }
10824
10782
 
10825
- .st-appHeader__burger {
10826
- align-items: center;
10827
- display: flex;
10828
- flex: 1 1 auto;
10829
- justify-content: flex-end;
10783
+ .st-filterPill:has(.st-filterPill__remove) .st-filterPill__body--static {
10784
+ border-radius: var(--st-radius-pill, 999px) 0 0 var(--st-radius-pill, 999px);
10785
+ padding-right: var(--st-spacing-1, 0.25rem);
10830
10786
  }
10831
10787
 
10832
- .st-appHeader__burgerButton {
10788
+ .st-filterPill__body:not(:disabled):hover { opacity: 0.88; }
10789
+
10790
+ .st-filterPill__body:focus-visible {
10791
+ outline: 2px solid var(--st-semantic-border-interactive, var(--st-semantic-action-primary, #2563eb));
10792
+ outline-offset: 2px;
10793
+ border-radius: var(--st-radius-pill, 999px);
10794
+ z-index: 1;
10795
+ position: relative;
10796
+ }
10797
+
10798
+ .st-filterPill__body:disabled { cursor: var(--st-cursor-disabled, not-allowed); }
10799
+
10800
+ .st-filterPill__operator {
10801
+ color: var(--st-semantic-text-muted, #64748b);
10802
+ font-size: 0.75em;
10803
+ font-style: italic;
10804
+ margin-inline: 0.125rem;
10805
+ }
10806
+
10807
+ .st-filterPill__value {
10808
+ max-width: 12rem;
10809
+ overflow: hidden;
10810
+ text-overflow: ellipsis;
10811
+ white-space: nowrap;
10812
+ }
10813
+
10814
+ .st-filterPill__remove {
10833
10815
  align-items: center;
10834
10816
  background: transparent;
10835
10817
  border: 0;
10836
- border-radius: var(--st-radius-sm, 0.375rem);
10837
- color: var(--st-semantic-text-primary);
10818
+ border-radius: 0 var(--st-radius-pill, 999px) var(--st-radius-pill, 999px) 0;
10819
+ color: inherit;
10838
10820
  cursor: pointer;
10839
10821
  display: inline-flex;
10822
+ font: inherit;
10823
+ height: 100%;
10840
10824
  justify-content: center;
10841
- padding: var(--st-spacing-2, 0.5rem);
10825
+ line-height: 1;
10826
+ padding: 0.3125rem var(--st-spacing-2, 0.5rem) 0.3125rem var(--st-spacing-1, 0.25rem);
10827
+ transition: background-color var(--st-motion-fast, 120ms) var(--st-motion-easing, ease);
10828
+ min-width: 1.75rem;
10842
10829
  }
10843
10830
 
10844
- .st-appHeader__burgerButton:hover {
10845
- background: var(--st-semantic-surface-subtle);
10831
+ .st-filterPill__remove:hover:not(:disabled) {
10832
+ background: color-mix(in srgb, currentColor 12%, transparent);
10846
10833
  }
10847
10834
 
10848
- .st-appHeader__burgerButton:focus-visible {
10849
- box-shadow: 0 0 0 2px var(--st-semantic-border-interactive);
10850
- outline: none;
10835
+ .st-filterPill__remove:focus-visible {
10836
+ outline: 2px solid currentColor;
10837
+ outline-offset: 1px;
10838
+ border-radius: var(--st-radius-pill, 999px);
10839
+ z-index: 1;
10840
+ position: relative;
10851
10841
  }
10852
10842
 
10853
- .st-appHeader__burgerIcon {
10854
- display: block;
10843
+ .st-filterPill__remove:disabled { cursor: var(--st-cursor-disabled, not-allowed); }
10844
+
10845
+ @media (prefers-reduced-motion: reduce) {
10846
+ .st-filterPill,
10847
+ .st-filterPill__body,
10848
+ .st-filterPill__remove { transition: none; }
10855
10849
  }
10856
10850
 
10857
- .st-appHeader__logo {
10858
- align-items: center;
10859
- display: inline-flex;
10860
- flex: 0 0 auto;
10851
+ /* ---------------------------------------------------------------------------
10852
+ FilterBar
10853
+ --------------------------------------------------------------------------- */
10854
+
10855
+ .st-filterBar {
10856
+ align-items: flex-start;
10857
+ display: flex;
10858
+ flex-wrap: wrap;
10859
+ gap: var(--st-spacing-2, 0.5rem);
10861
10860
  }
10862
10861
 
10863
- .st-appHeader__actions {
10862
+ .st-filterBar__pills {
10864
10863
  align-items: center;
10865
10864
  display: flex;
10866
- flex: 0 0 auto;
10867
- gap: var(--st-spacing-3, 0.75rem);
10865
+ flex: 1 1 auto;
10866
+ flex-wrap: wrap;
10867
+ gap: var(--st-spacing-2, 0.5rem);
10868
10868
  }
10869
10869
 
10870
- .st-appHeader__scrim {
10870
+ .st-filterBar__clearAll {
10871
+ align-items: center;
10871
10872
  background: transparent;
10872
10873
  border: 0;
10873
- cursor: default;
10874
- inset: 0;
10875
- padding: 0;
10876
- position: fixed;
10877
- z-index: var(--st-zindex-overlay, 80);
10874
+ border-radius: var(--st-radius-md, 0.375rem);
10875
+ color: var(--st-semantic-text-link, #2563eb);
10876
+ cursor: var(--st-cursor-interactive, pointer);
10877
+ display: inline-flex;
10878
+ font: inherit;
10879
+ font-size: 0.8125rem;
10880
+ gap: var(--st-spacing-1, 0.25rem);
10881
+ padding: 0.3125rem var(--st-spacing-2, 0.5rem);
10882
+ transition:
10883
+ background-color var(--st-motion-fast, 120ms) var(--st-motion-easing, ease),
10884
+ color var(--st-motion-fast, 120ms) var(--st-motion-easing, ease);
10885
+ white-space: nowrap;
10878
10886
  }
10879
10887
 
10880
- .st-appHeader__drawer {
10881
- background: var(--st-semantic-surface-default);
10882
- border: 1px solid var(--st-semantic-border-subtle);
10883
- box-shadow: var(--st-shadow-medium, 0 8px 24px rgb(15 23 42 / 0.12));
10884
- left: 0;
10885
- max-height: 100vh;
10886
- overflow-y: auto;
10887
- position: fixed;
10888
- top: 0;
10889
- width: min(22rem, 85vw);
10890
- z-index: calc(var(--st-zindex-overlay, 80) + 10);
10888
+ .st-filterBar__clearAll:hover {
10889
+ background: var(--st-semantic-surface-subtle, #f8fafc);
10890
+ color: var(--st-semantic-action-primaryHover, #1d4ed8);
10891
10891
  }
10892
10892
 
10893
- .st-languageToggle {
10894
- width: 100%;
10893
+ .st-filterBar__clearAll:focus-visible {
10894
+ outline: 2px solid var(--st-semantic-border-interactive, #2563eb);
10895
+ outline-offset: 2px;
10895
10896
  }
10896
10897
 
10897
- .st-languageToggle__select {
10898
- background: var(--st-semantic-surface-default);
10899
- border: 1px solid var(--st-semantic-border-subtle);
10900
- border-radius: var(--st-radius-md, 0.375rem);
10901
- color: var(--st-semantic-text-primary);
10902
- cursor: pointer;
10903
- font: inherit;
10904
- font-family: var(--st-font-sans);
10905
- font-size: 0.875rem;
10906
- padding: var(--st-spacing-1, 0.25rem) var(--st-spacing-2, 0.5rem);
10898
+ @media (prefers-reduced-motion: reduce) {
10899
+ .st-filterBar__clearAll { transition: none; }
10907
10900
  }
10908
10901
 
10909
- .st-languageToggle__select:focus-visible {
10910
- border-color: var(--st-semantic-border-interactive);
10911
- box-shadow: 0 0 0 2px var(--st-semantic-border-interactive);
10912
- outline: none;
10913
- }
10902
+ /* ---------------------------------------------------------------------------
10903
+ SelectionChip
10904
+ --------------------------------------------------------------------------- */
10914
10905
 
10915
- .st-languageToggle__accordionTrigger {
10906
+ .st-selectionChip {
10916
10907
  align-items: center;
10917
- background: transparent;
10918
- border: 0;
10919
- border-radius: var(--st-radius-sm, 0.375rem);
10920
- color: var(--st-semantic-text-primary);
10921
- cursor: pointer;
10922
- display: flex;
10923
- font: inherit;
10924
- font-family: var(--st-font-sans);
10925
- font-size: 0.875rem;
10926
- font-weight: 500;
10927
- justify-content: space-between;
10928
- padding: var(--st-spacing-2, 0.5rem) var(--st-spacing-3, 0.75rem);
10929
- width: 100%;
10908
+ border-radius: var(--st-radius-pill, 999px);
10909
+ display: inline-flex;
10910
+ font-size: 0.75rem;
10911
+ font-weight: 600;
10912
+ gap: var(--st-spacing-1, 0.25rem);
10913
+ line-height: 1;
10914
+ padding: 0.25rem var(--st-spacing-2, 0.5rem);
10930
10915
  }
10931
10916
 
10932
- .st-languageToggle__accordionTrigger:hover {
10933
- background: var(--st-semantic-surface-subtle);
10917
+ .st-selectionChip--neutral {
10918
+ background: var(--st-semantic-surface-subtle, #f8fafc);
10919
+ color: var(--st-semantic-text-secondary, #475569);
10934
10920
  }
10935
10921
 
10936
- .st-languageToggle__accordionTrigger:focus-visible {
10937
- box-shadow: 0 0 0 2px var(--st-semantic-border-interactive);
10938
- outline: none;
10922
+ .st-selectionChip--success {
10923
+ background: color-mix(in srgb, var(--st-semantic-feedback-success, #16a34a) 14%, white);
10924
+ color: var(--st-semantic-feedback-success, #16a34a);
10939
10925
  }
10940
10926
 
10941
- .st-languageToggle__chevron {
10942
- color: var(--st-semantic-text-secondary);
10943
- transition: transform var(--st-motion-fast, 120ms) var(--st-motion-easing, ease);
10927
+ .st-selectionChip--warning {
10928
+ background: color-mix(in srgb, var(--st-semantic-feedback-warning, #d97706) 14%, white);
10929
+ color: var(--st-semantic-feedback-warning, #d97706);
10944
10930
  }
10945
10931
 
10946
- .st-languageToggle__chevron--open {
10947
- transform: rotate(180deg);
10932
+ .st-selectionChip--error {
10933
+ background: color-mix(in srgb, var(--st-semantic-feedback-error, #dc2626) 14%, white);
10934
+ color: var(--st-semantic-feedback-error, #dc2626);
10948
10935
  }
10949
10936
 
10950
- .st-languageToggle__accordionPanel {
10951
- display: grid;
10952
- gap: var(--st-spacing-1, 0.25rem);
10953
- padding: var(--st-spacing-1, 0.25rem) var(--st-spacing-3, 0.75rem) var(--st-spacing-2, 0.5rem);
10937
+ .st-selectionChip--info {
10938
+ background: color-mix(in srgb, var(--st-semantic-feedback-info, #2563eb) 14%, white);
10939
+ color: var(--st-semantic-feedback-info, #2563eb);
10954
10940
  }
10955
10941
 
10956
- .st-languageToggle__option {
10942
+ .st-selectionChip--disabled {
10943
+ cursor: var(--st-cursor-disabled, not-allowed);
10944
+ opacity: 0.55;
10945
+ }
10946
+
10947
+ .st-selectionChip__count {
10948
+ color: inherit;
10949
+ opacity: 0.75;
10950
+ }
10951
+
10952
+ .st-selectionChip__clear {
10953
+ align-items: center;
10957
10954
  background: transparent;
10958
10955
  border: 0;
10959
- border-radius: var(--st-radius-sm, 0.375rem);
10960
- color: var(--st-semantic-text-secondary);
10956
+ border-radius: 50%;
10957
+ color: inherit;
10961
10958
  cursor: pointer;
10959
+ display: inline-flex;
10962
10960
  font: inherit;
10963
- font-family: var(--st-font-sans);
10964
- font-size: 0.875rem;
10965
- font-weight: 500;
10966
- padding: var(--st-spacing-2, 0.5rem) var(--st-spacing-3, 0.75rem);
10967
- text-align: left;
10968
- width: 100%;
10961
+ font-size: 1em;
10962
+ height: 1.25em;
10963
+ justify-content: center;
10964
+ line-height: 1;
10965
+ margin-inline-start: 0.0625rem;
10966
+ padding: 0;
10967
+ transition: background-color var(--st-motion-fast, 120ms) var(--st-motion-easing, ease);
10968
+ width: 1.25em;
10969
10969
  }
10970
10970
 
10971
- .st-languageToggle__option:hover {
10972
- background: var(--st-semantic-surface-subtle);
10973
- color: var(--st-semantic-text-primary);
10971
+ .st-selectionChip__clear:hover:not(:disabled) {
10972
+ background: var(--st-semantic-surface-subtle, #f1f5f9);
10974
10973
  }
10975
10974
 
10976
- .st-languageToggle__option--active {
10977
- background: var(--st-semantic-surface-subtle);
10978
- color: var(--st-semantic-text-primary);
10975
+ .st-selectionChip__clear:focus-visible {
10976
+ outline: 2px solid currentColor;
10977
+ outline-offset: 1px;
10979
10978
  }
10980
10979
 
10981
- .st-languageToggle__option:focus-visible {
10982
- box-shadow: 0 0 0 2px var(--st-semantic-border-interactive);
10983
- outline: none;
10980
+ .st-selectionChip__clear:disabled { cursor: var(--st-cursor-disabled, not-allowed); }
10981
+
10982
+ @media (prefers-reduced-motion: reduce) {
10983
+ .st-selectionChip__clear { transition: none; }
10984
10984
  }
10985
10985
 
10986
- .st-identityMenu {
10987
- font-family: var(--st-font-sans);
10986
+ /* ── LollipopChart ── */
10987
+ .st-lollipopChart {
10988
+ color: var(--st-semantic-text-secondary);
10989
+ display: block;
10990
+ font-family: inherit;
10988
10991
  position: relative;
10992
+ width: 100%;
10989
10993
  }
10990
10994
 
10991
- .st-identityMenu--accordion {
10992
- width: 100%;
10995
+ .st-lollipopChart svg {
10996
+ display: block;
10997
+ overflow: visible;
10993
10998
  }
10994
10999
 
10995
- .st-identityMenu__trigger {
10996
- align-items: center;
10997
- background: transparent;
10998
- border: 0;
10999
- border-radius: var(--st-radius-sm, 0.375rem);
11000
- color: var(--st-semantic-text-primary);
11001
- cursor: pointer;
11002
- display: inline-flex;
11003
- font: inherit;
11004
- font-family: var(--st-font-sans);
11005
- font-size: 0.875rem;
11006
- font-weight: 500;
11007
- gap: var(--st-spacing-2, 0.5rem);
11008
- padding: var(--st-spacing-1, 0.25rem) var(--st-spacing-3, 0.75rem);
11000
+ .st-lollipopChart__visual {
11001
+ display: block;
11009
11002
  }
11010
11003
 
11011
- .st-identityMenu--accordion .st-identityMenu__trigger {
11012
- padding: var(--st-spacing-2, 0.5rem) var(--st-spacing-3, 0.75rem);
11013
- width: 100%;
11004
+ .st-lollipopChart__grid {
11005
+ stroke: var(--st-component-lollipopChart-gridStroke, var(--st-semantic-border-subtle));
11006
+ stroke-dasharray: 2 3;
11007
+ stroke-width: 1;
11008
+ opacity: 0.7;
11014
11009
  }
11015
11010
 
11016
- .st-identityMenu__trigger:hover {
11017
- background: var(--st-semantic-surface-subtle);
11011
+ .st-lollipopChart__axis {
11012
+ stroke: var(--st-component-lollipopChart-axisStroke, var(--st-semantic-border-subtle));
11013
+ stroke-width: 1;
11018
11014
  }
11019
11015
 
11020
- .st-identityMenu__trigger:focus-visible {
11021
- box-shadow: 0 0 0 2px var(--st-semantic-border-interactive);
11022
- outline: none;
11016
+ .st-lollipopChart__tickLabel,
11017
+ .st-lollipopChart__categoryLabel {
11018
+ fill: var(--st-component-lollipopChart-labelColor, var(--st-semantic-text-secondary));
11019
+ font-size: 0.6875rem;
11023
11020
  }
11024
11021
 
11025
- .st-identityMenu__avatar {
11026
- align-items: center;
11027
- background: var(--st-semantic-action-primary);
11028
- border-radius: var(--st-radius-pill, 9999px);
11029
- color: var(--st-semantic-action-primaryText);
11030
- display: inline-flex;
11031
- flex: 0 0 auto;
11032
- font-weight: 500;
11033
- height: 2rem;
11034
- justify-content: center;
11035
- width: 2rem;
11022
+ .st-lollipopChart__valueLabel {
11023
+ font-size: 0.625rem;
11024
+ font-weight: 600;
11036
11025
  }
11037
11026
 
11038
- .st-identityMenu__meta {
11039
- display: grid;
11040
- gap: 0.05rem;
11041
- min-width: 0;
11042
- text-align: left;
11027
+ .st-lollipopChart__stem {
11028
+ stroke: var(--st-semantic-border-interactive, var(--st-semantic-border-subtle));
11029
+ stroke-width: 1.5;
11043
11030
  }
11044
11031
 
11045
- .st-identityMenu--accordion .st-identityMenu__meta {
11046
- flex: 1 1 auto;
11032
+ .st-lollipopChart__dot {
11033
+ cursor: pointer;
11034
+ transition: opacity var(--st-motion-fast, 120ms) var(--st-motion-easing, ease);
11047
11035
  }
11048
11036
 
11049
- .st-identityMenu__name {
11050
- color: var(--st-semantic-text-primary);
11051
- overflow: hidden;
11052
- text-overflow: ellipsis;
11053
- white-space: nowrap;
11037
+ .st-lollipopChart__dot:hover {
11038
+ opacity: 0.82;
11054
11039
  }
11055
11040
 
11056
- .st-identityMenu__email {
11057
- color: var(--st-semantic-text-secondary);
11041
+ .st-lollipopChart__dot--category1 { fill: var(--st-semantic-data-category1); }
11042
+ .st-lollipopChart__dot--category2 { fill: var(--st-semantic-data-category2); }
11043
+ .st-lollipopChart__dot--category3 { fill: var(--st-semantic-data-category3); }
11044
+ .st-lollipopChart__dot--category4 { fill: var(--st-semantic-data-category4); }
11045
+ .st-lollipopChart__dot--category5 { fill: var(--st-semantic-data-category5); }
11046
+ .st-lollipopChart__dot--category6 { fill: var(--st-semantic-data-category6); }
11047
+ .st-lollipopChart__dot--category7 { fill: var(--st-semantic-data-category7); }
11048
+ .st-lollipopChart__dot--category8 { fill: var(--st-semantic-data-category8); }
11049
+
11050
+ .st-lollipopChart__tooltip {
11051
+ background: var(--st-component-lollipopChart-tooltipBackground, var(--st-semantic-surface-inverse));
11052
+ border-radius: var(--st-radius-sm, 0.25rem);
11053
+ color: var(--st-component-lollipopChart-tooltipText, var(--st-semantic-text-inverse));
11054
+ display: inline-flex;
11055
+ flex-direction: column;
11058
11056
  font-size: 0.75rem;
11059
- overflow: hidden;
11060
- text-overflow: ellipsis;
11057
+ gap: 0.125rem;
11058
+ line-height: 1.2;
11059
+ padding: 0.375rem 0.5rem;
11060
+ pointer-events: none;
11061
+ position: absolute;
11062
+ transform: translate(-50%, calc(-100% - 8px));
11061
11063
  white-space: nowrap;
11064
+ z-index: 1;
11062
11065
  }
11063
11066
 
11064
- .st-identityMenu__chevron {
11065
- color: var(--st-semantic-text-secondary);
11066
- flex: 0 0 auto;
11067
- transition: transform var(--st-motion-fast, 120ms) var(--st-motion-easing, ease);
11067
+ .st-lollipopChart__tooltipLabel {
11068
+ font-weight: 600;
11068
11069
  }
11069
11070
 
11070
- .st-identityMenu__chevron--open {
11071
- transform: rotate(180deg);
11071
+ .st-lollipopChart__tooltipValue {
11072
+ opacity: 0.85;
11072
11073
  }
11073
11074
 
11074
- .st-identityMenu__menu {
11075
- background: var(--st-semantic-surface-raised);
11076
- border: 1px solid var(--st-semantic-border-subtle);
11077
- border-radius: var(--st-radius-md, 0.375rem);
11078
- box-shadow: var(--st-shadow-medium, 0 8px 24px rgb(15 23 42 / 0.12));
11079
- display: grid;
11080
- margin-top: var(--st-spacing-2, 0.5rem);
11081
- min-width: 12rem;
11082
- padding: var(--st-spacing-1, 0.25rem);
11083
- position: absolute;
11084
- right: 0;
11085
- top: 100%;
11086
- z-index: var(--st-zindex-overlay, 80);
11075
+ @media (prefers-reduced-motion: reduce) {
11076
+ .st-lollipopChart__dot {
11077
+ transition: none;
11078
+ }
11087
11079
  }
11088
11080
 
11089
- .st-identityMenu--accordion .st-identityMenu__menu {
11090
- box-shadow: none;
11091
- margin-top: var(--st-spacing-1, 0.25rem);
11092
- position: static;
11081
+ /* ── ParetoChart ── */
11082
+ .st-paretoChart {
11083
+ color: var(--st-semantic-text-secondary);
11084
+ display: block;
11085
+ font-family: inherit;
11086
+ position: relative;
11093
11087
  width: 100%;
11094
11088
  }
11095
11089
 
11096
- .st-identityMenu__item {
11090
+ .st-paretoChart svg {
11091
+ display: block;
11092
+ overflow: visible;
11093
+ }
11094
+
11095
+ .st-paretoChart__visual {
11096
+ display: block;
11097
+ }
11098
+
11099
+ .st-paretoChart__grid {
11100
+ stroke: var(--st-component-paretoChart-gridStroke, var(--st-semantic-border-subtle));
11101
+ stroke-dasharray: 2 3;
11102
+ stroke-width: 1;
11103
+ opacity: 0.7;
11104
+ }
11105
+
11106
+ .st-paretoChart__axis {
11107
+ stroke: var(--st-component-paretoChart-axisStroke, var(--st-semantic-border-subtle));
11108
+ stroke-width: 1;
11109
+ }
11110
+
11111
+ .st-paretoChart__tickLabel,
11112
+ .st-paretoChart__categoryLabel,
11113
+ .st-paretoChart__percentLabel {
11114
+ fill: var(--st-component-paretoChart-labelColor, var(--st-semantic-text-secondary));
11115
+ font-size: 0.6875rem;
11116
+ }
11117
+
11118
+ .st-paretoChart__bar {
11119
+ cursor: pointer;
11120
+ transition: opacity var(--st-motion-fast, 120ms) var(--st-motion-easing, ease);
11121
+ }
11122
+
11123
+ .st-paretoChart__bar:hover {
11124
+ opacity: 0.82;
11125
+ }
11126
+
11127
+ .st-paretoChart__bar--category1 { fill: var(--st-semantic-data-category1); }
11128
+ .st-paretoChart__bar--category2 { fill: var(--st-semantic-data-category2); }
11129
+ .st-paretoChart__bar--category3 { fill: var(--st-semantic-data-category3); }
11130
+ .st-paretoChart__bar--category4 { fill: var(--st-semantic-data-category4); }
11131
+ .st-paretoChart__bar--category5 { fill: var(--st-semantic-data-category5); }
11132
+ .st-paretoChart__bar--category6 { fill: var(--st-semantic-data-category6); }
11133
+ .st-paretoChart__bar--category7 { fill: var(--st-semantic-data-category7); }
11134
+ .st-paretoChart__bar--category8 { fill: var(--st-semantic-data-category8); }
11135
+
11136
+ .st-paretoChart__cumLine {
11137
+ stroke: var(--st-semantic-action-primary, var(--st-semantic-border-interactive));
11138
+ stroke-width: 2;
11139
+ }
11140
+
11141
+ .st-paretoChart__cumDot {
11142
+ cursor: pointer;
11143
+ fill: var(--st-semantic-action-primary, var(--st-semantic-border-interactive));
11144
+ transition: opacity var(--st-motion-fast, 120ms) var(--st-motion-easing, ease);
11145
+ }
11146
+
11147
+ .st-paretoChart__cumDot:hover {
11148
+ opacity: 0.82;
11149
+ }
11150
+
11151
+ .st-paretoChart__tooltip {
11152
+ background: var(--st-component-paretoChart-tooltipBackground, var(--st-semantic-surface-inverse));
11153
+ border-radius: var(--st-radius-sm, 0.25rem);
11154
+ color: var(--st-component-paretoChart-tooltipText, var(--st-semantic-text-inverse));
11155
+ display: inline-flex;
11156
+ flex-direction: column;
11157
+ font-size: 0.75rem;
11158
+ gap: 0.125rem;
11159
+ line-height: 1.2;
11160
+ padding: 0.375rem 0.5rem;
11161
+ pointer-events: none;
11162
+ position: absolute;
11163
+ transform: translate(-50%, calc(-100% - 8px));
11164
+ white-space: nowrap;
11165
+ z-index: 1;
11166
+ }
11167
+
11168
+ .st-paretoChart__tooltipLabel {
11169
+ font-weight: 600;
11170
+ }
11171
+
11172
+ .st-paretoChart__tooltipValue {
11173
+ opacity: 0.85;
11174
+ }
11175
+
11176
+ @media (prefers-reduced-motion: reduce) {
11177
+ .st-paretoChart__bar,
11178
+ .st-paretoChart__cumDot {
11179
+ transition: none;
11180
+ }
11181
+ }
11182
+
11183
+ /* --- Shell : AppHeader / LanguageToggle / IdentityMenu (calque sentropic) --- */
11184
+ .st-appHeader {
11185
+ background: var(--st-semantic-surface-default);
11186
+ border-bottom: 1px solid var(--st-semantic-border-subtle);
11187
+ color: var(--st-semantic-text-primary);
11188
+ font-family: var(--st-font-sans);
11189
+ width: 100%;
11190
+ }
11191
+
11192
+ .st-appHeader__bar {
11193
+ align-items: center;
11194
+ display: flex;
11195
+ gap: var(--st-spacing-4, 1rem);
11196
+ height: 3.5rem;
11197
+ justify-content: space-between;
11198
+ margin: 0 auto;
11199
+ max-width: 80rem;
11200
+ padding: 0 var(--st-spacing-4, 1rem);
11201
+ width: 100%;
11202
+ }
11203
+
11204
+ .st-appHeader__nav {
11205
+ align-items: center;
11206
+ display: flex;
11207
+ flex: 1 1 auto;
11208
+ flex-wrap: wrap;
11209
+ font-size: 0.875rem;
11210
+ font-weight: 500;
11211
+ gap: var(--st-spacing-4, 1rem);
11212
+ min-width: 0;
11213
+ }
11214
+
11215
+ .st-appHeader__burger {
11216
+ align-items: center;
11217
+ display: flex;
11218
+ flex: 1 1 auto;
11219
+ justify-content: flex-end;
11220
+ }
11221
+
11222
+ .st-appHeader__burgerButton {
11223
+ align-items: center;
11097
11224
  background: transparent;
11098
11225
  border: 0;
11099
11226
  border-radius: var(--st-radius-sm, 0.375rem);
11100
11227
  color: var(--st-semantic-text-primary);
11101
11228
  cursor: pointer;
11102
- display: block;
11103
- font: inherit;
11104
- font-family: var(--st-font-sans);
11105
- font-size: 0.875rem;
11106
- font-weight: 500;
11107
- padding: var(--st-spacing-2, 0.5rem) var(--st-spacing-3, 0.75rem);
11108
- text-align: left;
11109
- text-decoration: none;
11110
- width: 100%;
11229
+ display: inline-flex;
11230
+ justify-content: center;
11231
+ padding: var(--st-spacing-2, 0.5rem);
11111
11232
  }
11112
11233
 
11113
- .st-identityMenu__item:hover {
11234
+ .st-appHeader__burgerButton:hover {
11114
11235
  background: var(--st-semantic-surface-subtle);
11115
11236
  }
11116
11237
 
11117
- .st-identityMenu__item:focus-visible {
11238
+ .st-appHeader__burgerButton:focus-visible {
11118
11239
  box-shadow: 0 0 0 2px var(--st-semantic-border-interactive);
11119
11240
  outline: none;
11120
11241
  }
11121
11242
 
11122
- .st-identityMenu__item--danger {
11123
- color: var(--st-semantic-action-danger);
11243
+ .st-appHeader__burgerIcon {
11244
+ display: block;
11124
11245
  }
11125
11246
 
11126
- .st-identityMenu__divider {
11127
- background: var(--st-semantic-border-subtle);
11128
- height: 1px;
11129
- margin: var(--st-spacing-1, 0.25rem) 0;
11247
+ .st-appHeader__logo {
11248
+ align-items: center;
11249
+ display: inline-flex;
11250
+ flex: 0 0 auto;
11130
11251
  }
11131
11252
 
11132
- .st-identityMenu__login {
11133
- background: var(--st-semantic-action-primary);
11253
+ .st-appHeader__actions {
11254
+ align-items: center;
11255
+ display: flex;
11256
+ flex: 0 0 auto;
11257
+ gap: var(--st-spacing-3, 0.75rem);
11258
+ }
11259
+
11260
+ .st-appHeader__scrim {
11261
+ background: transparent;
11134
11262
  border: 0;
11263
+ cursor: default;
11264
+ inset: 0;
11265
+ padding: 0;
11266
+ position: fixed;
11267
+ z-index: var(--st-zindex-overlay, 80);
11268
+ }
11269
+
11270
+ .st-appHeader__drawer {
11271
+ background: var(--st-semantic-surface-default);
11272
+ border: 1px solid var(--st-semantic-border-subtle);
11273
+ box-shadow: var(--st-shadow-medium, 0 8px 24px rgb(15 23 42 / 0.12));
11274
+ left: 0;
11275
+ max-height: 100vh;
11276
+ overflow-y: auto;
11277
+ position: fixed;
11278
+ top: 0;
11279
+ width: min(22rem, 85vw);
11280
+ z-index: calc(var(--st-zindex-overlay, 80) + 10);
11281
+ }
11282
+
11283
+ .st-languageToggle {
11284
+ width: 100%;
11285
+ }
11286
+
11287
+ .st-languageToggle__select {
11288
+ background: var(--st-semantic-surface-default);
11289
+ border: 1px solid var(--st-semantic-border-subtle);
11135
11290
  border-radius: var(--st-radius-md, 0.375rem);
11136
- color: var(--st-semantic-action-primaryText);
11291
+ color: var(--st-semantic-text-primary);
11137
11292
  cursor: pointer;
11138
11293
  font: inherit;
11139
11294
  font-family: var(--st-font-sans);
11140
11295
  font-size: 0.875rem;
11141
- padding: var(--st-spacing-1, 0.25rem) var(--st-spacing-3, 0.75rem);
11296
+ padding: var(--st-spacing-1, 0.25rem) var(--st-spacing-2, 0.5rem);
11142
11297
  }
11143
11298
 
11144
- .st-identityMenu__login--accordion {
11145
- display: block;
11299
+ .st-languageToggle__select:focus-visible {
11300
+ border-color: var(--st-semantic-border-interactive);
11301
+ box-shadow: 0 0 0 2px var(--st-semantic-border-interactive);
11302
+ outline: none;
11303
+ }
11304
+
11305
+ .st-languageToggle__accordionTrigger {
11306
+ align-items: center;
11307
+ background: transparent;
11308
+ border: 0;
11309
+ border-radius: var(--st-radius-sm, 0.375rem);
11310
+ color: var(--st-semantic-text-primary);
11311
+ cursor: pointer;
11312
+ display: flex;
11313
+ font: inherit;
11314
+ font-family: var(--st-font-sans);
11315
+ font-size: 0.875rem;
11316
+ font-weight: 500;
11317
+ justify-content: space-between;
11146
11318
  padding: var(--st-spacing-2, 0.5rem) var(--st-spacing-3, 0.75rem);
11147
- text-align: center;
11148
11319
  width: 100%;
11149
11320
  }
11150
11321
 
11151
- .st-identityMenu__login:hover {
11152
- background: var(--st-semantic-action-primaryHover);
11322
+ .st-languageToggle__accordionTrigger:hover {
11323
+ background: var(--st-semantic-surface-subtle);
11153
11324
  }
11154
11325
 
11155
- .st-identityMenu__login:focus-visible {
11326
+ .st-languageToggle__accordionTrigger:focus-visible {
11156
11327
  box-shadow: 0 0 0 2px var(--st-semantic-border-interactive);
11157
11328
  outline: none;
11158
11329
  }
11159
11330
 
11160
- /* StepLineChart */
11161
- .st-stepLineChart {
11162
- color: var(--st-semantic-data-category1);
11163
- display: block;
11164
- font-family: inherit;
11165
- position: relative;
11166
- width: 100%;
11167
- }
11168
-
11331
+ .st-languageToggle__chevron {
11332
+ color: var(--st-semantic-text-secondary);
11333
+ transition: transform var(--st-motion-fast, 120ms) var(--st-motion-easing, ease);
11334
+ }
11335
+
11336
+ .st-languageToggle__chevron--open {
11337
+ transform: rotate(180deg);
11338
+ }
11339
+
11340
+ .st-languageToggle__accordionPanel {
11341
+ display: grid;
11342
+ gap: var(--st-spacing-1, 0.25rem);
11343
+ padding: var(--st-spacing-1, 0.25rem) var(--st-spacing-3, 0.75rem) var(--st-spacing-2, 0.5rem);
11344
+ }
11345
+
11346
+ .st-languageToggle__option {
11347
+ background: transparent;
11348
+ border: 0;
11349
+ border-radius: var(--st-radius-sm, 0.375rem);
11350
+ color: var(--st-semantic-text-secondary);
11351
+ cursor: pointer;
11352
+ font: inherit;
11353
+ font-family: var(--st-font-sans);
11354
+ font-size: 0.875rem;
11355
+ font-weight: 500;
11356
+ padding: var(--st-spacing-2, 0.5rem) var(--st-spacing-3, 0.75rem);
11357
+ text-align: left;
11358
+ width: 100%;
11359
+ }
11360
+
11361
+ .st-languageToggle__option:hover {
11362
+ background: var(--st-semantic-surface-subtle);
11363
+ color: var(--st-semantic-text-primary);
11364
+ }
11365
+
11366
+ .st-languageToggle__option--active {
11367
+ background: var(--st-semantic-surface-subtle);
11368
+ color: var(--st-semantic-text-primary);
11369
+ }
11370
+
11371
+ .st-languageToggle__option:focus-visible {
11372
+ box-shadow: 0 0 0 2px var(--st-semantic-border-interactive);
11373
+ outline: none;
11374
+ }
11375
+
11376
+ .st-identityMenu {
11377
+ font-family: var(--st-font-sans);
11378
+ position: relative;
11379
+ }
11380
+
11381
+ .st-identityMenu--accordion {
11382
+ width: 100%;
11383
+ }
11384
+
11385
+ .st-identityMenu__trigger {
11386
+ align-items: center;
11387
+ background: transparent;
11388
+ border: 0;
11389
+ border-radius: var(--st-radius-sm, 0.375rem);
11390
+ color: var(--st-semantic-text-primary);
11391
+ cursor: pointer;
11392
+ display: inline-flex;
11393
+ font: inherit;
11394
+ font-family: var(--st-font-sans);
11395
+ font-size: 0.875rem;
11396
+ font-weight: 500;
11397
+ gap: var(--st-spacing-2, 0.5rem);
11398
+ padding: var(--st-spacing-1, 0.25rem) var(--st-spacing-3, 0.75rem);
11399
+ }
11400
+
11401
+ .st-identityMenu--accordion .st-identityMenu__trigger {
11402
+ padding: var(--st-spacing-2, 0.5rem) var(--st-spacing-3, 0.75rem);
11403
+ width: 100%;
11404
+ }
11405
+
11406
+ .st-identityMenu__trigger:hover {
11407
+ background: var(--st-semantic-surface-subtle);
11408
+ }
11409
+
11410
+ .st-identityMenu__trigger:focus-visible {
11411
+ box-shadow: 0 0 0 2px var(--st-semantic-border-interactive);
11412
+ outline: none;
11413
+ }
11414
+
11415
+ .st-identityMenu__avatar {
11416
+ align-items: center;
11417
+ background: var(--st-semantic-action-primary);
11418
+ border-radius: var(--st-radius-pill, 9999px);
11419
+ color: var(--st-semantic-action-primaryText);
11420
+ display: inline-flex;
11421
+ flex: 0 0 auto;
11422
+ font-weight: 500;
11423
+ height: 2rem;
11424
+ justify-content: center;
11425
+ width: 2rem;
11426
+ }
11427
+
11428
+ .st-identityMenu__meta {
11429
+ display: grid;
11430
+ gap: 0.05rem;
11431
+ min-width: 0;
11432
+ text-align: left;
11433
+ }
11434
+
11435
+ .st-identityMenu--accordion .st-identityMenu__meta {
11436
+ flex: 1 1 auto;
11437
+ }
11438
+
11439
+ .st-identityMenu__name {
11440
+ color: var(--st-semantic-text-primary);
11441
+ overflow: hidden;
11442
+ text-overflow: ellipsis;
11443
+ white-space: nowrap;
11444
+ }
11445
+
11446
+ .st-identityMenu__email {
11447
+ color: var(--st-semantic-text-secondary);
11448
+ font-size: 0.75rem;
11449
+ overflow: hidden;
11450
+ text-overflow: ellipsis;
11451
+ white-space: nowrap;
11452
+ }
11453
+
11454
+ .st-identityMenu__chevron {
11455
+ color: var(--st-semantic-text-secondary);
11456
+ flex: 0 0 auto;
11457
+ transition: transform var(--st-motion-fast, 120ms) var(--st-motion-easing, ease);
11458
+ }
11459
+
11460
+ .st-identityMenu__chevron--open {
11461
+ transform: rotate(180deg);
11462
+ }
11463
+
11464
+ .st-identityMenu__menu {
11465
+ background: var(--st-semantic-surface-raised);
11466
+ border: 1px solid var(--st-semantic-border-subtle);
11467
+ border-radius: var(--st-radius-md, 0.375rem);
11468
+ box-shadow: var(--st-shadow-medium, 0 8px 24px rgb(15 23 42 / 0.12));
11469
+ display: grid;
11470
+ margin-top: var(--st-spacing-2, 0.5rem);
11471
+ min-width: 12rem;
11472
+ padding: var(--st-spacing-1, 0.25rem);
11473
+ position: absolute;
11474
+ right: 0;
11475
+ top: 100%;
11476
+ z-index: var(--st-zindex-overlay, 80);
11477
+ }
11478
+
11479
+ .st-identityMenu--accordion .st-identityMenu__menu {
11480
+ box-shadow: none;
11481
+ margin-top: var(--st-spacing-1, 0.25rem);
11482
+ position: static;
11483
+ width: 100%;
11484
+ }
11485
+
11486
+ .st-identityMenu__item {
11487
+ background: transparent;
11488
+ border: 0;
11489
+ border-radius: var(--st-radius-sm, 0.375rem);
11490
+ color: var(--st-semantic-text-primary);
11491
+ cursor: pointer;
11492
+ display: block;
11493
+ font: inherit;
11494
+ font-family: var(--st-font-sans);
11495
+ font-size: 0.875rem;
11496
+ font-weight: 500;
11497
+ padding: var(--st-spacing-2, 0.5rem) var(--st-spacing-3, 0.75rem);
11498
+ text-align: left;
11499
+ text-decoration: none;
11500
+ width: 100%;
11501
+ }
11502
+
11503
+ .st-identityMenu__item:hover {
11504
+ background: var(--st-semantic-surface-subtle);
11505
+ }
11506
+
11507
+ .st-identityMenu__item:focus-visible {
11508
+ box-shadow: 0 0 0 2px var(--st-semantic-border-interactive);
11509
+ outline: none;
11510
+ }
11511
+
11512
+ .st-identityMenu__item--danger {
11513
+ color: var(--st-semantic-action-danger);
11514
+ }
11515
+
11516
+ .st-identityMenu__divider {
11517
+ background: var(--st-semantic-border-subtle);
11518
+ height: 1px;
11519
+ margin: var(--st-spacing-1, 0.25rem) 0;
11520
+ }
11521
+
11522
+ .st-identityMenu__login {
11523
+ background: var(--st-semantic-action-primary);
11524
+ border: 0;
11525
+ border-radius: var(--st-radius-md, 0.375rem);
11526
+ color: var(--st-semantic-action-primaryText);
11527
+ cursor: pointer;
11528
+ font: inherit;
11529
+ font-family: var(--st-font-sans);
11530
+ font-size: 0.875rem;
11531
+ padding: var(--st-spacing-1, 0.25rem) var(--st-spacing-3, 0.75rem);
11532
+ }
11533
+
11534
+ .st-identityMenu__login--accordion {
11535
+ display: block;
11536
+ padding: var(--st-spacing-2, 0.5rem) var(--st-spacing-3, 0.75rem);
11537
+ text-align: center;
11538
+ width: 100%;
11539
+ }
11540
+
11541
+ .st-identityMenu__login:hover {
11542
+ background: var(--st-semantic-action-primaryHover);
11543
+ }
11544
+
11545
+ .st-identityMenu__login:focus-visible {
11546
+ box-shadow: 0 0 0 2px var(--st-semantic-border-interactive);
11547
+ outline: none;
11548
+ }
11549
+
11550
+ /* StepLineChart */
11551
+ .st-stepLineChart {
11552
+ color: var(--st-semantic-data-category1);
11553
+ display: block;
11554
+ font-family: inherit;
11555
+ position: relative;
11556
+ width: 100%;
11557
+ }
11558
+
11169
11559
  .st-stepLineChart--category1 { color: var(--st-semantic-data-category1); }
11170
11560
  .st-stepLineChart--category2 { color: var(--st-semantic-data-category2); }
11171
11561
  .st-stepLineChart--category3 { color: var(--st-semantic-data-category3); }
@@ -11240,146 +11630,1715 @@
11240
11630
  z-index: 1;
11241
11631
  }
11242
11632
 
11243
- .st-stepLineChart__tooltipLabel {
11244
- font-weight: 600;
11245
- }
11633
+ .st-stepLineChart__tooltipLabel {
11634
+ font-weight: 600;
11635
+ }
11636
+
11637
+ .st-stepLineChart__tooltipValue {
11638
+ opacity: 0.85;
11639
+ }
11640
+
11641
+ @media (prefers-reduced-motion: reduce) {
11642
+ .st-stepLineChart__dot {
11643
+ transition: none;
11644
+ }
11645
+ }
11646
+
11647
+
11648
+ /* DivergentBarChart */
11649
+ .st-divergentBarChart {
11650
+ color: var(--st-component-divergentBarChart-labelColor, var(--st-semantic-text-secondary));
11651
+ display: block;
11652
+ font-family: inherit;
11653
+ position: relative;
11654
+ width: 100%;
11655
+ }
11656
+
11657
+ .st-divergentBarChart svg,
11658
+ .st-divergentBarChart__visual {
11659
+ display: block;
11660
+ overflow: visible;
11661
+ }
11662
+
11663
+ .st-divergentBarChart__grid {
11664
+ stroke: var(--st-component-divergentBarChart-gridStroke, var(--st-semantic-border-subtle));
11665
+ stroke-dasharray: 2 3;
11666
+ stroke-width: 1;
11667
+ opacity: 0.7;
11668
+ }
11669
+
11670
+ .st-divergentBarChart__axis {
11671
+ stroke: var(--st-component-divergentBarChart-axisStroke, var(--st-semantic-border-subtle));
11672
+ stroke-width: 1;
11673
+ }
11674
+
11675
+ .st-divergentBarChart__zeroAxis {
11676
+ stroke: var(--st-component-divergentBarChart-zeroStroke, var(--st-semantic-border-strong));
11677
+ stroke-width: 1.5;
11678
+ }
11679
+
11680
+ .st-divergentBarChart__tickLabel,
11681
+ .st-divergentBarChart__categoryLabel {
11682
+ fill: var(--st-component-divergentBarChart-labelColor, var(--st-semantic-text-secondary));
11683
+ font-size: 0.6875rem;
11684
+ }
11685
+
11686
+ .st-divergentBarChart__bar {
11687
+ cursor: pointer;
11688
+ transition: opacity var(--st-motion-fast, 120ms) var(--st-motion-easing, ease);
11689
+ }
11690
+
11691
+ .st-divergentBarChart__bar--positive {
11692
+ fill: var(--st-component-divergentBarChart-positiveFill, var(--st-semantic-data-category5));
11693
+ }
11694
+
11695
+ .st-divergentBarChart__bar--negative {
11696
+ fill: var(--st-component-divergentBarChart-negativeFill, var(--st-semantic-data-category3));
11697
+ }
11698
+
11699
+ .st-divergentBarChart__bar--neutral,
11700
+ .st-divergentBarChart__bar--zero {
11701
+ fill: var(--st-component-divergentBarChart-neutralFill, var(--st-semantic-data-category6));
11702
+ }
11703
+
11704
+ .st-divergentBarChart__tooltip {
11705
+ background: var(--st-component-divergentBarChart-tooltipBackground, var(--st-semantic-surface-inverse));
11706
+ border-radius: var(--st-radius-sm, 0.25rem);
11707
+ color: var(--st-component-divergentBarChart-tooltipText, var(--st-semantic-text-inverse));
11708
+ display: inline-flex;
11709
+ flex-direction: column;
11710
+ font-size: 0.75rem;
11711
+ gap: 0.125rem;
11712
+ line-height: 1.2;
11713
+ padding: 0.375rem 0.5rem;
11714
+ pointer-events: none;
11715
+ position: absolute;
11716
+ transform: translate(-50%, calc(-100% - 8px));
11717
+ white-space: nowrap;
11718
+ z-index: 1;
11719
+ }
11720
+
11721
+ .st-divergentBarChart__tooltipLabel {
11722
+ font-weight: 600;
11723
+ }
11724
+
11725
+ .st-divergentBarChart__tooltipValue {
11726
+ opacity: 0.85;
11727
+ }
11728
+
11729
+ .st-divergentBarChart__legend {
11730
+ display: flex;
11731
+ flex-wrap: wrap;
11732
+ gap: var(--st-spacing-3, 0.75rem);
11733
+ list-style: none;
11734
+ margin: var(--st-spacing-2, 0.5rem) 0 0;
11735
+ padding: 0;
11736
+ }
11737
+
11738
+ .st-divergentBarChart__legendItem {
11739
+ align-items: center;
11740
+ color: var(--st-semantic-text-secondary);
11741
+ display: inline-flex;
11742
+ font-size: 0.75rem;
11743
+ gap: var(--st-spacing-1, 0.25rem);
11744
+ }
11745
+
11746
+ .st-divergentBarChart__legendSwatch {
11747
+ border-radius: 2px;
11748
+ height: 0.7rem;
11749
+ width: 0.7rem;
11750
+ }
11751
+
11752
+ .st-divergentBarChart__legendSwatch--positive {
11753
+ background: var(--st-component-divergentBarChart-positiveFill, var(--st-semantic-data-category5));
11754
+ }
11755
+
11756
+ .st-divergentBarChart__legendSwatch--negative {
11757
+ background: var(--st-component-divergentBarChart-negativeFill, var(--st-semantic-data-category3));
11758
+ }
11759
+
11760
+ .st-divergentBarChart__legendSwatch--neutral {
11761
+ background: var(--st-component-divergentBarChart-neutralFill, var(--st-semantic-data-category6));
11762
+ }
11763
+
11764
+ @media (prefers-reduced-motion: reduce) {
11765
+ .st-divergentBarChart__bar {
11766
+ transition: none;
11767
+ }
11768
+ }
11769
+
11770
+
11771
+ /* ── ChordDiagram ── */
11772
+ .st-chordDiagram {
11773
+ color: var(--st-semantic-text-secondary);
11774
+ display: block;
11775
+ font-family: inherit;
11776
+ max-width: 100%;
11777
+ position: relative;
11778
+ width: 100%;
11779
+ }
11780
+
11781
+ .st-chordDiagram svg,
11782
+ .st-chordDiagram__visual {
11783
+ display: block;
11784
+ overflow: visible;
11785
+ }
11786
+
11787
+ .st-chordDiagram__ribbon {
11788
+ cursor: pointer;
11789
+ fill-opacity: 0.4;
11790
+ stroke-opacity: 0.55;
11791
+ transition: opacity 120ms ease;
11792
+ }
11793
+
11794
+ .st-chordDiagram__ribbon:hover {
11795
+ fill-opacity: 0.62;
11796
+ }
11797
+
11798
+ .st-chordDiagram__ribbon--dim {
11799
+ opacity: 0.18;
11800
+ }
11801
+
11802
+ @media (prefers-reduced-motion: reduce) {
11803
+ .st-chordDiagram__ribbon {
11804
+ transition: none;
11805
+ }
11806
+ }
11807
+
11808
+ .st-chordDiagram__arc {
11809
+ stroke: var(--st-semantic-surface-default, Canvas);
11810
+ stroke-width: 1;
11811
+ }
11812
+
11813
+ .st-chordDiagram__arc--category1,
11814
+ .st-chordDiagram__ribbon--category1 { fill: var(--st-semantic-data-category1); stroke: var(--st-semantic-data-category1); }
11815
+ .st-chordDiagram__arc--category2,
11816
+ .st-chordDiagram__ribbon--category2 { fill: var(--st-semantic-data-category2); stroke: var(--st-semantic-data-category2); }
11817
+ .st-chordDiagram__arc--category3,
11818
+ .st-chordDiagram__ribbon--category3 { fill: var(--st-semantic-data-category3); stroke: var(--st-semantic-data-category3); }
11819
+ .st-chordDiagram__arc--category4,
11820
+ .st-chordDiagram__ribbon--category4 { fill: var(--st-semantic-data-category4); stroke: var(--st-semantic-data-category4); }
11821
+ .st-chordDiagram__arc--category5,
11822
+ .st-chordDiagram__ribbon--category5 { fill: var(--st-semantic-data-category5); stroke: var(--st-semantic-data-category5); }
11823
+ .st-chordDiagram__arc--category6,
11824
+ .st-chordDiagram__ribbon--category6 { fill: var(--st-semantic-data-category6); stroke: var(--st-semantic-data-category6); }
11825
+ .st-chordDiagram__arc--category7,
11826
+ .st-chordDiagram__ribbon--category7 { fill: var(--st-semantic-data-category7); stroke: var(--st-semantic-data-category7); }
11827
+ .st-chordDiagram__arc--category8,
11828
+ .st-chordDiagram__ribbon--category8 { fill: var(--st-semantic-data-category8); stroke: var(--st-semantic-data-category8); }
11829
+
11830
+ .st-chordDiagram__arcLabel {
11831
+ /* fill calculé par contrastTextForTone() en inline */
11832
+ font-size: 0.7rem;
11833
+ font-weight: 600;
11834
+ pointer-events: none;
11835
+ }
11836
+
11837
+ .st-chordDiagram__tooltip {
11838
+ background: var(--st-semantic-surface-inverse);
11839
+ border-radius: var(--st-radius-sm, 0.25rem);
11840
+ color: var(--st-semantic-text-inverse);
11841
+ display: inline-flex;
11842
+ flex-direction: column;
11843
+ font-size: 0.75rem;
11844
+ gap: 0.125rem;
11845
+ line-height: 1.2;
11846
+ padding: 0.375rem 0.5rem;
11847
+ pointer-events: none;
11848
+ position: absolute;
11849
+ transform: translate(-50%, -115%);
11850
+ white-space: nowrap;
11851
+ z-index: 1;
11852
+ }
11853
+
11854
+ .st-chordDiagram__tooltipLabel { font-weight: 600; }
11855
+ .st-chordDiagram__tooltipValue { opacity: 0.85; }
11856
+
11857
+ /* ── DependencyWheelChart ── */
11858
+ .st-dependencyWheelChart {
11859
+ color: var(--st-semantic-text-secondary);
11860
+ display: block;
11861
+ font-family: inherit;
11862
+ max-width: 100%;
11863
+ position: relative;
11864
+ width: 100%;
11865
+ }
11866
+
11867
+ .st-dependencyWheelChart svg,
11868
+ .st-dependencyWheelChart__visual {
11869
+ display: block;
11870
+ overflow: visible;
11871
+ }
11872
+
11873
+ .st-dependencyWheelChart__visual {
11874
+ position: relative;
11875
+ }
11876
+
11877
+ .st-dependencyWheelChart__legend {
11878
+ position: absolute;
11879
+ right: 0;
11880
+ top: 0;
11881
+ }
11882
+
11883
+ .st-dependencyWheelChart__ribbon {
11884
+ cursor: pointer;
11885
+ fill-opacity: 0.4;
11886
+ stroke-opacity: 0.55;
11887
+ transition: opacity 120ms ease;
11888
+ }
11889
+
11890
+ .st-dependencyWheelChart__ribbon:hover {
11891
+ fill-opacity: 0.62;
11892
+ }
11893
+
11894
+ .st-dependencyWheelChart__ribbon--dim {
11895
+ opacity: 0.18;
11896
+ }
11897
+
11898
+ @media (prefers-reduced-motion: reduce) {
11899
+ .st-dependencyWheelChart__ribbon {
11900
+ transition: none;
11901
+ }
11902
+ }
11903
+
11904
+ .st-dependencyWheelChart__arc {
11905
+ stroke: var(--st-semantic-surface-default, Canvas);
11906
+ stroke-width: 1;
11907
+ }
11908
+
11909
+ .st-dependencyWheelChart__arc--category1,
11910
+ .st-dependencyWheelChart__ribbon--category1 { fill: var(--st-semantic-data-category1); stroke: var(--st-semantic-data-category1); }
11911
+ .st-dependencyWheelChart__arc--category2,
11912
+ .st-dependencyWheelChart__ribbon--category2 { fill: var(--st-semantic-data-category2); stroke: var(--st-semantic-data-category2); }
11913
+ .st-dependencyWheelChart__arc--category3,
11914
+ .st-dependencyWheelChart__ribbon--category3 { fill: var(--st-semantic-data-category3); stroke: var(--st-semantic-data-category3); }
11915
+ .st-dependencyWheelChart__arc--category4,
11916
+ .st-dependencyWheelChart__ribbon--category4 { fill: var(--st-semantic-data-category4); stroke: var(--st-semantic-data-category4); }
11917
+ .st-dependencyWheelChart__arc--category5,
11918
+ .st-dependencyWheelChart__ribbon--category5 { fill: var(--st-semantic-data-category5); stroke: var(--st-semantic-data-category5); }
11919
+ .st-dependencyWheelChart__arc--category6,
11920
+ .st-dependencyWheelChart__ribbon--category6 { fill: var(--st-semantic-data-category6); stroke: var(--st-semantic-data-category6); }
11921
+ .st-dependencyWheelChart__arc--category7,
11922
+ .st-dependencyWheelChart__ribbon--category7 { fill: var(--st-semantic-data-category7); stroke: var(--st-semantic-data-category7); }
11923
+ .st-dependencyWheelChart__arc--category8,
11924
+ .st-dependencyWheelChart__ribbon--category8 { fill: var(--st-semantic-data-category8); stroke: var(--st-semantic-data-category8); }
11925
+
11926
+ .st-dependencyWheelChart__arcLabel {
11927
+ /* fill calculé par contrastTextForTone() en inline */
11928
+ font-size: 0.6rem;
11929
+ font-weight: 600;
11930
+ pointer-events: none;
11931
+ }
11932
+
11933
+ .st-dependencyWheelChart__tooltip {
11934
+ background: var(--st-semantic-surface-inverse);
11935
+ border-radius: var(--st-radius-sm, 0.25rem);
11936
+ color: var(--st-semantic-text-inverse);
11937
+ display: inline-flex;
11938
+ flex-direction: column;
11939
+ font-size: 0.75rem;
11940
+ gap: 0.125rem;
11941
+ line-height: 1.2;
11942
+ padding: 0.375rem 0.5rem;
11943
+ pointer-events: none;
11944
+ position: absolute;
11945
+ transform: translate(-50%, -115%);
11946
+ white-space: nowrap;
11947
+ z-index: 1;
11948
+ }
11949
+
11950
+ .st-dependencyWheelChart__tooltipLabel { font-weight: 600; }
11951
+ .st-dependencyWheelChart__tooltipValue { opacity: 0.85; }
11952
+
11953
+ .st-organizationChart {
11954
+ color: var(--st-semantic-text-secondary);
11955
+ display: block;
11956
+ font-family: inherit;
11957
+ position: relative;
11958
+ width: 100%;
11959
+ }
11960
+
11961
+ .st-organizationChart svg,
11962
+ .st-organizationChart__visual {
11963
+ display: block;
11964
+ overflow: visible;
11965
+ }
11966
+
11967
+ .st-organizationChart__link {
11968
+ stroke: var(--st-semantic-border-default);
11969
+ stroke-width: 1.5;
11970
+ }
11971
+
11972
+ .st-organizationChart__box {
11973
+ stroke: var(--st-semantic-surface-default);
11974
+ stroke-width: 1.5;
11975
+ }
11976
+
11977
+ .st-organizationChart__box--category1 { fill: var(--st-semantic-data-category1); }
11978
+ .st-organizationChart__box--category2 { fill: var(--st-semantic-data-category2); }
11979
+ .st-organizationChart__box--category3 { fill: var(--st-semantic-data-category3); }
11980
+ .st-organizationChart__box--category4 { fill: var(--st-semantic-data-category4); }
11981
+ .st-organizationChart__box--category5 { fill: var(--st-semantic-data-category5); }
11982
+ .st-organizationChart__box--category6 { fill: var(--st-semantic-data-category6); }
11983
+ .st-organizationChart__box--category7 { fill: var(--st-semantic-data-category7); }
11984
+ .st-organizationChart__box--category8 { fill: var(--st-semantic-data-category8); }
11985
+
11986
+ .st-organizationChart__label {
11987
+ fill: var(--st-semantic-text-inverse);
11988
+ font-weight: 600;
11989
+ pointer-events: none;
11990
+ }
11991
+
11992
+ /* ── GanttChart ── */
11993
+ .st-ganttChart {
11994
+ color: var(--st-semantic-text-secondary);
11995
+ display: block;
11996
+ font-family: inherit;
11997
+ position: relative;
11998
+ width: 100%;
11999
+ }
12000
+
12001
+ .st-ganttChart svg {
12002
+ display: block;
12003
+ overflow: visible;
12004
+ }
12005
+
12006
+ .st-ganttChart__visual {
12007
+ display: block;
12008
+ }
12009
+
12010
+ .st-ganttChart__axis {
12011
+ stroke: var(--st-semantic-border-subtle);
12012
+ stroke-width: 1;
12013
+ }
12014
+
12015
+ .st-ganttChart__grid {
12016
+ stroke: var(--st-semantic-border-subtle);
12017
+ stroke-dasharray: 2 3;
12018
+ stroke-width: 1;
12019
+ opacity: 0.7;
12020
+ }
12021
+
12022
+ .st-ganttChart__tickLabel,
12023
+ .st-ganttChart__taskLabel {
12024
+ fill: var(--st-semantic-text-secondary);
12025
+ font-size: 0.6875rem;
12026
+ }
12027
+
12028
+ .st-ganttChart__bar {
12029
+ cursor: pointer;
12030
+ transition: opacity 120ms ease;
12031
+ }
12032
+
12033
+ .st-ganttChart__bar--dim {
12034
+ opacity: 0.4;
12035
+ }
12036
+
12037
+ .st-ganttChart__bar--category1 { fill: var(--st-semantic-data-category1); }
12038
+ .st-ganttChart__bar--category2 { fill: var(--st-semantic-data-category2); }
12039
+ .st-ganttChart__bar--category3 { fill: var(--st-semantic-data-category3); }
12040
+ .st-ganttChart__bar--category4 { fill: var(--st-semantic-data-category4); }
12041
+ .st-ganttChart__bar--category5 { fill: var(--st-semantic-data-category5); }
12042
+ .st-ganttChart__bar--category6 { fill: var(--st-semantic-data-category6); }
12043
+ .st-ganttChart__bar--category7 { fill: var(--st-semantic-data-category7); }
12044
+ .st-ganttChart__bar--category8 { fill: var(--st-semantic-data-category8); }
12045
+
12046
+ .st-ganttChart__marker {
12047
+ stroke: var(--st-semantic-feedback-error);
12048
+ stroke-width: 1.5;
12049
+ stroke-dasharray: 4 3;
12050
+ }
12051
+
12052
+ .st-ganttChart__legend {
12053
+ display: flex;
12054
+ flex-wrap: wrap;
12055
+ gap: var(--st-spacing-3, 0.75rem);
12056
+ list-style: none;
12057
+ margin: var(--st-spacing-2, 0.5rem) 0 0 0;
12058
+ padding: 0;
12059
+ }
12060
+
12061
+ .st-ganttChart__legendItem {
12062
+ align-items: center;
12063
+ color: var(--st-semantic-text-secondary);
12064
+ display: inline-flex;
12065
+ font-size: 0.75rem;
12066
+ gap: var(--st-spacing-1, 0.25rem);
12067
+ line-height: 1;
12068
+ }
12069
+
12070
+ .st-ganttChart__legendSwatch {
12071
+ border-radius: var(--st-radius-sm, 0.25rem);
12072
+ display: inline-block;
12073
+ height: 0.625rem;
12074
+ width: 0.625rem;
12075
+ }
12076
+ .st-ganttChart__legendSwatch--category1 { background: var(--st-semantic-data-category1); }
12077
+ .st-ganttChart__legendSwatch--category2 { background: var(--st-semantic-data-category2); }
12078
+ .st-ganttChart__legendSwatch--category3 { background: var(--st-semantic-data-category3); }
12079
+ .st-ganttChart__legendSwatch--category4 { background: var(--st-semantic-data-category4); }
12080
+ .st-ganttChart__legendSwatch--category5 { background: var(--st-semantic-data-category5); }
12081
+ .st-ganttChart__legendSwatch--category6 { background: var(--st-semantic-data-category6); }
12082
+ .st-ganttChart__legendSwatch--category7 { background: var(--st-semantic-data-category7); }
12083
+ .st-ganttChart__legendSwatch--category8 { background: var(--st-semantic-data-category8); }
12084
+
12085
+ .st-ganttChart__tooltip {
12086
+ background: var(--st-semantic-surface-inverse);
12087
+ border-radius: var(--st-radius-sm, 0.25rem);
12088
+ color: var(--st-semantic-text-inverse);
12089
+ display: inline-flex;
12090
+ flex-direction: column;
12091
+ font-size: 0.75rem;
12092
+ gap: 0.125rem;
12093
+ line-height: 1.2;
12094
+ padding: 0.375rem 0.5rem;
12095
+ pointer-events: none;
12096
+ position: absolute;
12097
+ transform: translate(-50%, calc(-100% - 8px));
12098
+ white-space: nowrap;
12099
+ z-index: 1;
12100
+ }
12101
+
12102
+ .st-ganttChart__tooltipLabel {
12103
+ font-weight: 600;
12104
+ }
12105
+
12106
+ .st-ganttChart__tooltipValue {
12107
+ opacity: 0.85;
12108
+ }
12109
+
12110
+ @media (prefers-reduced-motion: reduce) {
12111
+ .st-ganttChart__bar {
12112
+ transition: none;
12113
+ }
12114
+ }
12115
+
12116
+ /* ── TimelineChart ── */
12117
+ .st-timelineChart {
12118
+ color: var(--st-semantic-text-secondary);
12119
+ display: block;
12120
+ font-family: inherit;
12121
+ position: relative;
12122
+ width: 100%;
12123
+ }
12124
+
12125
+ .st-timelineChart svg {
12126
+ display: block;
12127
+ overflow: visible;
12128
+ }
12129
+
12130
+ .st-timelineChart__visual {
12131
+ display: block;
12132
+ }
12133
+
12134
+ .st-timelineChart__axis {
12135
+ stroke: var(--st-semantic-border-strong);
12136
+ stroke-width: 2;
12137
+ }
12138
+
12139
+ .st-timelineChart__tick {
12140
+ stroke: var(--st-semantic-border-subtle);
12141
+ stroke-width: 1;
12142
+ }
12143
+
12144
+ .st-timelineChart__tickLabel {
12145
+ fill: var(--st-semantic-text-secondary);
12146
+ font-size: 0.6875rem;
12147
+ }
12148
+
12149
+ .st-timelineChart__connector {
12150
+ stroke: currentColor;
12151
+ stroke-width: 1.5;
12152
+ opacity: 0.6;
12153
+ }
12154
+
12155
+ .st-timelineChart__eventLabel {
12156
+ fill: var(--st-semantic-text-primary);
12157
+ font-size: 0.75rem;
12158
+ font-weight: 600;
12159
+ }
12160
+
12161
+ .st-timelineChart__marker {
12162
+ fill: currentColor;
12163
+ stroke: var(--st-semantic-surface-default);
12164
+ stroke-width: 2;
12165
+ cursor: pointer;
12166
+ transition: r 120ms ease;
12167
+ }
12168
+
12169
+ .st-timelineChart__marker:hover {
12170
+ r: 7.5;
12171
+ }
12172
+
12173
+ @media (prefers-reduced-motion: reduce) {
12174
+ .st-timelineChart__marker {
12175
+ transition: none;
12176
+ }
12177
+ }
12178
+
12179
+ .st-timelineChart__connector--category1,
12180
+ .st-timelineChart__marker--category1 { color: var(--st-semantic-data-category1); }
12181
+ .st-timelineChart__connector--category2,
12182
+ .st-timelineChart__marker--category2 { color: var(--st-semantic-data-category2); }
12183
+ .st-timelineChart__connector--category3,
12184
+ .st-timelineChart__marker--category3 { color: var(--st-semantic-data-category3); }
12185
+ .st-timelineChart__connector--category4,
12186
+ .st-timelineChart__marker--category4 { color: var(--st-semantic-data-category4); }
12187
+ .st-timelineChart__connector--category5,
12188
+ .st-timelineChart__marker--category5 { color: var(--st-semantic-data-category5); }
12189
+ .st-timelineChart__connector--category6,
12190
+ .st-timelineChart__marker--category6 { color: var(--st-semantic-data-category6); }
12191
+ .st-timelineChart__connector--category7,
12192
+ .st-timelineChart__marker--category7 { color: var(--st-semantic-data-category7); }
12193
+ .st-timelineChart__connector--category8,
12194
+ .st-timelineChart__marker--category8 { color: var(--st-semantic-data-category8); }
12195
+
12196
+ .st-timelineChart__tooltip {
12197
+ background: var(--st-semantic-surface-inverse);
12198
+ border-radius: var(--st-radius-sm, 0.25rem);
12199
+ color: var(--st-semantic-text-inverse);
12200
+ display: inline-flex;
12201
+ flex-direction: column;
12202
+ font-size: 0.75rem;
12203
+ gap: 0.125rem;
12204
+ line-height: 1.2;
12205
+ max-width: 16rem;
12206
+ padding: 0.375rem 0.5rem;
12207
+ pointer-events: none;
12208
+ position: absolute;
12209
+ transform: translate(-50%, calc(-100% - 10px));
12210
+ white-space: normal;
12211
+ z-index: 1;
12212
+ }
12213
+
12214
+ .st-timelineChart__tooltipLabel {
12215
+ font-weight: 600;
12216
+ }
12217
+
12218
+ .st-timelineChart__tooltipValue {
12219
+ opacity: 0.85;
12220
+ }
12221
+
12222
+ .st-timelineChart__tooltipDesc {
12223
+ opacity: 0.85;
12224
+ }
12225
+
12226
+ /* ── PackedBubblesChart ── */
12227
+ .st-packedBubblesChart {
12228
+ color: var(--st-semantic-text-secondary);
12229
+ display: block;
12230
+ font-family: inherit;
12231
+ max-width: 100%;
12232
+ position: relative;
12233
+ width: 100%;
12234
+ }
12235
+
12236
+ .st-packedBubblesChart svg,
12237
+ .st-packedBubblesChart__visual {
12238
+ display: block;
12239
+ overflow: visible;
12240
+ }
12241
+
12242
+ .st-packedBubblesChart__circle {
12243
+ cursor: pointer;
12244
+ stroke: var(--st-semantic-surface-default, Canvas);
12245
+ stroke-width: 1.5;
12246
+ transition: opacity 120ms ease;
12247
+ }
12248
+
12249
+ .st-packedBubblesChart__circle--dim {
12250
+ opacity: 0.4;
12251
+ }
12252
+
12253
+ @media (prefers-reduced-motion: reduce) {
12254
+ .st-packedBubblesChart__circle {
12255
+ transition: none;
12256
+ }
12257
+ }
12258
+
12259
+ .st-packedBubblesChart__circle--category1 { fill: var(--st-semantic-data-category1); }
12260
+ .st-packedBubblesChart__circle--category2 { fill: var(--st-semantic-data-category2); }
12261
+ .st-packedBubblesChart__circle--category3 { fill: var(--st-semantic-data-category3); }
12262
+ .st-packedBubblesChart__circle--category4 { fill: var(--st-semantic-data-category4); }
12263
+ .st-packedBubblesChart__circle--category5 { fill: var(--st-semantic-data-category5); }
12264
+ .st-packedBubblesChart__circle--category6 { fill: var(--st-semantic-data-category6); }
12265
+ .st-packedBubblesChart__circle--category7 { fill: var(--st-semantic-data-category7); }
12266
+ .st-packedBubblesChart__circle--category8 { fill: var(--st-semantic-data-category8); }
12267
+
12268
+ .st-packedBubblesChart__label {
12269
+ /* fill calculé par contrastTextForTone() en inline */
12270
+ font-size: 0.7rem;
12271
+ font-weight: 600;
12272
+ pointer-events: none;
12273
+ }
12274
+
12275
+ .st-packedBubblesChart__tooltip {
12276
+ background: var(--st-semantic-surface-inverse);
12277
+ border-radius: var(--st-radius-sm, 0.25rem);
12278
+ color: var(--st-semantic-text-inverse);
12279
+ display: inline-flex;
12280
+ flex-direction: column;
12281
+ font-size: 0.75rem;
12282
+ gap: 0.125rem;
12283
+ line-height: 1.2;
12284
+ padding: 0.375rem 0.5rem;
12285
+ pointer-events: none;
12286
+ position: absolute;
12287
+ transform: translate(-50%, -115%);
12288
+ white-space: nowrap;
12289
+ z-index: 1;
12290
+ }
12291
+
12292
+ .st-packedBubblesChart__tooltipLabel { font-weight: 600; }
12293
+ .st-packedBubblesChart__tooltipValue { opacity: 0.85; }
12294
+
12295
+ /* ── RoseChart (nightingale / polar area) ── */
12296
+ .st-roseChart {
12297
+ color: var(--st-semantic-text-secondary);
12298
+ display: block;
12299
+ font-family: inherit;
12300
+ max-width: 100%;
12301
+ position: relative;
12302
+ width: 100%;
12303
+ }
12304
+
12305
+ .st-roseChart svg,
12306
+ .st-roseChart__visual {
12307
+ display: block;
12308
+ overflow: visible;
12309
+ }
12310
+
12311
+ .st-roseChart__sector {
12312
+ cursor: pointer;
12313
+ fill-opacity: 0.82;
12314
+ stroke: var(--st-semantic-surface-default, Canvas);
12315
+ stroke-width: 1;
12316
+ transition: opacity 120ms ease;
12317
+ }
12318
+
12319
+ .st-roseChart__sector--dim {
12320
+ opacity: 0.4;
12321
+ }
12322
+
12323
+ .st-roseChart__sector--category1 { fill: var(--st-semantic-data-category1); }
12324
+ .st-roseChart__sector--category2 { fill: var(--st-semantic-data-category2); }
12325
+ .st-roseChart__sector--category3 { fill: var(--st-semantic-data-category3); }
12326
+ .st-roseChart__sector--category4 { fill: var(--st-semantic-data-category4); }
12327
+ .st-roseChart__sector--category5 { fill: var(--st-semantic-data-category5); }
12328
+ .st-roseChart__sector--category6 { fill: var(--st-semantic-data-category6); }
12329
+ .st-roseChart__sector--category7 { fill: var(--st-semantic-data-category7); }
12330
+ .st-roseChart__sector--category8 { fill: var(--st-semantic-data-category8); }
12331
+
12332
+ .st-roseChart__label {
12333
+ font-size: 0.68rem;
12334
+ font-weight: 650;
12335
+ pointer-events: none;
12336
+ }
12337
+
12338
+ .st-roseChart__tooltip {
12339
+ background: var(--st-semantic-surface-inverse);
12340
+ border-radius: var(--st-radius-sm, 0.25rem);
12341
+ color: var(--st-semantic-text-inverse);
12342
+ display: inline-flex;
12343
+ flex-direction: column;
12344
+ font-size: 0.75rem;
12345
+ gap: 0.125rem;
12346
+ line-height: 1.2;
12347
+ padding: 0.375rem 0.5rem;
12348
+ pointer-events: none;
12349
+ position: absolute;
12350
+ transform: translate(-50%, -115%);
12351
+ white-space: nowrap;
12352
+ z-index: 1;
12353
+ }
12354
+
12355
+ .st-roseChart__tooltipLabel { font-weight: 600; }
12356
+ .st-roseChart__tooltipValue { opacity: 0.85; }
12357
+
12358
+ @media (prefers-reduced-motion: reduce) {
12359
+ .st-roseChart__sector {
12360
+ transition: none;
12361
+ }
12362
+ }
12363
+
12364
+ /* ── ViolinChart (distribution density) ── */
12365
+ .st-violinChart {
12366
+ color: var(--st-semantic-text-secondary);
12367
+ display: block;
12368
+ font-family: inherit;
12369
+ max-width: 100%;
12370
+ position: relative;
12371
+ width: 100%;
12372
+ }
12373
+
12374
+ .st-violinChart svg,
12375
+ .st-violinChart__visual {
12376
+ display: block;
12377
+ overflow: visible;
12378
+ }
12379
+
12380
+ .st-violinChart__axis {
12381
+ stroke: var(--st-semantic-border-subtle);
12382
+ stroke-width: 1;
12383
+ }
12384
+
12385
+ .st-violinChart__shape {
12386
+ cursor: pointer;
12387
+ fill-opacity: 0.72;
12388
+ stroke: var(--st-semantic-surface-default, Canvas);
12389
+ stroke-width: 1;
12390
+ transition: opacity 120ms ease;
12391
+ }
12392
+
12393
+ .st-violinChart__shape--dim {
12394
+ opacity: 0.4;
12395
+ }
12396
+
12397
+ .st-violinChart__shape--category1 { fill: var(--st-semantic-data-category1); }
12398
+ .st-violinChart__shape--category2 { fill: var(--st-semantic-data-category2); }
12399
+ .st-violinChart__shape--category3 { fill: var(--st-semantic-data-category3); }
12400
+ .st-violinChart__shape--category4 { fill: var(--st-semantic-data-category4); }
12401
+ .st-violinChart__shape--category5 { fill: var(--st-semantic-data-category5); }
12402
+ .st-violinChart__shape--category6 { fill: var(--st-semantic-data-category6); }
12403
+ .st-violinChart__shape--category7 { fill: var(--st-semantic-data-category7); }
12404
+ .st-violinChart__shape--category8 { fill: var(--st-semantic-data-category8); }
12405
+
12406
+ .st-violinChart__box {
12407
+ fill: var(--st-semantic-surface-default, Canvas);
12408
+ fill-opacity: 0.85;
12409
+ stroke: var(--st-semantic-text-secondary);
12410
+ stroke-width: 1;
12411
+ }
12412
+
12413
+ .st-violinChart__median {
12414
+ stroke: var(--st-semantic-text-primary);
12415
+ stroke-width: 2;
12416
+ }
12417
+
12418
+ .st-violinChart__label {
12419
+ fill: var(--st-semantic-text-secondary);
12420
+ font-size: 0.75rem;
12421
+ }
12422
+
12423
+ .st-violinChart__tooltip {
12424
+ background: var(--st-semantic-surface-inverse);
12425
+ border-radius: var(--st-radius-sm, 0.25rem);
12426
+ color: var(--st-semantic-text-inverse);
12427
+ display: inline-flex;
12428
+ flex-direction: column;
12429
+ font-size: 0.75rem;
12430
+ gap: 0.125rem;
12431
+ line-height: 1.2;
12432
+ padding: 0.375rem 0.5rem;
12433
+ pointer-events: none;
12434
+ position: absolute;
12435
+ transform: translate(-50%, -115%);
12436
+ white-space: nowrap;
12437
+ z-index: 1;
12438
+ }
12439
+
12440
+ .st-violinChart__tooltipLabel { font-weight: 600; }
12441
+ .st-violinChart__tooltipValue { opacity: 0.85; }
12442
+
12443
+ @media (prefers-reduced-motion: reduce) {
12444
+ .st-violinChart__shape {
12445
+ transition: none;
12446
+ }
12447
+ }
12448
+
12449
+ .st-geoMap {
12450
+ color: var(--st-semantic-text-secondary);
12451
+ display: block;
12452
+ font-family: inherit;
12453
+ position: relative;
12454
+ width: 100%;
12455
+ }
12456
+ .st-geoMap svg,
12457
+ .st-geoMap__visual { display: block; }
12458
+ .st-geoMap__frame { fill: var(--st-semantic-surface-default, Canvas); stroke: var(--st-semantic-border-subtle); stroke-width: 1; }
12459
+ /* GeoJSON : remplissage translucide (color-mix) + contour au ton. */
12460
+ .st-geoMap__feature { stroke-width: 1.5; transition: fill-opacity 120ms ease; }
12461
+ .st-geoMap__feature--category1 { fill: color-mix(in srgb, var(--st-semantic-data-category1) var(--st-geoMap-mix, 34%), transparent); stroke: var(--st-semantic-data-category1); }
12462
+ .st-geoMap__feature--category2 { fill: color-mix(in srgb, var(--st-semantic-data-category2) var(--st-geoMap-mix, 34%), transparent); stroke: var(--st-semantic-data-category2); }
12463
+ .st-geoMap__feature--category3 { fill: color-mix(in srgb, var(--st-semantic-data-category3) var(--st-geoMap-mix, 34%), transparent); stroke: var(--st-semantic-data-category3); }
12464
+ .st-geoMap__feature--category4 { fill: color-mix(in srgb, var(--st-semantic-data-category4) var(--st-geoMap-mix, 34%), transparent); stroke: var(--st-semantic-data-category4); }
12465
+ .st-geoMap__feature--category5 { fill: color-mix(in srgb, var(--st-semantic-data-category5) var(--st-geoMap-mix, 34%), transparent); stroke: var(--st-semantic-data-category5); }
12466
+ .st-geoMap__feature--category6 { fill: color-mix(in srgb, var(--st-semantic-data-category6) var(--st-geoMap-mix, 34%), transparent); stroke: var(--st-semantic-data-category6); }
12467
+ .st-geoMap__feature--category7 { fill: color-mix(in srgb, var(--st-semantic-data-category7) var(--st-geoMap-mix, 34%), transparent); stroke: var(--st-semantic-data-category7); }
12468
+ .st-geoMap__feature--category8 { fill: color-mix(in srgb, var(--st-semantic-data-category8) var(--st-geoMap-mix, 34%), transparent); stroke: var(--st-semantic-data-category8); }
12469
+ .st-geoMap__feature--line { fill: none; }
12470
+ /* Choroplèthe : intensité ∝ valeur via color-mix sur le ton de la couche. */
12471
+ .st-geoMap__region { stroke: var(--st-semantic-border-subtle); stroke-width: 1; }
12472
+ .st-geoMap__region--empty { fill: var(--st-semantic-surface-default, Canvas); }
12473
+ .st-geoMap__region--category1 { fill: color-mix(in srgb, var(--st-semantic-data-category1) var(--st-geoMap-mix, 60%), transparent); }
12474
+ .st-geoMap__region--category2 { fill: color-mix(in srgb, var(--st-semantic-data-category2) var(--st-geoMap-mix, 60%), transparent); }
12475
+ .st-geoMap__region--category3 { fill: color-mix(in srgb, var(--st-semantic-data-category3) var(--st-geoMap-mix, 60%), transparent); }
12476
+ .st-geoMap__region--category4 { fill: color-mix(in srgb, var(--st-semantic-data-category4) var(--st-geoMap-mix, 60%), transparent); }
12477
+ .st-geoMap__region--category5 { fill: color-mix(in srgb, var(--st-semantic-data-category5) var(--st-geoMap-mix, 60%), transparent); }
12478
+ .st-geoMap__region--category6 { fill: color-mix(in srgb, var(--st-semantic-data-category6) var(--st-geoMap-mix, 60%), transparent); }
12479
+ .st-geoMap__region--category7 { fill: color-mix(in srgb, var(--st-semantic-data-category7) var(--st-geoMap-mix, 60%), transparent); }
12480
+ .st-geoMap__region--category8 { fill: color-mix(in srgb, var(--st-semantic-data-category8) var(--st-geoMap-mix, 60%), transparent); }
12481
+ /* Points/épingles : ton plein, légère translucidité (parité dataviz). */
12482
+ .st-geoMap__point { fill-opacity: 0.82; }
12483
+ .st-geoMap__point--category1 { fill: var(--st-semantic-data-category1); }
12484
+ .st-geoMap__point--category2 { fill: var(--st-semantic-data-category2); }
12485
+ .st-geoMap__point--category3 { fill: var(--st-semantic-data-category3); }
12486
+ .st-geoMap__point--category4 { fill: var(--st-semantic-data-category4); }
12487
+ .st-geoMap__point--category5 { fill: var(--st-semantic-data-category5); }
12488
+ .st-geoMap__point--category6 { fill: var(--st-semantic-data-category6); }
12489
+ .st-geoMap__point--category7 { fill: var(--st-semantic-data-category7); }
12490
+ .st-geoMap__point--category8 { fill: var(--st-semantic-data-category8); }
12491
+ /* Densité : cercles translucides superposés (color-mix ∝ poids). */
12492
+ .st-geoMap__density--category1 { fill: color-mix(in srgb, var(--st-semantic-data-category1) var(--st-geoMap-mix, 45%), transparent); }
12493
+ .st-geoMap__density--category2 { fill: color-mix(in srgb, var(--st-semantic-data-category2) var(--st-geoMap-mix, 45%), transparent); }
12494
+ .st-geoMap__density--category3 { fill: color-mix(in srgb, var(--st-semantic-data-category3) var(--st-geoMap-mix, 45%), transparent); }
12495
+ .st-geoMap__density--category4 { fill: color-mix(in srgb, var(--st-semantic-data-category4) var(--st-geoMap-mix, 45%), transparent); }
12496
+ .st-geoMap__density--category5 { fill: color-mix(in srgb, var(--st-semantic-data-category5) var(--st-geoMap-mix, 45%), transparent); }
12497
+ .st-geoMap__density--category6 { fill: color-mix(in srgb, var(--st-semantic-data-category6) var(--st-geoMap-mix, 45%), transparent); }
12498
+ .st-geoMap__density--category7 { fill: color-mix(in srgb, var(--st-semantic-data-category7) var(--st-geoMap-mix, 45%), transparent); }
12499
+ .st-geoMap__density--category8 { fill: color-mix(in srgb, var(--st-semantic-data-category8) var(--st-geoMap-mix, 45%), transparent); }
12500
+ /* Flux : arcs quadratiques, épaisseur portée par l'attribut stroke-width. */
12501
+ .st-geoMap__flow { fill: none; stroke-linecap: round; stroke-opacity: 0.62; }
12502
+ .st-geoMap__flow--category1 { stroke: var(--st-semantic-data-category1); }
12503
+ .st-geoMap__flow--category2 { stroke: var(--st-semantic-data-category2); }
12504
+ .st-geoMap__flow--category3 { stroke: var(--st-semantic-data-category3); }
12505
+ .st-geoMap__flow--category4 { stroke: var(--st-semantic-data-category4); }
12506
+ .st-geoMap__flow--category5 { stroke: var(--st-semantic-data-category5); }
12507
+ .st-geoMap__flow--category6 { stroke: var(--st-semantic-data-category6); }
12508
+ .st-geoMap__flow--category7 { stroke: var(--st-semantic-data-category7); }
12509
+ .st-geoMap__flow--category8 { stroke: var(--st-semantic-data-category8); }
12510
+ /* Hexbin : intensité ∝ valeur agrégée via color-mix. */
12511
+ .st-geoMap__hexbin--category1 { fill: color-mix(in srgb, var(--st-semantic-data-category1) var(--st-geoMap-mix, 72%), transparent); }
12512
+ .st-geoMap__hexbin--category2 { fill: color-mix(in srgb, var(--st-semantic-data-category2) var(--st-geoMap-mix, 72%), transparent); }
12513
+ .st-geoMap__hexbin--category3 { fill: color-mix(in srgb, var(--st-semantic-data-category3) var(--st-geoMap-mix, 72%), transparent); }
12514
+ .st-geoMap__hexbin--category4 { fill: color-mix(in srgb, var(--st-semantic-data-category4) var(--st-geoMap-mix, 72%), transparent); }
12515
+ .st-geoMap__hexbin--category5 { fill: color-mix(in srgb, var(--st-semantic-data-category5) var(--st-geoMap-mix, 72%), transparent); }
12516
+ .st-geoMap__hexbin--category6 { fill: color-mix(in srgb, var(--st-semantic-data-category6) var(--st-geoMap-mix, 72%), transparent); }
12517
+ .st-geoMap__hexbin--category7 { fill: color-mix(in srgb, var(--st-semantic-data-category7) var(--st-geoMap-mix, 72%), transparent); }
12518
+ .st-geoMap__hexbin--category8 { fill: color-mix(in srgb, var(--st-semantic-data-category8) var(--st-geoMap-mix, 72%), transparent); }
12519
+ /* Clusters : centroïde distinctif (disque + anneau), toné via currentColor. */
12520
+ .st-geoMap__cluster--category1 { color: var(--st-semantic-data-category1); }
12521
+ .st-geoMap__cluster--category2 { color: var(--st-semantic-data-category2); }
12522
+ .st-geoMap__cluster--category3 { color: var(--st-semantic-data-category3); }
12523
+ .st-geoMap__cluster--category4 { color: var(--st-semantic-data-category4); }
12524
+ .st-geoMap__cluster--category5 { color: var(--st-semantic-data-category5); }
12525
+ .st-geoMap__cluster--category6 { color: var(--st-semantic-data-category6); }
12526
+ .st-geoMap__cluster--category7 { color: var(--st-semantic-data-category7); }
12527
+ .st-geoMap__cluster--category8 { color: var(--st-semantic-data-category8); }
12528
+ .st-geoMap__clusterDot { fill: currentColor; fill-opacity: 0.78; }
12529
+ .st-geoMap__clusterRing { fill: none; stroke: currentColor; stroke-width: 1.5; }
12530
+
12531
+ @media (prefers-reduced-motion: reduce) {
12532
+ .st-geoMap__feature { transition: none; }
12533
+ }
12534
+
12535
+ .st-columnRangeChart {
12536
+ color: var(--st-semantic-text-secondary);
12537
+ display: block;
12538
+ font-family: inherit;
12539
+ position: relative;
12540
+ width: 100%;
12541
+ }
12542
+
12543
+ .st-columnRangeChart svg {
12544
+ display: block;
12545
+ overflow: visible;
12546
+ }
12547
+
12548
+ .st-columnRangeChart__visual {
12549
+ display: block;
12550
+ }
12551
+
12552
+ .st-columnRangeChart__grid {
12553
+ stroke: var(--st-component-columnRangeChart-gridStroke, var(--st-semantic-border-subtle));
12554
+ stroke-dasharray: 2 3;
12555
+ stroke-width: 1;
12556
+ opacity: 0.7;
12557
+ }
12558
+
12559
+ .st-columnRangeChart__axis {
12560
+ stroke: var(--st-component-columnRangeChart-axisStroke, var(--st-semantic-border-subtle));
12561
+ stroke-width: 1;
12562
+ }
12563
+
12564
+ .st-columnRangeChart__tickLabel,
12565
+ .st-columnRangeChart__categoryLabel {
12566
+ fill: var(--st-component-columnRangeChart-labelColor, var(--st-semantic-text-secondary));
12567
+ font-size: 0.6875rem;
12568
+ }
12569
+
12570
+ .st-columnRangeChart__bar {
12571
+ cursor: pointer;
12572
+ transition: opacity var(--st-motion-fast, 120ms) var(--st-motion-easing, ease);
12573
+ }
12574
+
12575
+ .st-columnRangeChart__bar:hover {
12576
+ opacity: 0.82;
12577
+ }
12578
+
12579
+ .st-columnRangeChart__bar--category1 { fill: var(--st-semantic-data-category1); }
12580
+ .st-columnRangeChart__bar--category2 { fill: var(--st-semantic-data-category2); }
12581
+ .st-columnRangeChart__bar--category3 { fill: var(--st-semantic-data-category3); }
12582
+ .st-columnRangeChart__bar--category4 { fill: var(--st-semantic-data-category4); }
12583
+ .st-columnRangeChart__bar--category5 { fill: var(--st-semantic-data-category5); }
12584
+ .st-columnRangeChart__bar--category6 { fill: var(--st-semantic-data-category6); }
12585
+ .st-columnRangeChart__bar--category7 { fill: var(--st-semantic-data-category7); }
12586
+ .st-columnRangeChart__bar--category8 { fill: var(--st-semantic-data-category8); }
12587
+
12588
+ .st-columnRangeChart__tooltip {
12589
+ background: var(--st-component-columnRangeChart-tooltipBackground, var(--st-semantic-surface-inverse));
12590
+ border-radius: var(--st-radius-sm, 0.25rem);
12591
+ color: var(--st-component-columnRangeChart-tooltipText, var(--st-semantic-text-inverse));
12592
+ display: inline-flex;
12593
+ flex-direction: column;
12594
+ font-size: 0.75rem;
12595
+ gap: 0.125rem;
12596
+ line-height: 1.2;
12597
+ padding: 0.375rem 0.5rem;
12598
+ pointer-events: none;
12599
+ position: absolute;
12600
+ transform: translate(-50%, calc(-100% - 8px));
12601
+ white-space: nowrap;
12602
+ z-index: 1;
12603
+ }
12604
+
12605
+ .st-columnRangeChart__tooltipLabel {
12606
+ font-weight: 600;
12607
+ }
12608
+
12609
+ .st-columnRangeChart__tooltipValue {
12610
+ opacity: 0.85;
12611
+ }
12612
+
12613
+ @media (prefers-reduced-motion: reduce) {
12614
+ .st-columnRangeChart__bar { transition: none; }
12615
+ }
12616
+
12617
+ .st-areaRangeChart {
12618
+ color: var(--st-semantic-data-category1);
12619
+ display: block;
12620
+ font-family: inherit;
12621
+ position: relative;
12622
+ width: 100%;
12623
+ }
12624
+
12625
+ .st-areaRangeChart--category1 { color: var(--st-semantic-data-category1); }
12626
+ .st-areaRangeChart--category2 { color: var(--st-semantic-data-category2); }
12627
+ .st-areaRangeChart--category3 { color: var(--st-semantic-data-category3); }
12628
+ .st-areaRangeChart--category4 { color: var(--st-semantic-data-category4); }
12629
+ .st-areaRangeChart--category5 { color: var(--st-semantic-data-category5); }
12630
+ .st-areaRangeChart--category6 { color: var(--st-semantic-data-category6); }
12631
+ .st-areaRangeChart--category7 { color: var(--st-semantic-data-category7); }
12632
+ .st-areaRangeChart--category8 { color: var(--st-semantic-data-category8); }
12633
+
12634
+ .st-areaRangeChart svg {
12635
+ display: block;
12636
+ overflow: visible;
12637
+ }
12638
+
12639
+ .st-areaRangeChart__visual {
12640
+ display: block;
12641
+ }
12642
+
12643
+ .st-areaRangeChart__grid {
12644
+ stroke: var(--st-component-areaRangeChart-gridStroke, var(--st-semantic-border-subtle));
12645
+ stroke-dasharray: 2 3;
12646
+ stroke-width: 1;
12647
+ opacity: 0.7;
12648
+ }
12649
+
12650
+ .st-areaRangeChart__axis {
12651
+ stroke: var(--st-component-areaRangeChart-axisStroke, var(--st-semantic-border-subtle));
12652
+ stroke-width: 1;
12653
+ }
12654
+
12655
+ .st-areaRangeChart__tickLabel {
12656
+ fill: var(--st-component-areaRangeChart-labelColor, var(--st-semantic-text-secondary));
12657
+ font-size: 0.6875rem;
12658
+ }
12659
+
12660
+ .st-areaRangeChart__line {
12661
+ stroke: currentColor;
12662
+ }
12663
+
12664
+ .st-areaRangeChart__line--low {
12665
+ opacity: 0.7;
12666
+ }
12667
+
12668
+ .st-areaRangeChart__area {
12669
+ stroke: none;
12670
+ }
12671
+
12672
+ .st-areaRangeChart__dot {
12673
+ fill: currentColor;
12674
+ stroke: var(--st-semantic-surface-default);
12675
+ stroke-width: 1.5;
12676
+ cursor: pointer;
12677
+ transition: r 120ms ease;
12678
+ }
12679
+
12680
+ .st-areaRangeChart__dot:hover {
12681
+ r: 5;
12682
+ }
12683
+
12684
+ @media (prefers-reduced-motion: reduce) {
12685
+ .st-areaRangeChart__dot { transition: none; }
12686
+ }
12687
+
12688
+ .st-areaRangeChart__tooltip {
12689
+ background: var(--st-component-areaRangeChart-tooltipBackground, var(--st-semantic-surface-inverse));
12690
+ border-radius: var(--st-radius-sm, 0.25rem);
12691
+ color: var(--st-component-areaRangeChart-tooltipText, var(--st-semantic-text-inverse));
12692
+ display: inline-flex;
12693
+ flex-direction: column;
12694
+ font-size: 0.75rem;
12695
+ gap: 0.125rem;
12696
+ line-height: 1.2;
12697
+ padding: 0.375rem 0.5rem;
12698
+ pointer-events: none;
12699
+ position: absolute;
12700
+ transform: translate(-50%, calc(-100% - 8px));
12701
+ white-space: nowrap;
12702
+ z-index: 1;
12703
+ }
12704
+
12705
+ .st-areaRangeChart__tooltipLabel {
12706
+ font-weight: 600;
12707
+ }
12708
+
12709
+ .st-areaRangeChart__tooltipValue {
12710
+ opacity: 0.85;
12711
+ }
12712
+
12713
+ .st-areaSplineRangeChart {
12714
+ color: var(--st-semantic-data-category1);
12715
+ display: block;
12716
+ font-family: inherit;
12717
+ position: relative;
12718
+ width: 100%;
12719
+ }
12720
+
12721
+ .st-areaSplineRangeChart--category1 { color: var(--st-semantic-data-category1); }
12722
+ .st-areaSplineRangeChart--category2 { color: var(--st-semantic-data-category2); }
12723
+ .st-areaSplineRangeChart--category3 { color: var(--st-semantic-data-category3); }
12724
+ .st-areaSplineRangeChart--category4 { color: var(--st-semantic-data-category4); }
12725
+ .st-areaSplineRangeChart--category5 { color: var(--st-semantic-data-category5); }
12726
+ .st-areaSplineRangeChart--category6 { color: var(--st-semantic-data-category6); }
12727
+ .st-areaSplineRangeChart--category7 { color: var(--st-semantic-data-category7); }
12728
+ .st-areaSplineRangeChart--category8 { color: var(--st-semantic-data-category8); }
12729
+
12730
+ .st-areaSplineRangeChart svg {
12731
+ display: block;
12732
+ overflow: visible;
12733
+ }
12734
+
12735
+ .st-areaSplineRangeChart__visual {
12736
+ display: block;
12737
+ }
12738
+
12739
+ .st-areaSplineRangeChart__grid {
12740
+ stroke: var(--st-component-areaSplineRangeChart-gridStroke, var(--st-semantic-border-subtle));
12741
+ stroke-dasharray: 2 3;
12742
+ stroke-width: 1;
12743
+ opacity: 0.7;
12744
+ }
12745
+
12746
+ .st-areaSplineRangeChart__axis {
12747
+ stroke: var(--st-component-areaSplineRangeChart-axisStroke, var(--st-semantic-border-subtle));
12748
+ stroke-width: 1;
12749
+ }
12750
+
12751
+ .st-areaSplineRangeChart__tickLabel {
12752
+ fill: var(--st-component-areaSplineRangeChart-labelColor, var(--st-semantic-text-secondary));
12753
+ font-size: 0.6875rem;
12754
+ }
12755
+
12756
+ .st-areaSplineRangeChart__line {
12757
+ stroke: currentColor;
12758
+ }
12759
+
12760
+ .st-areaSplineRangeChart__line--low {
12761
+ opacity: 0.7;
12762
+ }
12763
+
12764
+ .st-areaSplineRangeChart__area {
12765
+ stroke: none;
12766
+ }
12767
+
12768
+ .st-areaSplineRangeChart__dot {
12769
+ fill: currentColor;
12770
+ stroke: var(--st-semantic-surface-default);
12771
+ stroke-width: 1.5;
12772
+ cursor: pointer;
12773
+ transition: r 120ms ease;
12774
+ }
12775
+
12776
+ .st-areaSplineRangeChart__dot:hover {
12777
+ r: 5;
12778
+ }
12779
+
12780
+ @media (prefers-reduced-motion: reduce) {
12781
+ .st-areaSplineRangeChart__dot { transition: none; }
12782
+ }
12783
+
12784
+ .st-areaSplineRangeChart__tooltip {
12785
+ background: var(--st-component-areaSplineRangeChart-tooltipBackground, var(--st-semantic-surface-inverse));
12786
+ border-radius: var(--st-radius-sm, 0.25rem);
12787
+ color: var(--st-component-areaSplineRangeChart-tooltipText, var(--st-semantic-text-inverse));
12788
+ display: inline-flex;
12789
+ flex-direction: column;
12790
+ font-size: 0.75rem;
12791
+ gap: 0.125rem;
12792
+ line-height: 1.2;
12793
+ padding: 0.375rem 0.5rem;
12794
+ pointer-events: none;
12795
+ position: absolute;
12796
+ transform: translate(-50%, calc(-100% - 8px));
12797
+ white-space: nowrap;
12798
+ z-index: 1;
12799
+ }
12800
+
12801
+ .st-areaSplineRangeChart__tooltipLabel {
12802
+ font-weight: 600;
12803
+ }
12804
+
12805
+ .st-areaSplineRangeChart__tooltipValue {
12806
+ opacity: 0.85;
12807
+ }
12808
+
12809
+ .st-columnPyramidChart {
12810
+ color: var(--st-semantic-text-secondary);
12811
+ display: block;
12812
+ font-family: inherit;
12813
+ position: relative;
12814
+ width: 100%;
12815
+ }
12816
+
12817
+ .st-columnPyramidChart svg {
12818
+ display: block;
12819
+ overflow: visible;
12820
+ }
12821
+
12822
+ .st-columnPyramidChart__visual {
12823
+ display: block;
12824
+ }
12825
+
12826
+ .st-columnPyramidChart__grid {
12827
+ stroke: var(--st-component-columnPyramidChart-gridStroke, var(--st-semantic-border-subtle));
12828
+ stroke-dasharray: 2 3;
12829
+ stroke-width: 1;
12830
+ opacity: 0.7;
12831
+ }
12832
+
12833
+ .st-columnPyramidChart__axis {
12834
+ stroke: var(--st-component-columnPyramidChart-axisStroke, var(--st-semantic-border-subtle));
12835
+ stroke-width: 1;
12836
+ }
12837
+
12838
+ .st-columnPyramidChart__tickLabel,
12839
+ .st-columnPyramidChart__categoryLabel {
12840
+ fill: var(--st-component-columnPyramidChart-labelColor, var(--st-semantic-text-secondary));
12841
+ font-size: 0.6875rem;
12842
+ }
12843
+
12844
+ .st-columnPyramidChart__column {
12845
+ cursor: pointer;
12846
+ transition: opacity var(--st-motion-fast, 120ms) var(--st-motion-easing, ease);
12847
+ }
12848
+
12849
+ .st-columnPyramidChart__column:hover {
12850
+ opacity: 0.82;
12851
+ }
12852
+
12853
+ .st-columnPyramidChart__column--category1 { fill: var(--st-semantic-data-category1); }
12854
+ .st-columnPyramidChart__column--category2 { fill: var(--st-semantic-data-category2); }
12855
+ .st-columnPyramidChart__column--category3 { fill: var(--st-semantic-data-category3); }
12856
+ .st-columnPyramidChart__column--category4 { fill: var(--st-semantic-data-category4); }
12857
+ .st-columnPyramidChart__column--category5 { fill: var(--st-semantic-data-category5); }
12858
+ .st-columnPyramidChart__column--category6 { fill: var(--st-semantic-data-category6); }
12859
+ .st-columnPyramidChart__column--category7 { fill: var(--st-semantic-data-category7); }
12860
+ .st-columnPyramidChart__column--category8 { fill: var(--st-semantic-data-category8); }
12861
+
12862
+ .st-columnPyramidChart__tooltip {
12863
+ background: var(--st-component-columnPyramidChart-tooltipBackground, var(--st-semantic-surface-inverse));
12864
+ border-radius: var(--st-radius-sm, 0.25rem);
12865
+ color: var(--st-component-columnPyramidChart-tooltipText, var(--st-semantic-text-inverse));
12866
+ display: inline-flex;
12867
+ flex-direction: column;
12868
+ font-size: 0.75rem;
12869
+ gap: 0.125rem;
12870
+ line-height: 1.2;
12871
+ padding: 0.375rem 0.5rem;
12872
+ pointer-events: none;
12873
+ position: absolute;
12874
+ transform: translate(-50%, calc(-100% - 8px));
12875
+ white-space: nowrap;
12876
+ z-index: 1;
12877
+ }
12878
+
12879
+ .st-columnPyramidChart__tooltipLabel {
12880
+ font-weight: 600;
12881
+ }
12882
+
12883
+ .st-columnPyramidChart__tooltipValue {
12884
+ opacity: 0.85;
12885
+ }
12886
+
12887
+ @media (prefers-reduced-motion: reduce) {
12888
+ .st-columnPyramidChart__column {
12889
+ transition: none;
12890
+ }
12891
+ }
12892
+
12893
+ .st-polygonChart { color: var(--st-semantic-text-secondary); display: block; font-family: inherit; position: relative; width: 100%; }
12894
+ .st-polygonChart svg, .st-polygonChart__visual { display: block; overflow: visible; }
12895
+ .st-polygonChart__grid { stroke: var(--st-semantic-border-subtle); stroke-dasharray: 2 3; stroke-width: 1; opacity: 0.7; }
12896
+ .st-polygonChart__axis { stroke: var(--st-semantic-border-subtle); stroke-width: 1; }
12897
+ .st-polygonChart__tick { fill: var(--st-semantic-text-secondary); font-size: 0.6875rem; }
12898
+ .st-polygonChart__polygon { fill: currentColor; fill-opacity: 0.18; stroke: currentColor; stroke-width: 2; stroke-linejoin: round; }
12899
+ .st-polygonChart__vertex { fill: currentColor; }
12900
+ .st-polygonChart__polygon--category1, .st-polygonChart__vertex--category1 { color: var(--st-semantic-data-category1); }
12901
+ .st-polygonChart__polygon--category2, .st-polygonChart__vertex--category2 { color: var(--st-semantic-data-category2); }
12902
+ .st-polygonChart__polygon--category3, .st-polygonChart__vertex--category3 { color: var(--st-semantic-data-category3); }
12903
+ .st-polygonChart__polygon--category4, .st-polygonChart__vertex--category4 { color: var(--st-semantic-data-category4); }
12904
+ .st-polygonChart__polygon--category5, .st-polygonChart__vertex--category5 { color: var(--st-semantic-data-category5); }
12905
+ .st-polygonChart__polygon--category6, .st-polygonChart__vertex--category6 { color: var(--st-semantic-data-category6); }
12906
+ .st-polygonChart__polygon--category7, .st-polygonChart__vertex--category7 { color: var(--st-semantic-data-category7); }
12907
+ .st-polygonChart__polygon--category8, .st-polygonChart__vertex--category8 { color: var(--st-semantic-data-category8); }
12908
+ .st-polygonChart__tooltip {
12909
+ background: var(--st-semantic-surface-inverse); border-radius: var(--st-radius-sm, 0.25rem);
12910
+ color: var(--st-semantic-text-inverse); display: inline-flex; flex-direction: column;
12911
+ font-size: 0.75rem; gap: 0.125rem; line-height: 1.2; padding: 0.375rem 0.5rem;
12912
+ pointer-events: none; position: absolute; transform: translate(-50%, calc(-100% - 8px)); white-space: nowrap; z-index: 1;
12913
+ }
12914
+ .st-polygonChart__tooltipValue { opacity: 0.85; }
12915
+
12916
+ .st-tileMapChart {
12917
+ color: var(--st-semantic-text-secondary);
12918
+ display: block;
12919
+ font-family: inherit;
12920
+ max-width: 100%;
12921
+ position: relative;
12922
+ width: 100%;
12923
+ }
12924
+
12925
+ .st-tileMapChart svg,
12926
+ .st-tileMapChart__visual {
12927
+ display: block;
12928
+ overflow: visible;
12929
+ }
12930
+
12931
+ .st-tileMapChart__tile {
12932
+ cursor: pointer;
12933
+ stroke: var(--st-semantic-surface-default, Canvas);
12934
+ stroke-width: 1;
12935
+ transition: opacity 120ms ease;
12936
+ }
12937
+
12938
+ .st-tileMapChart__tile--dim {
12939
+ opacity: 0.4;
12940
+ }
12941
+
12942
+ @media (prefers-reduced-motion: reduce) {
12943
+ .st-tileMapChart__tile {
12944
+ transition: none;
12945
+ }
12946
+ }
12947
+
12948
+ .st-tileMapChart__tile--category1,
12949
+ .st-tileMapChart__legendSwatch--category1 { fill: var(--st-semantic-data-category1); background: var(--st-semantic-data-category1); }
12950
+ .st-tileMapChart__tile--category2,
12951
+ .st-tileMapChart__legendSwatch--category2 { fill: var(--st-semantic-data-category2); background: var(--st-semantic-data-category2); }
12952
+ .st-tileMapChart__tile--category3,
12953
+ .st-tileMapChart__legendSwatch--category3 { fill: var(--st-semantic-data-category3); background: var(--st-semantic-data-category3); }
12954
+ .st-tileMapChart__tile--category4,
12955
+ .st-tileMapChart__legendSwatch--category4 { fill: var(--st-semantic-data-category4); background: var(--st-semantic-data-category4); }
12956
+ .st-tileMapChart__tile--category5,
12957
+ .st-tileMapChart__legendSwatch--category5 { fill: var(--st-semantic-data-category5); background: var(--st-semantic-data-category5); }
12958
+ .st-tileMapChart__tile--category6,
12959
+ .st-tileMapChart__legendSwatch--category6 { fill: var(--st-semantic-data-category6); background: var(--st-semantic-data-category6); }
12960
+ .st-tileMapChart__tile--category7,
12961
+ .st-tileMapChart__legendSwatch--category7 { fill: var(--st-semantic-data-category7); background: var(--st-semantic-data-category7); }
12962
+ .st-tileMapChart__tile--category8,
12963
+ .st-tileMapChart__legendSwatch--category8 { fill: var(--st-semantic-data-category8); background: var(--st-semantic-data-category8); }
12964
+
12965
+ .st-tileMapChart__tileLabel {
12966
+ fill: var(--st-semantic-text-inverse);
12967
+ font-size: 0.6875rem;
12968
+ font-weight: 600;
12969
+ }
12970
+
12971
+ .st-tileMapChart__legend {
12972
+ align-items: center;
12973
+ display: flex;
12974
+ gap: var(--st-spacing-2, 0.5rem);
12975
+ margin-top: var(--st-spacing-2, 0.5rem);
12976
+ }
12977
+
12978
+ .st-tileMapChart__legendRamp {
12979
+ display: inline-grid;
12980
+ grid-template-columns: repeat(8, minmax(0.75rem, 1fr));
12981
+ min-width: 8rem;
12982
+ }
12983
+
12984
+ .st-tileMapChart__legendSwatch {
12985
+ display: block;
12986
+ height: 0.5rem;
12987
+ }
12988
+
12989
+ .st-tileMapChart__legendText {
12990
+ color: var(--st-semantic-text-secondary);
12991
+ font-size: 0.75rem;
12992
+ }
12993
+
12994
+ .st-tileMapChart__tooltip {
12995
+ background: var(--st-semantic-surface-inverse);
12996
+ border-radius: var(--st-radius-sm, 0.25rem);
12997
+ color: var(--st-semantic-text-inverse);
12998
+ display: inline-flex;
12999
+ flex-direction: column;
13000
+ font-size: 0.75rem;
13001
+ gap: 0.125rem;
13002
+ line-height: 1.2;
13003
+ padding: 0.375rem 0.5rem;
13004
+ pointer-events: none;
13005
+ position: absolute;
13006
+ transform: translate(-50%, -115%);
13007
+ white-space: nowrap;
13008
+ z-index: 1;
13009
+ }
13010
+
13011
+ .st-tileMapChart__tooltipLabel {
13012
+ font-weight: 600;
13013
+ }
13014
+
13015
+ .st-tileMapChart__tooltipValue {
13016
+ opacity: 0.85;
13017
+ }
13018
+
13019
+ .st-dumbbellChart {
13020
+ color: var(--st-semantic-data-category1);
13021
+ display: block;
13022
+ font-family: inherit;
13023
+ position: relative;
13024
+ width: 100%;
13025
+ }
13026
+
13027
+ .st-dumbbellChart svg {
13028
+ display: block;
13029
+ overflow: visible;
13030
+ }
13031
+
13032
+ .st-dumbbellChart__visual {
13033
+ display: block;
13034
+ position: relative;
13035
+ }
13036
+
13037
+ .st-dumbbellChart__legend {
13038
+ position: absolute;
13039
+ right: 0.25rem;
13040
+ top: 0.25rem;
13041
+ }
13042
+
13043
+ .st-dumbbellChart__grid {
13044
+ stroke: var(--st-component-dumbbellChart-gridStroke, var(--st-semantic-border-subtle));
13045
+ stroke-dasharray: 2 3;
13046
+ stroke-width: 1;
13047
+ opacity: 0.7;
13048
+ }
13049
+
13050
+ .st-dumbbellChart__axis {
13051
+ stroke: var(--st-component-dumbbellChart-axisStroke, var(--st-semantic-border-subtle));
13052
+ stroke-width: 1;
13053
+ }
13054
+
13055
+ .st-dumbbellChart__tickLabel,
13056
+ .st-dumbbellChart__categoryLabel {
13057
+ fill: var(--st-component-dumbbellChart-labelColor, var(--st-semantic-text-secondary));
13058
+ font-size: 0.6875rem;
13059
+ }
13060
+
13061
+ .st-dumbbellChart__connector {
13062
+ stroke: var(--st-component-dumbbellChart-connectorStroke, var(--st-semantic-border-strong));
13063
+ stroke-width: 2;
13064
+ stroke-linecap: round;
13065
+ opacity: 0.6;
13066
+ }
13067
+
13068
+ .st-dumbbellChart__dot {
13069
+ fill: currentColor;
13070
+ stroke: var(--st-semantic-surface-default);
13071
+ stroke-width: 1.5;
13072
+ cursor: pointer;
13073
+ transition: r 120ms ease;
13074
+ }
13075
+
13076
+ .st-dumbbellChart__dot:hover {
13077
+ r: 7;
13078
+ }
13079
+
13080
+ .st-dumbbellChart__dot--category1 { fill: var(--st-semantic-data-category1); }
13081
+ .st-dumbbellChart__dot--category2 { fill: var(--st-semantic-data-category2); }
13082
+ .st-dumbbellChart__dot--category3 { fill: var(--st-semantic-data-category3); }
13083
+ .st-dumbbellChart__dot--category4 { fill: var(--st-semantic-data-category4); }
13084
+ .st-dumbbellChart__dot--category5 { fill: var(--st-semantic-data-category5); }
13085
+ .st-dumbbellChart__dot--category6 { fill: var(--st-semantic-data-category6); }
13086
+ .st-dumbbellChart__dot--category7 { fill: var(--st-semantic-data-category7); }
13087
+ .st-dumbbellChart__dot--category8 { fill: var(--st-semantic-data-category8); }
13088
+
13089
+ @media (prefers-reduced-motion: reduce) {
13090
+ .st-dumbbellChart__dot { transition: none; }
13091
+ }
13092
+
13093
+ .st-dumbbellChart__tooltip {
13094
+ background: var(--st-component-dumbbellChart-tooltipBackground, var(--st-semantic-surface-inverse));
13095
+ border-radius: var(--st-radius-sm, 0.25rem);
13096
+ color: var(--st-component-dumbbellChart-tooltipText, var(--st-semantic-text-inverse));
13097
+ display: inline-flex;
13098
+ flex-direction: column;
13099
+ font-size: 0.75rem;
13100
+ gap: 0.125rem;
13101
+ line-height: 1.2;
13102
+ padding: 0.375rem 0.5rem;
13103
+ pointer-events: none;
13104
+ position: absolute;
13105
+ transform: translate(-50%, calc(-100% - 8px));
13106
+ white-space: nowrap;
13107
+ z-index: 1;
13108
+ }
13109
+
13110
+ .st-dumbbellChart__tooltipLabel {
13111
+ font-weight: 600;
13112
+ }
13113
+
13114
+ .st-dumbbellChart__tooltipValue {
13115
+ opacity: 0.85;
13116
+ }
13117
+
13118
+ .st-errorBarChart {
13119
+ color: var(--st-semantic-data-category1);
13120
+ display: block;
13121
+ font-family: inherit;
13122
+ position: relative;
13123
+ width: 100%;
13124
+ }
13125
+
13126
+ .st-errorBarChart svg {
13127
+ display: block;
13128
+ overflow: visible;
13129
+ }
13130
+
13131
+ .st-errorBarChart__visual {
13132
+ display: block;
13133
+ position: relative;
13134
+ }
13135
+
13136
+ .st-errorBarChart__legend {
13137
+ position: absolute;
13138
+ right: 0.25rem;
13139
+ top: 0.25rem;
13140
+ }
13141
+
13142
+ .st-errorBarChart__grid {
13143
+ stroke: var(--st-component-errorBarChart-gridStroke, var(--st-semantic-border-subtle));
13144
+ stroke-dasharray: 2 3;
13145
+ stroke-width: 1;
13146
+ opacity: 0.7;
13147
+ }
13148
+
13149
+ .st-errorBarChart__axis {
13150
+ stroke: var(--st-component-errorBarChart-axisStroke, var(--st-semantic-border-subtle));
13151
+ stroke-width: 1;
13152
+ }
13153
+
13154
+ .st-errorBarChart__tickLabel,
13155
+ .st-errorBarChart__categoryLabel {
13156
+ fill: var(--st-component-errorBarChart-labelColor, var(--st-semantic-text-secondary));
13157
+ font-size: 0.6875rem;
13158
+ }
11246
13159
 
11247
- .st-stepLineChart__tooltipValue {
11248
- opacity: 0.85;
11249
- }
13160
+ .st-errorBarChart__whisker {
13161
+ stroke: currentColor;
13162
+ stroke-width: 2;
13163
+ stroke-linecap: round;
13164
+ }
11250
13165
 
11251
- @media (prefers-reduced-motion: reduce) {
11252
- .st-stepLineChart__dot {
11253
- transition: none;
11254
- }
11255
- }
13166
+ .st-errorBarChart__cap {
13167
+ stroke: currentColor;
13168
+ stroke-width: 2;
13169
+ stroke-linecap: round;
13170
+ }
11256
13171
 
13172
+ .st-errorBarChart__whisker--category1,
13173
+ .st-errorBarChart__cap--category1 { stroke: var(--st-semantic-data-category1); }
13174
+ .st-errorBarChart__whisker--category2,
13175
+ .st-errorBarChart__cap--category2 { stroke: var(--st-semantic-data-category2); }
13176
+ .st-errorBarChart__whisker--category3,
13177
+ .st-errorBarChart__cap--category3 { stroke: var(--st-semantic-data-category3); }
13178
+ .st-errorBarChart__whisker--category4,
13179
+ .st-errorBarChart__cap--category4 { stroke: var(--st-semantic-data-category4); }
13180
+ .st-errorBarChart__whisker--category5,
13181
+ .st-errorBarChart__cap--category5 { stroke: var(--st-semantic-data-category5); }
13182
+ .st-errorBarChart__whisker--category6,
13183
+ .st-errorBarChart__cap--category6 { stroke: var(--st-semantic-data-category6); }
13184
+ .st-errorBarChart__whisker--category7,
13185
+ .st-errorBarChart__cap--category7 { stroke: var(--st-semantic-data-category7); }
13186
+ .st-errorBarChart__whisker--category8,
13187
+ .st-errorBarChart__cap--category8 { stroke: var(--st-semantic-data-category8); }
13188
+
13189
+ .st-errorBarChart__marker {
13190
+ fill: currentColor;
13191
+ stroke: var(--st-semantic-surface-default);
13192
+ stroke-width: 1.5;
13193
+ cursor: pointer;
13194
+ transition: r 120ms ease;
13195
+ }
11257
13196
 
11258
- /* DivergentBarChart */
11259
- .st-divergentBarChart {
11260
- color: var(--st-component-divergentBarChart-labelColor, var(--st-semantic-text-secondary));
11261
- display: block;
11262
- font-family: inherit;
11263
- position: relative;
11264
- width: 100%;
11265
- }
13197
+ .st-errorBarChart__marker:hover {
13198
+ r: 6;
13199
+ }
11266
13200
 
11267
- .st-divergentBarChart svg,
11268
- .st-divergentBarChart__visual {
11269
- display: block;
11270
- overflow: visible;
11271
- }
13201
+ .st-errorBarChart__marker--category1 { fill: var(--st-semantic-data-category1); }
13202
+ .st-errorBarChart__marker--category2 { fill: var(--st-semantic-data-category2); }
13203
+ .st-errorBarChart__marker--category3 { fill: var(--st-semantic-data-category3); }
13204
+ .st-errorBarChart__marker--category4 { fill: var(--st-semantic-data-category4); }
13205
+ .st-errorBarChart__marker--category5 { fill: var(--st-semantic-data-category5); }
13206
+ .st-errorBarChart__marker--category6 { fill: var(--st-semantic-data-category6); }
13207
+ .st-errorBarChart__marker--category7 { fill: var(--st-semantic-data-category7); }
13208
+ .st-errorBarChart__marker--category8 { fill: var(--st-semantic-data-category8); }
11272
13209
 
11273
- .st-divergentBarChart__grid {
11274
- stroke: var(--st-component-divergentBarChart-gridStroke, var(--st-semantic-border-subtle));
11275
- stroke-dasharray: 2 3;
11276
- stroke-width: 1;
11277
- opacity: 0.7;
11278
- }
13210
+ @media (prefers-reduced-motion: reduce) {
13211
+ .st-errorBarChart__marker { transition: none; }
13212
+ }
11279
13213
 
11280
- .st-divergentBarChart__axis {
11281
- stroke: var(--st-component-divergentBarChart-axisStroke, var(--st-semantic-border-subtle));
11282
- stroke-width: 1;
11283
- }
13214
+ .st-errorBarChart__tooltip {
13215
+ background: var(--st-component-errorBarChart-tooltipBackground, var(--st-semantic-surface-inverse));
13216
+ border-radius: var(--st-radius-sm, 0.25rem);
13217
+ color: var(--st-component-errorBarChart-tooltipText, var(--st-semantic-text-inverse));
13218
+ display: inline-flex;
13219
+ flex-direction: column;
13220
+ font-size: 0.75rem;
13221
+ gap: 0.125rem;
13222
+ line-height: 1.2;
13223
+ padding: 0.375rem 0.5rem;
13224
+ pointer-events: none;
13225
+ position: absolute;
13226
+ transform: translate(-50%, calc(-100% - 8px));
13227
+ white-space: nowrap;
13228
+ z-index: 1;
13229
+ }
11284
13230
 
11285
- .st-divergentBarChart__zeroAxis {
11286
- stroke: var(--st-component-divergentBarChart-zeroStroke, var(--st-semantic-border-strong));
11287
- stroke-width: 1.5;
11288
- }
13231
+ .st-errorBarChart__tooltipLabel {
13232
+ font-weight: 600;
13233
+ }
11289
13234
 
11290
- .st-divergentBarChart__tickLabel,
11291
- .st-divergentBarChart__categoryLabel {
11292
- fill: var(--st-component-divergentBarChart-labelColor, var(--st-semantic-text-secondary));
11293
- font-size: 0.6875rem;
11294
- }
13235
+ .st-errorBarChart__tooltipValue {
13236
+ opacity: 0.85;
13237
+ }
11295
13238
 
11296
- .st-divergentBarChart__bar {
11297
- cursor: pointer;
11298
- transition: opacity var(--st-motion-fast, 120ms) var(--st-motion-easing, ease);
11299
- }
13239
+ .st-bellCurveChart {
13240
+ color: var(--st-semantic-data-category1);
13241
+ display: block;
13242
+ font-family: inherit;
13243
+ position: relative;
13244
+ width: 100%;
13245
+ }
11300
13246
 
11301
- .st-divergentBarChart__bar--positive {
11302
- fill: var(--st-component-divergentBarChart-positiveFill, var(--st-semantic-data-category5));
11303
- }
13247
+ .st-bellCurveChart--category1 { color: var(--st-semantic-data-category1); }
13248
+ .st-bellCurveChart--category2 { color: var(--st-semantic-data-category2); }
13249
+ .st-bellCurveChart--category3 { color: var(--st-semantic-data-category3); }
13250
+ .st-bellCurveChart--category4 { color: var(--st-semantic-data-category4); }
13251
+ .st-bellCurveChart--category5 { color: var(--st-semantic-data-category5); }
13252
+ .st-bellCurveChart--category6 { color: var(--st-semantic-data-category6); }
13253
+ .st-bellCurveChart--category7 { color: var(--st-semantic-data-category7); }
13254
+ .st-bellCurveChart--category8 { color: var(--st-semantic-data-category8); }
11304
13255
 
11305
- .st-divergentBarChart__bar--negative {
11306
- fill: var(--st-component-divergentBarChart-negativeFill, var(--st-semantic-data-category3));
11307
- }
13256
+ .st-bellCurveChart svg {
13257
+ display: block;
13258
+ overflow: visible;
13259
+ }
11308
13260
 
11309
- .st-divergentBarChart__bar--neutral,
11310
- .st-divergentBarChart__bar--zero {
11311
- fill: var(--st-component-divergentBarChart-neutralFill, var(--st-semantic-data-category6));
11312
- }
13261
+ .st-bellCurveChart__visual {
13262
+ display: block;
13263
+ position: relative;
13264
+ }
11313
13265
 
11314
- .st-divergentBarChart__tooltip {
11315
- background: var(--st-component-divergentBarChart-tooltipBackground, var(--st-semantic-surface-inverse));
11316
- border-radius: var(--st-radius-sm, 0.25rem);
11317
- color: var(--st-component-divergentBarChart-tooltipText, var(--st-semantic-text-inverse));
11318
- display: inline-flex;
11319
- flex-direction: column;
11320
- font-size: 0.75rem;
11321
- gap: 0.125rem;
11322
- line-height: 1.2;
11323
- padding: 0.375rem 0.5rem;
11324
- pointer-events: none;
11325
- position: absolute;
11326
- transform: translate(-50%, calc(-100% - 8px));
11327
- white-space: nowrap;
11328
- z-index: 1;
11329
- }
13266
+ .st-bellCurveChart__grid {
13267
+ stroke: var(--st-component-bellCurveChart-gridStroke, var(--st-semantic-border-subtle));
13268
+ stroke-dasharray: 2 3;
13269
+ stroke-width: 1;
13270
+ opacity: 0.7;
13271
+ }
11330
13272
 
11331
- .st-divergentBarChart__tooltipLabel {
11332
- font-weight: 600;
11333
- }
13273
+ .st-bellCurveChart__axis {
13274
+ stroke: var(--st-component-bellCurveChart-axisStroke, var(--st-semantic-border-subtle));
13275
+ stroke-width: 1;
13276
+ }
11334
13277
 
11335
- .st-divergentBarChart__tooltipValue {
11336
- opacity: 0.85;
11337
- }
13278
+ .st-bellCurveChart__tickLabel {
13279
+ fill: var(--st-component-bellCurveChart-labelColor, var(--st-semantic-text-secondary));
13280
+ font-size: 0.6875rem;
13281
+ }
11338
13282
 
11339
- .st-divergentBarChart__legend {
11340
- display: flex;
11341
- flex-wrap: wrap;
11342
- gap: var(--st-spacing-3, 0.75rem);
11343
- list-style: none;
11344
- margin: var(--st-spacing-2, 0.5rem) 0 0;
11345
- padding: 0;
11346
- }
13283
+ .st-bellCurveChart__line {
13284
+ stroke: currentColor;
13285
+ }
11347
13286
 
11348
- .st-divergentBarChart__legendItem {
11349
- align-items: center;
11350
- color: var(--st-semantic-text-secondary);
11351
- display: inline-flex;
11352
- font-size: 0.75rem;
11353
- gap: var(--st-spacing-1, 0.25rem);
11354
- }
13287
+ .st-bellCurveChart__area {
13288
+ stroke: none;
13289
+ }
11355
13290
 
11356
- .st-divergentBarChart__legendSwatch {
11357
- border-radius: 2px;
11358
- height: 0.7rem;
11359
- width: 0.7rem;
11360
- }
13291
+ .st-bellCurveChart__sdMark {
13292
+ stroke: currentColor;
13293
+ stroke-dasharray: 2 3;
13294
+ stroke-width: 1;
13295
+ opacity: 0.5;
13296
+ }
11361
13297
 
11362
- .st-divergentBarChart__legendSwatch--positive {
11363
- background: var(--st-component-divergentBarChart-positiveFill, var(--st-semantic-data-category5));
11364
- }
13298
+ .st-bellCurveChart__mean {
13299
+ stroke: currentColor;
13300
+ stroke-dasharray: 4 3;
13301
+ stroke-width: 1.5;
13302
+ opacity: 0.85;
13303
+ }
11365
13304
 
11366
- .st-divergentBarChart__legendSwatch--negative {
11367
- background: var(--st-component-divergentBarChart-negativeFill, var(--st-semantic-data-category3));
11368
- }
13305
+ .st-bellCurveChart__meanLabel {
13306
+ fill: currentColor;
13307
+ font-size: 0.6875rem;
13308
+ font-weight: 600;
13309
+ }
11369
13310
 
11370
- .st-divergentBarChart__legendSwatch--neutral {
11371
- background: var(--st-component-divergentBarChart-neutralFill, var(--st-semantic-data-category6));
11372
- }
13311
+ .st-bellCurveChart__hit {
13312
+ fill: transparent;
13313
+ cursor: pointer;
13314
+ }
11373
13315
 
11374
- @media (prefers-reduced-motion: reduce) {
11375
- .st-divergentBarChart__bar {
11376
- transition: none;
11377
- }
11378
- }
13316
+ .st-bellCurveChart__tooltip {
13317
+ background: var(--st-component-bellCurveChart-tooltipBackground, var(--st-semantic-surface-inverse));
13318
+ border-radius: var(--st-radius-sm, 0.25rem);
13319
+ color: var(--st-component-bellCurveChart-tooltipText, var(--st-semantic-text-inverse));
13320
+ display: inline-flex;
13321
+ flex-direction: column;
13322
+ font-size: 0.75rem;
13323
+ gap: 0.125rem;
13324
+ line-height: 1.2;
13325
+ padding: 0.375rem 0.5rem;
13326
+ pointer-events: none;
13327
+ position: absolute;
13328
+ transform: translate(-50%, calc(-100% - 8px));
13329
+ white-space: nowrap;
13330
+ z-index: 1;
13331
+ }
11379
13332
 
13333
+ .st-bellCurveChart__tooltipLabel {
13334
+ font-weight: 600;
13335
+ }
11380
13336
 
11381
- /* ── ChordDiagram ── */
11382
- .st-chordDiagram {
13337
+ .st-bellCurveChart__tooltipValue {
13338
+ opacity: 0.85;
13339
+ }
13340
+
13341
+ .st-arcDiagramChart {
11383
13342
  color: var(--st-semantic-text-secondary);
11384
13343
  display: block;
11385
13344
  font-family: inherit;
@@ -11388,63 +13347,79 @@
11388
13347
  width: 100%;
11389
13348
  }
11390
13349
 
11391
- .st-chordDiagram svg,
11392
- .st-chordDiagram__visual {
13350
+ .st-arcDiagramChart svg,
13351
+ .st-arcDiagramChart__visual {
11393
13352
  display: block;
11394
13353
  overflow: visible;
11395
13354
  }
11396
13355
 
11397
- .st-chordDiagram__ribbon {
13356
+ .st-arcDiagramChart__visual {
13357
+ position: relative;
13358
+ }
13359
+
13360
+ .st-arcDiagramChart__legend {
13361
+ position: absolute;
13362
+ right: 0;
13363
+ top: 0;
13364
+ }
13365
+
13366
+ .st-arcDiagramChart__axis {
13367
+ stroke: var(--st-semantic-border-subtle, var(--st-semantic-text-secondary));
13368
+ stroke-width: 1;
13369
+ }
13370
+
13371
+ .st-arcDiagramChart__arc {
11398
13372
  cursor: pointer;
11399
- fill-opacity: 0.4;
11400
- stroke-opacity: 0.55;
11401
- transition: opacity 120ms ease;
13373
+ fill: none;
13374
+ stroke-opacity: 0.6;
13375
+ transition: opacity 120ms ease, stroke-opacity 120ms ease;
11402
13376
  }
11403
13377
 
11404
- .st-chordDiagram__ribbon:hover {
11405
- fill-opacity: 0.62;
13378
+ .st-arcDiagramChart__arc:hover {
13379
+ stroke-opacity: 0.85;
11406
13380
  }
11407
13381
 
11408
- .st-chordDiagram__ribbon--dim {
13382
+ .st-arcDiagramChart__arc--dim {
11409
13383
  opacity: 0.18;
11410
13384
  }
11411
13385
 
11412
13386
  @media (prefers-reduced-motion: reduce) {
11413
- .st-chordDiagram__ribbon {
13387
+ .st-arcDiagramChart__arc {
11414
13388
  transition: none;
11415
13389
  }
11416
13390
  }
11417
13391
 
11418
- .st-chordDiagram__arc {
13392
+ .st-arcDiagramChart__node {
11419
13393
  stroke: var(--st-semantic-surface-default, Canvas);
11420
- stroke-width: 1;
11421
- }
11422
-
11423
- .st-chordDiagram__arc--category1,
11424
- .st-chordDiagram__ribbon--category1 { fill: var(--st-semantic-data-category1); stroke: var(--st-semantic-data-category1); }
11425
- .st-chordDiagram__arc--category2,
11426
- .st-chordDiagram__ribbon--category2 { fill: var(--st-semantic-data-category2); stroke: var(--st-semantic-data-category2); }
11427
- .st-chordDiagram__arc--category3,
11428
- .st-chordDiagram__ribbon--category3 { fill: var(--st-semantic-data-category3); stroke: var(--st-semantic-data-category3); }
11429
- .st-chordDiagram__arc--category4,
11430
- .st-chordDiagram__ribbon--category4 { fill: var(--st-semantic-data-category4); stroke: var(--st-semantic-data-category4); }
11431
- .st-chordDiagram__arc--category5,
11432
- .st-chordDiagram__ribbon--category5 { fill: var(--st-semantic-data-category5); stroke: var(--st-semantic-data-category5); }
11433
- .st-chordDiagram__arc--category6,
11434
- .st-chordDiagram__ribbon--category6 { fill: var(--st-semantic-data-category6); stroke: var(--st-semantic-data-category6); }
11435
- .st-chordDiagram__arc--category7,
11436
- .st-chordDiagram__ribbon--category7 { fill: var(--st-semantic-data-category7); stroke: var(--st-semantic-data-category7); }
11437
- .st-chordDiagram__arc--category8,
11438
- .st-chordDiagram__ribbon--category8 { fill: var(--st-semantic-data-category8); stroke: var(--st-semantic-data-category8); }
11439
-
11440
- .st-chordDiagram__arcLabel {
11441
- /* fill calculé par contrastTextForTone() en inline */
11442
- font-size: 0.7rem;
11443
- font-weight: 600;
11444
- pointer-events: none;
13394
+ stroke-width: 1.5;
11445
13395
  }
11446
13396
 
11447
- .st-chordDiagram__tooltip {
13397
+ .st-arcDiagramChart__arc--category1,
13398
+ .st-arcDiagramChart__node--category1 { stroke: var(--st-semantic-data-category1); }
13399
+ .st-arcDiagramChart__node--category1 { fill: var(--st-semantic-data-category1); }
13400
+ .st-arcDiagramChart__arc--category2,
13401
+ .st-arcDiagramChart__node--category2 { stroke: var(--st-semantic-data-category2); }
13402
+ .st-arcDiagramChart__node--category2 { fill: var(--st-semantic-data-category2); }
13403
+ .st-arcDiagramChart__arc--category3,
13404
+ .st-arcDiagramChart__node--category3 { stroke: var(--st-semantic-data-category3); }
13405
+ .st-arcDiagramChart__node--category3 { fill: var(--st-semantic-data-category3); }
13406
+ .st-arcDiagramChart__arc--category4,
13407
+ .st-arcDiagramChart__node--category4 { stroke: var(--st-semantic-data-category4); }
13408
+ .st-arcDiagramChart__node--category4 { fill: var(--st-semantic-data-category4); }
13409
+ .st-arcDiagramChart__arc--category5,
13410
+ .st-arcDiagramChart__node--category5 { stroke: var(--st-semantic-data-category5); }
13411
+ .st-arcDiagramChart__node--category5 { fill: var(--st-semantic-data-category5); }
13412
+ .st-arcDiagramChart__arc--category6,
13413
+ .st-arcDiagramChart__node--category6 { stroke: var(--st-semantic-data-category6); }
13414
+ .st-arcDiagramChart__node--category6 { fill: var(--st-semantic-data-category6); }
13415
+ .st-arcDiagramChart__arc--category7,
13416
+ .st-arcDiagramChart__node--category7 { stroke: var(--st-semantic-data-category7); }
13417
+ .st-arcDiagramChart__node--category7 { fill: var(--st-semantic-data-category7); }
13418
+ .st-arcDiagramChart__arc--category8,
13419
+ .st-arcDiagramChart__node--category8 { stroke: var(--st-semantic-data-category8); }
13420
+ .st-arcDiagramChart__node--category8 { fill: var(--st-semantic-data-category8); }
13421
+
13422
+ .st-arcDiagramChart__tooltip {
11448
13423
  background: var(--st-semantic-surface-inverse);
11449
13424
  border-radius: var(--st-radius-sm, 0.25rem);
11450
13425
  color: var(--st-semantic-text-inverse);
@@ -11461,122 +13436,125 @@
11461
13436
  z-index: 1;
11462
13437
  }
11463
13438
 
11464
- .st-chordDiagram__tooltipLabel { font-weight: 600; }
11465
- .st-chordDiagram__tooltipValue { opacity: 0.85; }
13439
+ .st-arcDiagramChart__tooltipLabel {
13440
+ font-weight: 600;
13441
+ }
11466
13442
 
11467
- /* ── PackedBubblesChart ── */
11468
- .st-packedBubblesChart {
13443
+ .st-arcDiagramChart__tooltipValue {
13444
+ opacity: 0.85;
13445
+ }
13446
+
13447
+ /* ── TreegraphChart ── */
13448
+ .st-treegraphChart {
11469
13449
  color: var(--st-semantic-text-secondary);
11470
13450
  display: block;
11471
13451
  font-family: inherit;
11472
- max-width: 100%;
11473
13452
  position: relative;
11474
13453
  width: 100%;
11475
13454
  }
11476
13455
 
11477
- .st-packedBubblesChart svg,
11478
- .st-packedBubblesChart__visual {
13456
+ .st-treegraphChart svg,
13457
+ .st-treegraphChart__visual {
11479
13458
  display: block;
11480
13459
  overflow: visible;
11481
13460
  }
11482
13461
 
11483
- .st-packedBubblesChart__circle {
11484
- cursor: pointer;
11485
- stroke: var(--st-semantic-surface-default, Canvas);
13462
+ .st-treegraphChart__link {
13463
+ stroke: var(--st-semantic-border-default);
11486
13464
  stroke-width: 1.5;
11487
- transition: opacity 120ms ease;
11488
- }
11489
-
11490
- .st-packedBubblesChart__circle--dim {
11491
- opacity: 0.4;
11492
13465
  }
11493
13466
 
11494
- @media (prefers-reduced-motion: reduce) {
11495
- .st-packedBubblesChart__circle {
11496
- transition: none;
11497
- }
13467
+ .st-treegraphChart__dot {
13468
+ stroke: var(--st-semantic-surface-default);
13469
+ stroke-width: 1.5;
11498
13470
  }
11499
13471
 
11500
- .st-packedBubblesChart__circle--category1 { fill: var(--st-semantic-data-category1); }
11501
- .st-packedBubblesChart__circle--category2 { fill: var(--st-semantic-data-category2); }
11502
- .st-packedBubblesChart__circle--category3 { fill: var(--st-semantic-data-category3); }
11503
- .st-packedBubblesChart__circle--category4 { fill: var(--st-semantic-data-category4); }
11504
- .st-packedBubblesChart__circle--category5 { fill: var(--st-semantic-data-category5); }
11505
- .st-packedBubblesChart__circle--category6 { fill: var(--st-semantic-data-category6); }
11506
- .st-packedBubblesChart__circle--category7 { fill: var(--st-semantic-data-category7); }
11507
- .st-packedBubblesChart__circle--category8 { fill: var(--st-semantic-data-category8); }
13472
+ .st-treegraphChart__dot--category1 { fill: var(--st-semantic-data-category1); }
13473
+ .st-treegraphChart__dot--category2 { fill: var(--st-semantic-data-category2); }
13474
+ .st-treegraphChart__dot--category3 { fill: var(--st-semantic-data-category3); }
13475
+ .st-treegraphChart__dot--category4 { fill: var(--st-semantic-data-category4); }
13476
+ .st-treegraphChart__dot--category5 { fill: var(--st-semantic-data-category5); }
13477
+ .st-treegraphChart__dot--category6 { fill: var(--st-semantic-data-category6); }
13478
+ .st-treegraphChart__dot--category7 { fill: var(--st-semantic-data-category7); }
13479
+ .st-treegraphChart__dot--category8 { fill: var(--st-semantic-data-category8); }
11508
13480
 
11509
- .st-packedBubblesChart__label {
11510
- /* fill calculé par contrastTextForTone() en inline */
11511
- font-size: 0.7rem;
13481
+ .st-treegraphChart__label {
13482
+ fill: var(--st-semantic-text-primary);
11512
13483
  font-weight: 600;
11513
13484
  pointer-events: none;
11514
13485
  }
11515
13486
 
11516
- .st-packedBubblesChart__tooltip {
11517
- background: var(--st-semantic-surface-inverse);
11518
- border-radius: var(--st-radius-sm, 0.25rem);
11519
- color: var(--st-semantic-text-inverse);
11520
- display: inline-flex;
11521
- flex-direction: column;
11522
- font-size: 0.75rem;
11523
- gap: 0.125rem;
11524
- line-height: 1.2;
11525
- padding: 0.375rem 0.5rem;
11526
- pointer-events: none;
11527
- position: absolute;
11528
- transform: translate(-50%, -115%);
11529
- white-space: nowrap;
11530
- z-index: 1;
11531
- }
11532
-
11533
- .st-packedBubblesChart__tooltipLabel { font-weight: 600; }
11534
- .st-packedBubblesChart__tooltipValue { opacity: 0.85; }
11535
-
11536
- /* ── RoseChart (nightingale / polar area) ── */
11537
- .st-roseChart {
13487
+ .st-heikinAshiChart {
11538
13488
  color: var(--st-semantic-text-secondary);
11539
13489
  display: block;
11540
13490
  font-family: inherit;
11541
- max-width: 100%;
11542
13491
  position: relative;
11543
13492
  width: 100%;
11544
13493
  }
11545
13494
 
11546
- .st-roseChart svg,
11547
- .st-roseChart__visual {
13495
+ .st-heikinAshiChart svg {
11548
13496
  display: block;
11549
13497
  overflow: visible;
11550
13498
  }
11551
13499
 
11552
- .st-roseChart__sector {
11553
- cursor: pointer;
11554
- fill-opacity: 0.82;
11555
- stroke: var(--st-semantic-surface-default, Canvas);
13500
+ .st-heikinAshiChart__visual {
13501
+ display: block;
13502
+ }
13503
+
13504
+ .st-heikinAshiChart__axis {
13505
+ stroke: var(--st-semantic-border-subtle);
11556
13506
  stroke-width: 1;
13507
+ }
13508
+
13509
+ .st-heikinAshiChart__grid {
13510
+ stroke: var(--st-semantic-border-subtle);
13511
+ stroke-dasharray: 2 3;
13512
+ stroke-width: 1;
13513
+ opacity: 0.7;
13514
+ }
13515
+
13516
+ .st-heikinAshiChart__wick {
13517
+ stroke-width: 1.5;
13518
+ }
13519
+
13520
+ .st-heikinAshiChart__wick--up {
13521
+ stroke: var(--st-semantic-feedback-success);
13522
+ }
13523
+
13524
+ .st-heikinAshiChart__wick--down {
13525
+ stroke: var(--st-semantic-feedback-error);
13526
+ }
13527
+
13528
+ .st-heikinAshiChart__body {
13529
+ cursor: pointer;
11557
13530
  transition: opacity 120ms ease;
11558
13531
  }
11559
13532
 
11560
- .st-roseChart__sector--dim {
13533
+ .st-heikinAshiChart__body--dim {
11561
13534
  opacity: 0.4;
11562
13535
  }
11563
13536
 
11564
- .st-roseChart__sector--category1 { fill: var(--st-semantic-data-category1); }
11565
- .st-roseChart__sector--category2 { fill: var(--st-semantic-data-category2); }
11566
- .st-roseChart__sector--category3 { fill: var(--st-semantic-data-category3); }
11567
- .st-roseChart__sector--category4 { fill: var(--st-semantic-data-category4); }
11568
- .st-roseChart__sector--category5 { fill: var(--st-semantic-data-category5); }
11569
- .st-roseChart__sector--category6 { fill: var(--st-semantic-data-category6); }
11570
- .st-roseChart__sector--category7 { fill: var(--st-semantic-data-category7); }
11571
- .st-roseChart__sector--category8 { fill: var(--st-semantic-data-category8); }
13537
+ .st-heikinAshiChart__body--up {
13538
+ fill: var(--st-semantic-feedback-success);
13539
+ }
11572
13540
 
11573
- .st-roseChart__label {
11574
- font-size: 0.68rem;
11575
- font-weight: 650;
11576
- pointer-events: none;
13541
+ .st-heikinAshiChart__body--down {
13542
+ fill: var(--st-semantic-feedback-error);
11577
13543
  }
11578
13544
 
11579
- .st-roseChart__tooltip {
13545
+ @media (prefers-reduced-motion: reduce) {
13546
+ .st-heikinAshiChart__body {
13547
+ transition: none;
13548
+ }
13549
+ }
13550
+
13551
+ .st-heikinAshiChart__tickLabel,
13552
+ .st-heikinAshiChart__categoryLabel {
13553
+ fill: var(--st-semantic-text-secondary);
13554
+ font-size: 0.6875rem;
13555
+ }
13556
+
13557
+ .st-heikinAshiChart__tooltip {
11580
13558
  background: var(--st-semantic-surface-inverse);
11581
13559
  border-radius: var(--st-radius-sm, 0.25rem);
11582
13560
  color: var(--st-semantic-text-inverse);
@@ -11588,22 +13566,21 @@
11588
13566
  padding: 0.375rem 0.5rem;
11589
13567
  pointer-events: none;
11590
13568
  position: absolute;
11591
- transform: translate(-50%, -115%);
13569
+ transform: translate(-50%, calc(-100% - 8px));
11592
13570
  white-space: nowrap;
11593
13571
  z-index: 1;
11594
13572
  }
11595
13573
 
11596
- .st-roseChart__tooltipLabel { font-weight: 600; }
11597
- .st-roseChart__tooltipValue { opacity: 0.85; }
13574
+ .st-heikinAshiChart__tooltipLabel {
13575
+ font-weight: 600;
13576
+ }
11598
13577
 
11599
- @media (prefers-reduced-motion: reduce) {
11600
- .st-roseChart__sector {
11601
- transition: none;
11602
- }
13578
+ .st-heikinAshiChart__tooltipValue {
13579
+ opacity: 0.85;
11603
13580
  }
11604
13581
 
11605
- /* ── ViolinChart (distribution density) ── */
11606
- .st-violinChart {
13582
+ /* ── VariablePieChart (variable-radius pie: angle ∝ value, radius ∝ z) ── */
13583
+ .st-variablePieChart {
11607
13584
  color: var(--st-semantic-text-secondary);
11608
13585
  display: block;
11609
13586
  font-family: inherit;
@@ -11612,56 +13589,40 @@
11612
13589
  width: 100%;
11613
13590
  }
11614
13591
 
11615
- .st-violinChart svg,
11616
- .st-violinChart__visual {
13592
+ .st-variablePieChart svg,
13593
+ .st-variablePieChart__visual {
11617
13594
  display: block;
11618
13595
  overflow: visible;
11619
13596
  }
11620
13597
 
11621
- .st-violinChart__axis {
11622
- stroke: var(--st-semantic-border-subtle);
11623
- stroke-width: 1;
11624
- }
11625
-
11626
- .st-violinChart__shape {
13598
+ .st-variablePieChart__sector {
11627
13599
  cursor: pointer;
11628
- fill-opacity: 0.72;
13600
+ fill-opacity: 0.82;
11629
13601
  stroke: var(--st-semantic-surface-default, Canvas);
11630
13602
  stroke-width: 1;
11631
13603
  transition: opacity 120ms ease;
11632
13604
  }
11633
13605
 
11634
- .st-violinChart__shape--dim {
13606
+ .st-variablePieChart__sector--dim {
11635
13607
  opacity: 0.4;
11636
13608
  }
11637
13609
 
11638
- .st-violinChart__shape--category1 { fill: var(--st-semantic-data-category1); }
11639
- .st-violinChart__shape--category2 { fill: var(--st-semantic-data-category2); }
11640
- .st-violinChart__shape--category3 { fill: var(--st-semantic-data-category3); }
11641
- .st-violinChart__shape--category4 { fill: var(--st-semantic-data-category4); }
11642
- .st-violinChart__shape--category5 { fill: var(--st-semantic-data-category5); }
11643
- .st-violinChart__shape--category6 { fill: var(--st-semantic-data-category6); }
11644
- .st-violinChart__shape--category7 { fill: var(--st-semantic-data-category7); }
11645
- .st-violinChart__shape--category8 { fill: var(--st-semantic-data-category8); }
11646
-
11647
- .st-violinChart__box {
11648
- fill: var(--st-semantic-surface-default, Canvas);
11649
- fill-opacity: 0.85;
11650
- stroke: var(--st-semantic-text-secondary);
11651
- stroke-width: 1;
11652
- }
11653
-
11654
- .st-violinChart__median {
11655
- stroke: var(--st-semantic-text-primary);
11656
- stroke-width: 2;
11657
- }
13610
+ .st-variablePieChart__sector--category1 { fill: var(--st-semantic-data-category1); }
13611
+ .st-variablePieChart__sector--category2 { fill: var(--st-semantic-data-category2); }
13612
+ .st-variablePieChart__sector--category3 { fill: var(--st-semantic-data-category3); }
13613
+ .st-variablePieChart__sector--category4 { fill: var(--st-semantic-data-category4); }
13614
+ .st-variablePieChart__sector--category5 { fill: var(--st-semantic-data-category5); }
13615
+ .st-variablePieChart__sector--category6 { fill: var(--st-semantic-data-category6); }
13616
+ .st-variablePieChart__sector--category7 { fill: var(--st-semantic-data-category7); }
13617
+ .st-variablePieChart__sector--category8 { fill: var(--st-semantic-data-category8); }
11658
13618
 
11659
- .st-violinChart__label {
11660
- fill: var(--st-semantic-text-secondary);
11661
- font-size: 0.75rem;
13619
+ .st-variablePieChart__label {
13620
+ font-size: 0.68rem;
13621
+ font-weight: 650;
13622
+ pointer-events: none;
11662
13623
  }
11663
13624
 
11664
- .st-violinChart__tooltip {
13625
+ .st-variablePieChart__tooltip {
11665
13626
  background: var(--st-semantic-surface-inverse);
11666
13627
  border-radius: var(--st-radius-sm, 0.25rem);
11667
13628
  color: var(--st-semantic-text-inverse);
@@ -11678,97 +13639,11 @@
11678
13639
  z-index: 1;
11679
13640
  }
11680
13641
 
11681
- .st-violinChart__tooltipLabel { font-weight: 600; }
11682
- .st-violinChart__tooltipValue { opacity: 0.85; }
13642
+ .st-variablePieChart__tooltipLabel { font-weight: 600; }
13643
+ .st-variablePieChart__tooltipValue { opacity: 0.85; }
11683
13644
 
11684
13645
  @media (prefers-reduced-motion: reduce) {
11685
- .st-violinChart__shape {
13646
+ .st-variablePieChart__sector {
11686
13647
  transition: none;
11687
13648
  }
11688
13649
  }
11689
-
11690
- .st-geoMap {
11691
- color: var(--st-semantic-text-secondary);
11692
- display: block;
11693
- font-family: inherit;
11694
- position: relative;
11695
- width: 100%;
11696
- }
11697
- .st-geoMap svg,
11698
- .st-geoMap__visual { display: block; }
11699
- .st-geoMap__frame { fill: var(--st-semantic-surface-default, Canvas); stroke: var(--st-semantic-border-subtle); stroke-width: 1; }
11700
- /* GeoJSON : remplissage translucide (color-mix) + contour au ton. */
11701
- .st-geoMap__feature { stroke-width: 1.5; transition: fill-opacity 120ms ease; }
11702
- .st-geoMap__feature--category1 { fill: color-mix(in srgb, var(--st-semantic-data-category1) var(--st-geoMap-mix, 34%), transparent); stroke: var(--st-semantic-data-category1); }
11703
- .st-geoMap__feature--category2 { fill: color-mix(in srgb, var(--st-semantic-data-category2) var(--st-geoMap-mix, 34%), transparent); stroke: var(--st-semantic-data-category2); }
11704
- .st-geoMap__feature--category3 { fill: color-mix(in srgb, var(--st-semantic-data-category3) var(--st-geoMap-mix, 34%), transparent); stroke: var(--st-semantic-data-category3); }
11705
- .st-geoMap__feature--category4 { fill: color-mix(in srgb, var(--st-semantic-data-category4) var(--st-geoMap-mix, 34%), transparent); stroke: var(--st-semantic-data-category4); }
11706
- .st-geoMap__feature--category5 { fill: color-mix(in srgb, var(--st-semantic-data-category5) var(--st-geoMap-mix, 34%), transparent); stroke: var(--st-semantic-data-category5); }
11707
- .st-geoMap__feature--category6 { fill: color-mix(in srgb, var(--st-semantic-data-category6) var(--st-geoMap-mix, 34%), transparent); stroke: var(--st-semantic-data-category6); }
11708
- .st-geoMap__feature--category7 { fill: color-mix(in srgb, var(--st-semantic-data-category7) var(--st-geoMap-mix, 34%), transparent); stroke: var(--st-semantic-data-category7); }
11709
- .st-geoMap__feature--category8 { fill: color-mix(in srgb, var(--st-semantic-data-category8) var(--st-geoMap-mix, 34%), transparent); stroke: var(--st-semantic-data-category8); }
11710
- .st-geoMap__feature--line { fill: none; }
11711
- /* Choroplèthe : intensité ∝ valeur via color-mix sur le ton de la couche. */
11712
- .st-geoMap__region { stroke: var(--st-semantic-border-subtle); stroke-width: 1; }
11713
- .st-geoMap__region--empty { fill: var(--st-semantic-surface-default, Canvas); }
11714
- .st-geoMap__region--category1 { fill: color-mix(in srgb, var(--st-semantic-data-category1) var(--st-geoMap-mix, 60%), transparent); }
11715
- .st-geoMap__region--category2 { fill: color-mix(in srgb, var(--st-semantic-data-category2) var(--st-geoMap-mix, 60%), transparent); }
11716
- .st-geoMap__region--category3 { fill: color-mix(in srgb, var(--st-semantic-data-category3) var(--st-geoMap-mix, 60%), transparent); }
11717
- .st-geoMap__region--category4 { fill: color-mix(in srgb, var(--st-semantic-data-category4) var(--st-geoMap-mix, 60%), transparent); }
11718
- .st-geoMap__region--category5 { fill: color-mix(in srgb, var(--st-semantic-data-category5) var(--st-geoMap-mix, 60%), transparent); }
11719
- .st-geoMap__region--category6 { fill: color-mix(in srgb, var(--st-semantic-data-category6) var(--st-geoMap-mix, 60%), transparent); }
11720
- .st-geoMap__region--category7 { fill: color-mix(in srgb, var(--st-semantic-data-category7) var(--st-geoMap-mix, 60%), transparent); }
11721
- .st-geoMap__region--category8 { fill: color-mix(in srgb, var(--st-semantic-data-category8) var(--st-geoMap-mix, 60%), transparent); }
11722
- /* Points/épingles : ton plein, légère translucidité (parité dataviz). */
11723
- .st-geoMap__point { fill-opacity: 0.82; }
11724
- .st-geoMap__point--category1 { fill: var(--st-semantic-data-category1); }
11725
- .st-geoMap__point--category2 { fill: var(--st-semantic-data-category2); }
11726
- .st-geoMap__point--category3 { fill: var(--st-semantic-data-category3); }
11727
- .st-geoMap__point--category4 { fill: var(--st-semantic-data-category4); }
11728
- .st-geoMap__point--category5 { fill: var(--st-semantic-data-category5); }
11729
- .st-geoMap__point--category6 { fill: var(--st-semantic-data-category6); }
11730
- .st-geoMap__point--category7 { fill: var(--st-semantic-data-category7); }
11731
- .st-geoMap__point--category8 { fill: var(--st-semantic-data-category8); }
11732
- /* Densité : cercles translucides superposés (color-mix ∝ poids). */
11733
- .st-geoMap__density--category1 { fill: color-mix(in srgb, var(--st-semantic-data-category1) var(--st-geoMap-mix, 45%), transparent); }
11734
- .st-geoMap__density--category2 { fill: color-mix(in srgb, var(--st-semantic-data-category2) var(--st-geoMap-mix, 45%), transparent); }
11735
- .st-geoMap__density--category3 { fill: color-mix(in srgb, var(--st-semantic-data-category3) var(--st-geoMap-mix, 45%), transparent); }
11736
- .st-geoMap__density--category4 { fill: color-mix(in srgb, var(--st-semantic-data-category4) var(--st-geoMap-mix, 45%), transparent); }
11737
- .st-geoMap__density--category5 { fill: color-mix(in srgb, var(--st-semantic-data-category5) var(--st-geoMap-mix, 45%), transparent); }
11738
- .st-geoMap__density--category6 { fill: color-mix(in srgb, var(--st-semantic-data-category6) var(--st-geoMap-mix, 45%), transparent); }
11739
- .st-geoMap__density--category7 { fill: color-mix(in srgb, var(--st-semantic-data-category7) var(--st-geoMap-mix, 45%), transparent); }
11740
- .st-geoMap__density--category8 { fill: color-mix(in srgb, var(--st-semantic-data-category8) var(--st-geoMap-mix, 45%), transparent); }
11741
- /* Flux : arcs quadratiques, épaisseur portée par l'attribut stroke-width. */
11742
- .st-geoMap__flow { fill: none; stroke-linecap: round; stroke-opacity: 0.62; }
11743
- .st-geoMap__flow--category1 { stroke: var(--st-semantic-data-category1); }
11744
- .st-geoMap__flow--category2 { stroke: var(--st-semantic-data-category2); }
11745
- .st-geoMap__flow--category3 { stroke: var(--st-semantic-data-category3); }
11746
- .st-geoMap__flow--category4 { stroke: var(--st-semantic-data-category4); }
11747
- .st-geoMap__flow--category5 { stroke: var(--st-semantic-data-category5); }
11748
- .st-geoMap__flow--category6 { stroke: var(--st-semantic-data-category6); }
11749
- .st-geoMap__flow--category7 { stroke: var(--st-semantic-data-category7); }
11750
- .st-geoMap__flow--category8 { stroke: var(--st-semantic-data-category8); }
11751
- /* Hexbin : intensité ∝ valeur agrégée via color-mix. */
11752
- .st-geoMap__hexbin--category1 { fill: color-mix(in srgb, var(--st-semantic-data-category1) var(--st-geoMap-mix, 72%), transparent); }
11753
- .st-geoMap__hexbin--category2 { fill: color-mix(in srgb, var(--st-semantic-data-category2) var(--st-geoMap-mix, 72%), transparent); }
11754
- .st-geoMap__hexbin--category3 { fill: color-mix(in srgb, var(--st-semantic-data-category3) var(--st-geoMap-mix, 72%), transparent); }
11755
- .st-geoMap__hexbin--category4 { fill: color-mix(in srgb, var(--st-semantic-data-category4) var(--st-geoMap-mix, 72%), transparent); }
11756
- .st-geoMap__hexbin--category5 { fill: color-mix(in srgb, var(--st-semantic-data-category5) var(--st-geoMap-mix, 72%), transparent); }
11757
- .st-geoMap__hexbin--category6 { fill: color-mix(in srgb, var(--st-semantic-data-category6) var(--st-geoMap-mix, 72%), transparent); }
11758
- .st-geoMap__hexbin--category7 { fill: color-mix(in srgb, var(--st-semantic-data-category7) var(--st-geoMap-mix, 72%), transparent); }
11759
- .st-geoMap__hexbin--category8 { fill: color-mix(in srgb, var(--st-semantic-data-category8) var(--st-geoMap-mix, 72%), transparent); }
11760
- /* Clusters : centroïde distinctif (disque + anneau), toné via currentColor. */
11761
- .st-geoMap__cluster--category1 { color: var(--st-semantic-data-category1); }
11762
- .st-geoMap__cluster--category2 { color: var(--st-semantic-data-category2); }
11763
- .st-geoMap__cluster--category3 { color: var(--st-semantic-data-category3); }
11764
- .st-geoMap__cluster--category4 { color: var(--st-semantic-data-category4); }
11765
- .st-geoMap__cluster--category5 { color: var(--st-semantic-data-category5); }
11766
- .st-geoMap__cluster--category6 { color: var(--st-semantic-data-category6); }
11767
- .st-geoMap__cluster--category7 { color: var(--st-semantic-data-category7); }
11768
- .st-geoMap__cluster--category8 { color: var(--st-semantic-data-category8); }
11769
- .st-geoMap__clusterDot { fill: currentColor; fill-opacity: 0.78; }
11770
- .st-geoMap__clusterRing { fill: none; stroke: currentColor; stroke-width: 1.5; }
11771
-
11772
- @media (prefers-reduced-motion: reduce) {
11773
- .st-geoMap__feature { transition: none; }
11774
- }