@flood-md/react 0.2.12 → 0.2.13

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.
@@ -82,6 +82,25 @@
82
82
  .flood-root .flood-table[data-density="compact"] { --flood-data-padding: var(--flood-sys-space-2); }
83
83
  .flood-root .flood-table caption { text-align: start; padding-block-end: var(--flood-sys-space-3); font-weight: var(--flood-sys-type-label-weight); color: var(--flood-sys-color-content-default); }
84
84
  .flood-root .flood-table :is(th, td) { text-align: start; vertical-align: middle; padding: var(--flood-data-padding) var(--flood-sys-space-3); overflow-wrap: break-word; }
85
+ .flood-root .flood-scroll-area__content:has(> .flood-table[data-bounded]) {
86
+ --flood-table-rail-clearance: 0px;
87
+ --flood-table-end-clearance: 0px;
88
+ --flood-table-external-clearance: var(--flood-table-rail-clearance);
89
+ padding-inline-end: var(--flood-table-external-clearance);
90
+ }
91
+ /* A bounded table keeps the same end clearance as rows grow and shrink. */
92
+ @media (forced-colors: none) {
93
+ .flood-root .flood-scroll-area__viewport[data-scrollbars="overlay"] > .flood-scroll-area__content:has(> .flood-table[data-bounded]) {
94
+ --flood-table-rail-clearance: calc(var(--flood-sys-scrollbar-size) + 2 * var(--flood-sys-scrollbar-inset));
95
+ }
96
+ }
97
+ .flood-root .flood-scroll-area__content:has(> .flood-table[data-bounded]):not(:has(> .flood-table[data-fixed-columns], > .flood-table > thead > tr > [data-pin-edge="end"], > .flood-table > thead > tr > [data-resize-edge]:last-child)) {
98
+ --flood-table-end-clearance: var(--flood-table-rail-clearance);
99
+ --flood-table-external-clearance: 0px;
100
+ }
101
+ .flood-root .flood-table[data-bounded] > :is(thead, tbody, tfoot) > tr > :is(th, td):last-child {
102
+ padding-inline-end: calc(var(--flood-sys-space-3) + var(--flood-table-end-clearance));
103
+ }
85
104
  .flood-root .flood-table :is(th, td)[data-wrap="anywhere"] { overflow-wrap: anywhere; }
86
105
  .flood-root .flood-table[data-cell-vertical-align="top"] > :where(thead, tbody, tfoot) > :where(tr) > :is(th, td) { vertical-align: top; }
87
106
  .flood-root .flood-table[data-cell-vertical-align="bottom"] > :where(thead, tbody, tfoot) > :where(tr) > :is(th, td) { vertical-align: bottom; }
@@ -97,6 +116,17 @@
97
116
  .flood-root .flood-table[data-sticky-header] > thead > tr:last-child > :is(th, td) {
98
117
  box-shadow: inset 0 calc(-1 * var(--flood-sys-stroke-width)) var(--flood-sys-color-divider-decorative);
99
118
  }
119
+ /* Carry the sticky header surface and its divider through the scrollbar clearance. */
120
+ .flood-root .flood-table[data-sticky-header] > thead::after {
121
+ content: "";
122
+ position: absolute;
123
+ inset-block: 0;
124
+ inset-inline-start: 100%;
125
+ inline-size: var(--flood-table-external-clearance);
126
+ background: inherit;
127
+ box-shadow: inset 0 calc(-1 * var(--flood-sys-stroke-width)) var(--flood-sys-color-divider-decorative);
128
+ pointer-events: none;
129
+ }
100
130
  .flood-root .flood-table > tbody > tr:not(:last-child) > :is(th, td) { border-block-end: var(--flood-sys-stroke-width) solid var(--flood-sys-color-divider-decorative); }
101
131
  .flood-root .flood-table > tfoot > tr:first-child > :is(th, td) { border-block-start: var(--flood-sys-stroke-width) solid var(--flood-sys-color-divider-decorative); }
102
132
  .flood-root .flood-table > tfoot { background: color-mix(in srgb, var(--flood-sys-color-content-default) 8%, transparent); }
@@ -368,7 +398,10 @@
368
398
  background: var(--flood-sys-color-surface-default);
369
399
  color: var(--flood-sys-color-content-default);
370
400
  }
371
- .flood-root .flood-code-snippet__code {
401
+ .flood-root .flood-code-snippet__line {
402
+ display: flex;
403
+ align-items: baseline;
404
+ gap: var(--flood-sys-space-2);
372
405
  flex: 1 1 20ch;
373
406
  min-inline-size: 0;
374
407
  font-family: var(--flood-sys-font-mono);
@@ -376,11 +409,24 @@
376
409
  font-weight: var(--flood-sys-type-compact-weight);
377
410
  line-height: var(--flood-sys-type-compact-line-height);
378
411
  letter-spacing: normal;
412
+ }
413
+ .flood-root .flood-code-snippet__prompt {
414
+ flex: none;
415
+ max-inline-size: 25%;
416
+ overflow-wrap: anywhere;
417
+ color: var(--flood-sys-color-content-subtle);
418
+ user-select: none;
419
+ }
420
+ .flood-root .flood-code-snippet__code {
421
+ flex: 1;
422
+ min-inline-size: 0;
423
+ font: inherit;
424
+ text-align: start;
379
425
  white-space: pre-wrap;
380
426
  overflow-wrap: anywhere;
381
427
  user-select: text;
382
428
  }
383
- .flood-root .flood-code-snippet__action { flex: none; max-inline-size: 100%; }
429
+ .flood-root .flood-code-snippet__action { flex: none; max-inline-size: 100%; margin-inline-start: auto; }
384
430
  .flood-root .flood-surface {
385
431
  box-sizing: border-box;
386
432
  border-radius: var(--flood-sys-radius-block);
@@ -1694,6 +1740,8 @@
1694
1740
  .flood-root .flood-data-table__table[data-inset="roomy"] > :is(thead,tbody) > tr > :last-child { padding-inline-end:var(--flood-data-table-edge); }
1695
1741
  .flood-root .flood-data-table__table[data-inset="roomy"] > thead > tr > th[data-sortable]:first-child { padding-inline-start:calc(var(--flood-data-table-edge) - var(--flood-sys-space-2)); }
1696
1742
  .flood-root .flood-data-table__table[data-inset="roomy"] > thead > tr > th[data-sortable]:last-child { padding-inline-end:calc(var(--flood-data-table-edge) - var(--flood-sys-space-2)); }
1743
+ .flood-root .flood-data-table__table[data-bounded][data-inset="roomy"] > :is(thead,tbody) > tr > :last-child { padding-inline-end:calc(var(--flood-data-table-edge) + var(--flood-table-end-clearance)); }
1744
+ .flood-root .flood-data-table__table[data-bounded][data-inset="roomy"] > thead > tr > th[data-sortable]:last-child { padding-inline-end:calc(var(--flood-data-table-edge) - var(--flood-sys-space-2) + var(--flood-table-end-clearance)); }
1697
1745
  .flood-root .flood-data-table[data-inset="roomy"] .flood-data-table__footer { padding-inline:var(--flood-data-table-edge); }
1698
1746
  .flood-root .flood-data-table .flood-data-table__primary-action {
1699
1747
  min-block-size:0;
@@ -1815,7 +1863,10 @@
1815
1863
  inset-inline-start:var(--flood-data-table-pin-offset);
1816
1864
  }
1817
1865
  .flood-root .flood-data-table__table > :is(thead,tbody) > tr > [data-pin-edge="end"] {
1818
- inset-inline-end:calc(var(--flood-data-table-pin-offset) + var(--flood-scroll-content-inline, 0px));
1866
+ inset-inline-end:var(--flood-data-table-pin-offset);
1867
+ }
1868
+ .flood-root .flood-data-table__table[data-bounded] > :is(thead,tbody) > tr > [data-pin-edge="end"] {
1869
+ inset-inline-end:calc(var(--flood-data-table-pin-offset) + var(--flood-table-external-clearance));
1819
1870
  }
1820
1871
  .flood-root .flood-data-table__table > :is(thead,tbody) > tr > [data-pin-boundary="true"]::before {
1821
1872
  content:"";
@@ -1934,7 +1985,8 @@
1934
1985
  }
1935
1986
 
1936
1987
  .flood-root .flood-sparkline[data-tone="success"] { --flood-sparkline-color: var(--flood-sys-color-feedback-success); }
1937
- .flood-root .flood-sparkline[data-tone="accent"] { --flood-sparkline-color: var(--flood-sys-color-accent-content); }
1988
+ .flood-root .flood-sparkline[data-tone="accent"] { --flood-sparkline-color: var(--flood-chart-accent); }
1989
+ .flood-root .flood-sparkline__plot stop:first-child { stop-opacity: var(--flood-chart-fill-strength); }
1938
1990
  .flood-root .flood-sparkline[data-tone="warning"] { --flood-sparkline-color: var(--flood-sys-color-feedback-warning); }
1939
1991
  .flood-root .flood-sparkline[data-tone="error"] { --flood-sparkline-color: var(--flood-sys-color-feedback-error); }
1940
1992
 
@@ -1954,7 +2006,7 @@
1954
2006
  vector-effect: non-scaling-stroke;
1955
2007
  }
1956
2008
 
1957
- .flood-root .flood-sparkline__line { stroke-width: calc(1.5 * var(--flood-sys-stroke-width)); }
2009
+ .flood-root .flood-sparkline__line { stroke-width: var(--flood-chart-stroke-width); }
1958
2010
  .flood-root .flood-sparkline__point { stroke-width: calc(3 * var(--flood-sys-stroke-width)); }
1959
2011
  .flood-root .flood-sparkline__point[data-latest] { stroke-width: calc(4 * var(--flood-sys-stroke-width)); }
1960
2012
  .flood-root .flood-sparkline__halo { stroke-width: calc(8 * var(--flood-sys-stroke-width)); opacity: .16; }
@@ -1967,7 +2019,7 @@
1967
2019
  }
1968
2020
  @media (hover: hover) and (prefers-reduced-motion: no-preference) {
1969
2021
  .flood-root:not([data-flood-motion="reduce"]) :is(.flood-sparkline__halo, .flood-sparkline__area):not(:where([data-flood-motion="reduce"] *)) {
1970
- transition: opacity var(--flood-sys-motion-duration-fast) var(--flood-sys-motion-easing);
2022
+ transition: opacity var(--flood-chart-motion);
1971
2023
  }
1972
2024
  }
1973
2025
  .flood-root .flood-sparkline__empty { display: grid; place-items: center; min-block-size: var(--flood-sparkline-height); }
@@ -1977,212 +2029,1561 @@
1977
2029
  .flood-root :is(.flood-sparkline__area, .flood-sparkline__halo) { display: none; }
1978
2030
  }
1979
2031
 
1980
- .flood-root .flood-file-list { box-sizing:border-box; padding-inline:var(--flood-sys-space-4); border:var(--flood-sys-stroke-width) solid var(--flood-sys-color-border-decorative); border-radius:var(--flood-sys-radius-field); background:var(--flood-sys-color-surface-default); container-type:inline-size; container-name:flood-files; }
1981
- .flood-root .flood-file-item__thumbnail { display:grid; place-items:center; flex:none; inline-size:var(--flood-sys-control-md-height); block-size:var(--flood-sys-control-md-height); border-radius:var(--flood-sys-radius-action); color:var(--flood-sys-color-content-subtle); overflow:hidden; background:var(--flood-sys-color-field-background); }
1982
- .flood-root .flood-file-item__thumbnail img { display:block; inline-size:100%; block-size:100%; object-fit:cover; }
1983
- .flood-root .flood-file-item__name { overflow-wrap:anywhere; }
1984
- .flood-root .flood-file-item__heading { display:flex; align-items:center; flex-wrap:wrap; gap:var(--flood-sys-space-1) var(--flood-sys-space-2); min-inline-size:0; }
1985
- .flood-root .flood-file-item__heading>.flood-file-item__name { min-inline-size:0; }
1986
- .flood-root .flood-file-meta { flex:0 1 auto; max-inline-size:100%; flex-wrap:wrap; white-space:normal; overflow-wrap: break-word; color:var(--flood-sys-color-content-subtle); font-weight:400; }
1987
- .flood-root .flood-file-meta>span { min-inline-size:0; }
1988
- .flood-root .flood-file-item .flood-data-list-item__trailing { flex:none; max-inline-size:none; }
1989
- .flood-root .flood-upload-item .flood-data-list-item__copy { align-self:center; }
1990
- .flood-root .flood-upload-item__status-row { display:flex; align-items:center; gap:var(--flood-sys-space-2); min-inline-size:0; }
1991
- .flood-root .flood-upload-item__status-row[data-progress]>.flood-status-indicator { flex:none; white-space:nowrap; }
1992
- .flood-root .flood-upload-item .flood-indicator { flex:1; min-inline-size:0; }
1993
- .flood-root .flood-upload-item .flood-status-indicator { overflow-wrap:break-word; }
1994
- .flood-root .flood-image-preview { inline-size:min(56rem,calc(100% - var(--flood-sys-space-8))); }
1995
- .flood-root .flood-image-preview__figure { margin:0; }
1996
- .flood-root .flood-image-preview__media { display:grid; place-items:center; min-block-size:12rem; max-inline-size:100%; background:var(--flood-sys-color-surface-canvas); border-radius:var(--flood-sys-radius-field); overflow:hidden; }
1997
- .flood-root .flood-image-preview__image { grid-area:1/1; inline-size:auto; max-inline-size:100%; max-block-size:60dvh; object-fit:contain; }
1998
- .flood-root .flood-image-preview__media[data-state="loading"] .flood-image-preview__image { visibility:hidden; }
1999
- .flood-root .flood-image-preview__media>[role="status"] { grid-area:1/1; }
2000
- .flood-root .flood-image-preview__caption { margin-block-start:var(--flood-sys-space-2); font-size:var(--flood-sys-type-compact-size); line-height:var(--flood-sys-type-compact-line-height); color:var(--flood-sys-color-content-subtle); }
2001
- .flood-root .flood-image-preview__actions { display:flex; justify-content:flex-end; margin-block-start:var(--flood-sys-space-4); }
2002
- @media(max-width:30rem){.flood-root .flood-file-list>.flood-file-item { flex-wrap:nowrap; }.flood-root .flood-file-item__thumbnail{inline-size:var(--flood-sys-control-sm-height);block-size:var(--flood-sys-control-sm-height);}}
2003
- @container flood-files (max-width:16rem){
2004
- .flood-root .flood-file-list>.flood-file-item:not([hidden]) { display:grid; grid-template-columns:minmax(0,1fr); }
2005
- .flood-root .flood-file-item .flood-data-list-item__trailing { justify-content:flex-start; }
2006
- .flood-root .flood-file-item .flood-data-list-item__actions { flex-wrap:wrap; }
2007
- .flood-root .flood-upload-item__status-row { flex-wrap:wrap; }
2008
- .flood-root .flood-upload-item__status-row[data-progress]>.flood-status-indicator { flex:0 1 auto; min-inline-size:0; white-space:normal; }
2009
- .flood-root .flood-upload-item .flood-indicator { flex-basis:100%; }
2032
+ .flood-root :is(.flood-line-chart, .flood-bar-chart, .flood-donut-chart, .flood-heatmap, .flood-sparkline, .flood-bar-list, .flood-scatter-chart, .flood-range-chart, .flood-bullet-chart, .flood-waterfall-chart, .flood-histogram, .flood-box-plot, .flood-dumbbell-chart) {
2033
+ --flood-chart-stroke-width: calc(2 * var(--flood-sys-stroke-width));
2034
+ --flood-chart-tip-gap: var(--flood-sys-space-4);
2035
+ --flood-chart-accent: var(--flood-sys-color-accent-content);
2036
+ --flood-chart-motion: var(--flood-sys-motion-duration-fast) var(--flood-sys-motion-easing);
2037
+ --flood-chart-fill-strength: .3;
2038
+ --flood-chart-grid: radial-gradient(circle, var(--flood-sys-color-divider-decorative) .045rem, transparent .06rem) 0 0 / var(--flood-sys-space-3) var(--flood-sys-space-3);
2010
2039
  }
2011
-
2012
- .flood-root .flood-time-picker__panel { inline-size:min(var(--flood-time-picker-width,22rem),var(--flood-overlay-available-width,calc(100dvw - 1rem))); padding:var(--flood-sys-space-1); }
2013
- .flood-root .flood-time-picker__scroll { max-block-size:min(15rem,calc(var(--flood-overlay-available-height,60dvh) - 1rem)); }
2014
-
2015
- .flood-root .flood-date-time-range-picker { min-inline-size:0; inline-size:100%; }
2016
-
2017
- .flood-root .flood-overflow-actions { position:relative; inline-size:100%; min-inline-size:0; }
2018
- .flood-root .flood-overflow-actions__bar { display:flex; flex-wrap:nowrap; gap:var(--flood-sys-space-2); inline-size:fit-content; max-inline-size:100%; min-inline-size:0; overflow:auto; }
2019
- .flood-root .flood-overflow-actions__bar > button { flex:none; }
2020
- .flood-root :is(.flood-overflow-actions__leading,.flood-overflow-actions__trailing) { display:flex; align-items:center; flex:none; min-inline-size:0; }
2021
- .flood-root .flood-overflow-actions__trailing { margin-inline-start:auto; }
2022
- .flood-root .flood-overflow-actions__measure { position:absolute; visibility:hidden; pointer-events:none; inline-size:max-content; block-size:0; overflow:hidden; display:flex; gap:var(--flood-sys-space-2); }
2023
- .flood-root .flood-menubar { display:flex; align-items:center; gap:var(--flood-sys-space-1); min-inline-size:0; max-inline-size:100%; overflow:auto; }
2024
- .flood-root .flood-menubar > button { flex:none; }
2025
- .flood-root .flood-button[data-tone="danger"] { --flood-action-content:var(--flood-sys-color-action-danger-content); }
2026
- .flood-root .flood-button--solid[data-tone="danger"] {
2027
- --flood-action-rest:var(--flood-sys-color-action-danger-content);
2028
- --flood-action-hover:color-mix(in srgb,var(--flood-sys-color-action-danger-content),white 10%);
2029
- --flood-action-pressed:color-mix(in srgb,var(--flood-sys-color-action-danger-content),black 10%);
2030
- --flood-action-content:var(--flood-sys-color-surface-canvas);
2040
+ .flood-root .flood-line-chart { --flood-chart-height: 15rem; min-inline-size: 0; container-type: inline-size; }
2041
+ .flood-root .flood-line-chart__body {
2042
+ display: grid;
2043
+ grid-template-columns: minmax(0, 1fr);
2044
+ gap: var(--flood-sys-space-2) var(--flood-sys-space-3);
2045
+ direction: ltr;
2031
2046
  }
2032
-
2033
- /* BulkActionBar shares Toolbar geometry and adaptive command ownership. */
2034
- .flood-root .flood-bulk-action-bar { inline-size:100%; max-inline-size:32rem; }
2035
- .flood-root .flood-bulk-action-bar > .flood-overflow-actions__bar { inline-size:100%; background:var(--flood-sys-color-surface-floating); border-color:var(--flood-sys-color-border-floating); box-shadow:0 var(--flood-sys-effect-floating-shadow-offset) var(--flood-sys-effect-floating-shadow-blur) var(--flood-sys-color-shadow-floating); }
2036
- .flood-root .flood-bulk-action-bar > .flood-overflow-actions__bar > .flood-overflow-actions__leading { max-inline-size:35%; }
2037
- .flood-root .flood-bulk-action-bar__selection { box-sizing:border-box; inline-size:7rem; max-inline-size:100%; padding-inline:var(--flood-sys-space-2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-variant-numeric:tabular-nums; }
2038
- .flood-root .flood-bulk-action-bar__selection[data-counter="number"] { inline-size:3rem; text-align:center; }
2039
- @media(forced-colors:active) { .flood-root .flood-bulk-action-bar > .flood-overflow-actions__bar { background:Canvas; border-color:CanvasText; box-shadow:none; } }
2040
-
2041
- /* Nearest material owners establish their own inherited recipes. Absolute surface
2042
- palette roles stay unchanged; descendants consume the existing semantic roles. */
2043
- .flood-root :where(.flood-surface, .flood-dialog, .flood-overlay-panel,
2044
- .flood-select__menu, .flood-toast, .flood-toolbar:not([data-variant="plain"]), .flood-calendar:not(.flood-date-picker__panel .flood-calendar):not(.flood-date-range-picker__panel .flood-calendar),
2045
- .flood-file-list, .flood-color-picker__panel, .flood-bulk-action-bar,
2046
- .flood-tabs:not([data-variant="line"]), .flood-disclosure:not(.flood-accordion > .flood-disclosure), .flood-accordion,
2047
- .flood-segmented .flood-choice-group, .flood-data-table__footer, .flood-code-snippet),
2048
- .flood-root :where([data-flood-surface="filled"], [data-flood-surface="floating"]),
2049
- .flood-root:is([data-flood-surface="filled"], [data-flood-surface="floating"]) {
2050
- --flood-sys-color-action-subtle-rest: var(--flood-sys-color-context-filled-action-rest);
2051
- --flood-sys-color-action-subtle-hover: var(--flood-sys-color-context-filled-action-hover);
2052
- --flood-sys-color-action-subtle-pressed: var(--flood-sys-color-context-filled-action-pressed);
2053
- --flood-sys-color-action-subtle-disabled: var(--flood-sys-color-context-filled-action-disabled);
2054
- --flood-sys-color-action-ghost-hover: var(--flood-sys-color-context-filled-action-hover);
2055
- --flood-sys-color-action-ghost-pressed: var(--flood-sys-color-context-filled-action-pressed);
2056
- --flood-sys-color-action-on-surface-rest: var(--flood-sys-color-context-filled-action-rest);
2057
- --flood-sys-color-action-on-surface-hover: var(--flood-sys-color-context-filled-action-hover);
2058
- --flood-sys-color-action-on-surface-pressed: var(--flood-sys-color-context-filled-action-pressed);
2059
- --flood-sys-color-action-on-surface-disabled: var(--flood-sys-color-context-filled-action-disabled);
2060
- --flood-sys-color-field-background: var(--flood-sys-color-context-filled-field-background);
2061
- --flood-sys-color-field-border: var(--flood-sys-color-context-filled-field-border);
2062
- --flood-sys-color-field-readonly: var(--flood-sys-color-context-filled-field-readonly);
2063
- --flood-sys-color-field-disabled: var(--flood-sys-color-context-filled-field-disabled);
2064
- --flood-sys-color-selection-background: var(--flood-sys-color-context-filled-selection-background);
2065
- --flood-sys-color-border-decorative: var(--flood-sys-color-context-filled-border-decorative);
2066
- --flood-sys-color-divider-decorative: var(--flood-sys-color-context-filled-divider-decorative);
2067
- --flood-sys-color-surface-supporting: var(--flood-sys-color-context-filled-supporting-background);
2068
- --flood-sys-color-surface-avatar: var(--flood-sys-color-context-filled-avatar-background);
2069
- --flood-sys-color-surface-muted: var(--flood-sys-color-context-filled-muted-background);
2070
- --flood-sys-color-indicator-track: var(--flood-sys-color-context-filled-indicator-track);
2071
- --flood-sys-color-loading-placeholder: var(--flood-sys-color-context-filled-loading-placeholder);
2047
+ .flood-root .flood-line-chart__body[data-y-axis] { grid-template-columns: fit-content(28%) minmax(0, 1fr); }
2048
+ .flood-root .flood-line-chart__y {
2049
+ display: flex;
2050
+ flex-direction: column;
2051
+ justify-content: space-between;
2052
+ text-align: end;
2053
+ overflow-wrap: anywhere;
2054
+ font-variant-numeric: tabular-nums;
2055
+ }
2056
+ .flood-root .flood-line-chart__x { display: flex; justify-content: space-between; gap: var(--flood-sys-space-2); min-block-size: var(--flood-sys-space-6); align-items: start; }
2057
+ .flood-root .flood-line-chart__body[data-y-axis] > .flood-line-chart__x { grid-column: 2; }
2058
+ .flood-root .flood-line-chart__y[data-flat] { justify-content: center; }
2059
+ .flood-root .flood-line-chart__x > [data-covered] { visibility: hidden; }
2060
+ .flood-root .flood-line-chart__x > :only-child { margin-inline: auto; }
2061
+ .flood-root .flood-line-chart__x > * { min-inline-size: 0; overflow-wrap: anywhere; }
2062
+ .flood-root .flood-line-chart__plot {
2063
+ --flood-chart-x: var(--flood-chart-pointer, var(--flood-chart-point));
2064
+ --flood-chart-ratio: var(--flood-chart-pointer-ratio, var(--flood-chart-point-ratio));
2065
+ position: relative;
2066
+ display: flex;
2067
+ align-items: stretch;
2068
+ block-size: var(--flood-chart-height);
2069
+ padding-block: var(--flood-sys-space-2);
2070
+ cursor: crosshair;
2072
2071
  }
2073
-
2074
- .flood-root[data-flood-surface="filled"],
2075
- .flood-root :where([data-flood-surface="filled"], .flood-surface[data-flood-elevation="default"], .flood-toolbar:not([data-variant="plain"]), .flood-file-list, .flood-color-picker__panel,
2076
- .flood-tabs:not([data-variant="line"]), .flood-disclosure:not(.flood-accordion > .flood-disclosure), .flood-accordion,
2077
- .flood-segmented .flood-choice-group, .flood-data-table__footer, .flood-code-snippet) {
2078
- --flood-sys-color-surface-current: var(--flood-sys-color-surface-default);
2072
+ .flood-root :is(.flood-line-chart__plot, .flood-bar-chart__plot, .flood-donut-chart__plot, .flood-dumbbell-chart__plot):focus-visible {
2073
+ outline: var(--flood-sys-focus-width) solid var(--flood-sys-color-focus-ring);
2074
+ outline-offset: var(--flood-sys-focus-offset);
2075
+ border-radius: var(--flood-sys-radius-indicator);
2079
2076
  }
2080
- .flood-root :where(.flood-surface[data-flood-elevation="raised"], .flood-calendar:not(.flood-date-picker__panel .flood-calendar):not(.flood-date-range-picker__panel .flood-calendar)) {
2081
- --flood-sys-color-surface-current: var(--flood-sys-color-surface-raised);
2077
+ .flood-root .flood-line-chart__plot > svg {
2078
+ position: relative;
2079
+ display: block;
2080
+ inline-size: 100%;
2081
+ overflow: visible;
2082
2082
  }
2083
- .flood-root :where(.flood-surface[data-flood-elevation="overlay"], .flood-dialog) {
2084
- --flood-sys-color-surface-current: var(--flood-sys-color-surface-overlay);
2083
+ .flood-root .flood-line-chart__plot::before {
2084
+ content: "";
2085
+ position: absolute;
2086
+ inset: var(--flood-sys-space-2) 0;
2087
+ background: var(--flood-chart-grid);
2088
+ mask-image: linear-gradient(90deg, transparent, black 10%, black 90%, transparent),
2089
+ linear-gradient(transparent, black 12%, black 88%, transparent);
2090
+ mask-composite: intersect;
2091
+ pointer-events: none;
2085
2092
  }
2086
- .flood-root[data-flood-surface="floating"],
2087
- .flood-root :where(.flood-overlay-panel, .flood-select__menu, .flood-toast, .flood-bulk-action-bar,
2088
- .flood-bulk-action-bar > .flood-overflow-actions__bar, [data-flood-surface="floating"]) {
2089
- --flood-sys-color-surface-current: var(--flood-sys-color-surface-floating);
2093
+ .flood-root .flood-line-chart__grid { stroke: var(--flood-sys-color-divider-decorative); opacity: .65; }
2094
+ .flood-root :is(.flood-line-chart__grid, .flood-line-chart__stroke, .flood-line-chart__point) {
2095
+ fill: none;
2096
+ vector-effect: non-scaling-stroke;
2090
2097
  }
2091
- /* Picker calendars shed their standalone material; the popup is their owner. */
2092
- .flood-root :where(.flood-date-picker__panel, .flood-date-range-picker__panel) .flood-calendar {
2093
- --flood-sys-color-surface-current: inherit;
2098
+ .flood-root .flood-line-chart__gradient,
2099
+ .flood-root :is(.flood-line-chart, .flood-bar-chart) [data-series="0"] { color: var(--flood-chart-accent); }
2100
+ .flood-root .flood-line-chart__gradient > stop:first-child { stop-opacity: var(--flood-chart-fill-strength); }
2101
+ .flood-root :is(.flood-line-chart, .flood-bar-chart) [data-series="1"] { color: var(--flood-sys-color-content-subtle); --flood-chart-dash: 5 4; }
2102
+ .flood-root :is(.flood-line-chart, .flood-bar-chart) [data-series="2"] { color: var(--flood-sys-color-content-default); --flood-chart-dash: 1 4; }
2103
+ .flood-root :is(.flood-line-chart, .flood-bar-chart) [data-series="3"] { color: var(--flood-sys-color-content-subtle); --flood-chart-dash: 8 4 2 4; }
2104
+ .flood-root .flood-line-chart__stroke {
2105
+ stroke: currentColor;
2106
+ stroke-width: var(--flood-chart-stroke-width);
2107
+ stroke-linejoin: round;
2108
+ stroke-linecap: round;
2109
+ stroke-dasharray: var(--flood-chart-dash, none);
2110
+ }
2111
+ .flood-root .flood-line-chart__point { stroke: currentColor; stroke-width: .4rem; stroke-linecap: round; }
2112
+ .flood-root .flood-line-chart__plot[data-inspecting] > svg > [data-series] { opacity: .46; }
2113
+ .flood-root .flood-line-chart__highlight { opacity: 0; }
2114
+ .flood-root .flood-line-chart__plot[data-inspecting] .flood-line-chart__highlight { opacity: 1; }
2115
+ .flood-root .flood-line-chart__highlight-window { translate: calc(var(--flood-chart-ratio) * 600px) 0; }
2116
+ .flood-root .flood-line-chart__inspection {
2117
+ position: absolute;
2118
+ inset: 0;
2119
+ opacity: 0;
2120
+ visibility: hidden;
2121
+ pointer-events: none;
2094
2122
  }
2095
-
2096
- /* Explicit canvas scopes reset every role after automatic material owners. */
2097
- .flood-root[data-flood-surface="base"],
2098
- .flood-root :where([data-flood-surface="base"], .flood-dropzone,
2099
- .flood-tabs:not([data-variant="line"]) > .flood-tabs__scroll) {
2100
- --flood-sys-color-action-subtle-rest: var(--flood-sys-color-context-base-action-rest);
2101
- --flood-sys-color-action-subtle-hover: var(--flood-sys-color-context-base-action-hover);
2102
- --flood-sys-color-action-subtle-pressed: var(--flood-sys-color-context-base-action-pressed);
2103
- --flood-sys-color-action-subtle-disabled: var(--flood-sys-color-context-base-action-disabled);
2104
- --flood-sys-color-action-ghost-hover: var(--flood-sys-color-context-base-action-hover);
2105
- --flood-sys-color-action-ghost-pressed: var(--flood-sys-color-context-base-action-pressed);
2106
- --flood-sys-color-action-on-surface-rest: var(--flood-sys-color-context-base-on-surface-action-rest);
2107
- --flood-sys-color-action-on-surface-hover: var(--flood-sys-color-context-base-on-surface-action-hover);
2108
- --flood-sys-color-action-on-surface-pressed: var(--flood-sys-color-context-base-on-surface-action-pressed);
2109
- --flood-sys-color-action-on-surface-disabled: var(--flood-sys-color-context-base-on-surface-action-disabled);
2110
- --flood-sys-color-field-background: var(--flood-sys-color-context-base-field-background);
2111
- --flood-sys-color-field-border: var(--flood-sys-color-context-base-field-border);
2112
- --flood-sys-color-field-readonly: var(--flood-sys-color-context-base-field-readonly);
2113
- --flood-sys-color-field-disabled: var(--flood-sys-color-context-base-field-disabled);
2114
- --flood-sys-color-selection-background: var(--flood-sys-color-context-base-selection-background);
2115
- --flood-sys-color-border-decorative: var(--flood-sys-color-context-base-border-decorative);
2116
- --flood-sys-color-divider-decorative: var(--flood-sys-color-context-base-divider-decorative);
2117
- --flood-sys-color-surface-supporting: var(--flood-sys-color-context-base-supporting-background);
2118
- --flood-sys-color-surface-avatar: var(--flood-sys-color-context-base-avatar-background);
2119
- --flood-sys-color-surface-muted: var(--flood-sys-color-context-base-muted-background);
2120
- --flood-sys-color-indicator-track: var(--flood-sys-color-context-base-indicator-track);
2121
- --flood-sys-color-loading-placeholder: var(--flood-sys-color-context-base-loading-placeholder);
2122
- --flood-sys-color-surface-current: var(--flood-sys-color-surface-canvas);
2123
+ .flood-root .flood-line-chart__plot[data-inspecting] > .flood-line-chart__inspection { opacity: 1; visibility: visible; }
2124
+ .flood-root .flood-line-chart__cursor {
2125
+ position: absolute;
2126
+ left: var(--flood-chart-x);
2127
+ inset-block: var(--flood-sys-space-2);
2128
+ inline-size: var(--flood-sys-stroke-width);
2129
+ translate: -50% 0;
2130
+ background: linear-gradient(transparent, var(--flood-chart-accent) 22% 78%, transparent);
2123
2131
  }
2124
-
2125
- /* Explicit host preference also works in engines without the media feature. */
2126
- .flood-root[data-flood-transparency="reduced"] :is(.flood-overlay-panel, .flood-select__menu),
2127
- .flood-root [data-flood-transparency="reduced"] :is(.flood-overlay-panel, .flood-select__menu),
2128
- .flood-root :is(.flood-overlay-panel, .flood-select__menu)[data-flood-transparency="reduced"] {
2129
- background: var(--flood-sys-color-surface-floating);
2130
- backdrop-filter: none;
2132
+ .flood-root .flood-line-chart__marker {
2133
+ position: absolute;
2134
+ left: 50%;
2135
+ inline-size: .4375rem;
2136
+ aspect-ratio: 1;
2137
+ translate: -50% -50%;
2138
+ border-radius: 50%;
2139
+ background: currentColor;
2140
+ box-shadow: 0 0 0 .1875rem color-mix(in srgb, currentColor 24%, transparent);
2131
2141
  }
2132
-
2133
- @media (forced-colors: active) {
2134
- .flood-root[data-flood-transparency="reduced"] :is(.flood-overlay-panel, .flood-select__menu),
2135
- .flood-root [data-flood-transparency="reduced"] :is(.flood-overlay-panel, .flood-select__menu),
2136
- .flood-root :is(.flood-overlay-panel, .flood-select__menu)[data-flood-transparency="reduced"] {
2137
- background: Canvas;
2138
- }
2139
- .flood-root, .flood-root :where(.flood-surface, .flood-dialog, .flood-overlay-panel,
2140
- .flood-select__menu, .flood-toast, .flood-toolbar:not([data-variant="plain"]), .flood-calendar:not(.flood-date-picker__panel .flood-calendar):not(.flood-date-range-picker__panel .flood-calendar),
2141
- .flood-file-list, .flood-color-picker__panel, .flood-bulk-action-bar,
2142
- .flood-tabs:not([data-variant="line"]), .flood-disclosure:not(.flood-accordion > .flood-disclosure), .flood-accordion,
2143
- .flood-segmented .flood-choice-group, .flood-data-table__footer, .flood-code-snippet,
2144
- .flood-dropzone, .flood-tabs:not([data-variant="line"]) > .flood-tabs__scroll, [data-flood-surface]) {
2145
- --flood-sys-color-surface-current: Canvas;
2146
- --flood-sys-color-surface-supporting: Canvas;
2147
- --flood-sys-color-surface-avatar: Canvas;
2148
- --flood-sys-color-surface-muted: Canvas;
2149
- --flood-sys-color-field-readonly: Canvas;
2150
- }
2142
+ .flood-root .flood-line-chart__date {
2143
+ position: absolute;
2144
+ top: 100%;
2145
+ left: clamp(0px, calc(var(--flood-chart-x) - 3rem), calc(100% - min(100%, 6rem)));
2146
+ inline-size: min(100%, 6rem);
2147
+ display: flex;
2148
+ justify-content: center;
2149
+ pointer-events: none;
2151
2150
  }
2152
-
2153
- .flood-root .flood-filter-condition { container: flood-filter-condition / inline-size; min-inline-size:0; }
2154
- .flood-root .flood-filter-condition__row { grid-template-columns:minmax(7rem,.9fr) minmax(8rem,1fr) minmax(10rem,1.6fr); align-items:center; }
2155
- .flood-root .flood-filter-condition[data-removable="true"] .flood-filter-condition__row { grid-template-columns:minmax(7rem,.9fr) minmax(8rem,1fr) minmax(10rem,1.6fr) auto; }
2156
- .flood-root .flood-filter-condition__values { min-inline-size:0; }
2157
- @container flood-filter-condition (max-width:34rem) {
2158
- .flood-root .flood-filter-condition__row,
2159
- .flood-root .flood-filter-condition[data-removable="true"] .flood-filter-condition__row { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
2160
- .flood-root .flood-filter-condition[data-removable="true"] .flood-filter-condition__row { grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto; }
2161
- .flood-root .flood-filter-condition__values { grid-column:1 / -1; }
2162
- .flood-root .flood-filter-condition[data-removable="true"] .flood-filter-condition__values { grid-column:1 / 3; }
2163
- .flood-root .flood-filter-condition__remove { grid-column:3; grid-row:2; }
2151
+ .flood-root .flood-line-chart__date > .flood-text {
2152
+ display: block;
2153
+ max-inline-size: 100%;
2154
+ box-sizing: border-box;
2155
+ padding: var(--flood-sys-space-1) var(--flood-sys-space-2);
2156
+ background: var(--flood-sys-color-surface-raised);
2157
+ border: var(--flood-sys-stroke-width) solid var(--flood-sys-color-border-decorative);
2158
+ border-radius: var(--flood-sys-radius-action);
2159
+ white-space: nowrap;
2160
+ overflow: hidden;
2161
+ text-overflow: ellipsis;
2164
2162
  }
2165
- @container flood-filter-condition (max-width:22rem) {
2166
- .flood-root .flood-filter-condition__row,
2167
- .flood-root .flood-filter-condition[data-removable="true"] .flood-filter-condition__row { grid-template-columns:minmax(0,1fr); }
2168
- .flood-root .flood-filter-condition__row > :is(.flood-field,.flood-filter-condition__values) { grid-column:1 / -1; }
2169
- .flood-root .flood-filter-condition__remove { grid-column:1; grid-row:auto; justify-self:end; }
2163
+ .flood-root .flood-line-chart__tooltip-position {
2164
+ --flood-chart-tip-y: var(--flood-chart-pointer-tip-y, var(--flood-chart-point-y));
2165
+ --flood-chart-tip-y-ratio: var(--flood-chart-pointer-tip-ratio, var(--flood-chart-point-y-ratio));
2166
+ --flood-chart-tip-lift: clamp(0, calc((var(--flood-chart-ratio) - .52) / .23), 1);
2167
+ --flood-chart-tip-width: min(9rem, calc(100% - 2 * var(--flood-sys-space-2)));
2168
+ position: absolute;
2169
+ z-index: 1;
2170
+ inset: var(--flood-sys-space-2) 0;
2170
2171
  }
2171
- .flood-root .flood-filter-group .flood-segmented > .flood-fieldset__body { grid-template-columns: minmax(0, 1fr); }
2172
- .flood-root .flood-filter-group .flood-segmented .flood-choice-group { max-inline-size: 100%; }
2173
- .flood-root .flood-filter-group .flood-segmented .flood-choice { flex: 1 1 auto; min-inline-size: 0; }
2174
-
2175
- .flood-root .flood-collection-toolbar { inline-size:100%; min-inline-size:0; container-type:inline-size; }
2176
- .flood-root .flood-collection-toolbar__row { min-inline-size:0; display:grid; grid-template-columns:minmax(12rem,24rem) minmax(0,1fr) auto; }
2177
- .flood-root .flood-collection-toolbar__search { min-inline-size:0; max-inline-size:100%; }
2178
- .flood-root .flood-collection-toolbar__summaries { min-inline-size:0; max-inline-size:100%; }
2179
- .flood-root .flood-collection-toolbar__commands { margin-inline-start:auto; max-inline-size:100%; justify-content:flex-end; }
2180
- .flood-root .flood-collection-toolbar__clear[data-visible="false"] { visibility:hidden; }
2181
- .flood-root .flood-collection-toolbar__commands { grid-column:3; }
2182
- @container (max-width:46rem) {
2183
- .flood-root .flood-collection-toolbar__row { grid-template-columns:minmax(0,1fr) auto; }
2184
- .flood-root .flood-collection-toolbar__commands { grid-column:2; grid-row:1; }
2185
- .flood-root .flood-collection-toolbar__summaries { grid-column:1 / -1; grid-row:2; }
2172
+ .flood-root :is(.flood-line-chart__tooltip, .flood-bar-chart__tooltip) {
2173
+ position: absolute;
2174
+ --flood-chart-tip-height: 0px;
2175
+ --flood-chart-tip-direction: clamp(0, sign(var(--flood-chart-tip-y-ratio) - .31), 1);
2176
+ --flood-chart-tip-offset: calc(.5 * (1 - var(--flood-chart-tip-lift)) + var(--flood-chart-tip-direction) * var(--flood-chart-tip-lift));
2177
+ top: clamp(0px,
2178
+ calc(var(--flood-chart-tip-y) - var(--flood-chart-tip-height) * var(--flood-chart-tip-offset) + var(--flood-chart-tip-lift) * var(--flood-chart-tip-gap) * (1 - 2 * var(--flood-chart-tip-direction))),
2179
+ max(0px, calc(100% - var(--flood-chart-tip-height))));
2180
+ left: clamp(var(--flood-sys-space-2), calc(var(--flood-chart-x) + var(--flood-chart-tip-gap)), calc(100% - var(--flood-chart-tip-width) - var(--flood-sys-space-2)));
2181
+ display: grid;
2182
+ gap: var(--flood-sys-space-1);
2183
+ inline-size: var(--flood-chart-tip-width);
2184
+ }
2185
+ .flood-root :is(.flood-line-chart__tooltip, .flood-bar-chart__tooltip, .flood-heatmap__tooltip, .flood-chart__tooltip) {
2186
+ box-sizing: border-box;
2187
+ border: var(--flood-sys-stroke-width) solid var(--flood-sys-color-border-decorative);
2188
+ border-radius: var(--flood-sys-radius-field);
2189
+ box-shadow: 0 .35rem 1.1rem rgb(0 0 0 / .18);
2190
+ pointer-events: none;
2191
+ overflow-wrap: anywhere;
2192
+ font-variant-numeric: tabular-nums;
2193
+ }
2194
+ .flood-root .flood-line-chart__tooltip-row {
2195
+ display: grid;
2196
+ grid-template-columns: auto minmax(0, 1fr) minmax(0, auto);
2197
+ align-items: baseline;
2198
+ gap: var(--flood-sys-space-2);
2199
+ }
2200
+ .flood-root .flood-line-chart__tooltip-row > :last-child { text-align: end; }
2201
+ .flood-root .flood-line-chart__tooltip-row .flood-line-chart__key { inline-size: var(--flood-sys-space-3); }
2202
+ @container (max-width: 24rem) {
2203
+ .flood-root .flood-line-chart__tooltip-row { gap: var(--flood-sys-space-1); }
2204
+ .flood-root .flood-line-chart__tooltip-position { --flood-chart-tip-lift: clamp(0, calc((var(--flood-chart-ratio) - .34) / .25), 1); }
2205
+ .flood-root .flood-line-chart__x > [data-intermediate] { display: none; }
2206
+ }
2207
+ .flood-root .flood-line-chart__key {
2208
+ inline-size: var(--flood-sys-space-6);
2209
+ block-size: var(--flood-sys-space-1);
2210
+ flex: none;
2211
+ }
2212
+ .flood-root .flood-line-chart__readout {
2213
+ display: grid;
2214
+ gap: var(--flood-sys-space-1);
2215
+ border-block-start: var(--flood-sys-stroke-width) solid var(--flood-sys-color-divider-decorative);
2216
+ margin-block-start: var(--flood-sys-space-3);
2217
+ padding-block-start: var(--flood-sys-space-3);
2218
+ font-variant-numeric: tabular-nums;
2219
+ overflow-wrap: anywhere;
2220
+ }
2221
+ .flood-root .flood-line-chart__empty { display: grid; place-items: center; min-block-size: var(--flood-chart-height); }
2222
+ .flood-root .flood-bar-chart {
2223
+ --flood-chart-height: 13rem;
2224
+ min-inline-size: 0;
2225
+ container-type: inline-size;
2226
+ }
2227
+ .flood-root .flood-bar-chart__plot { position: relative; cursor: crosshair; }
2228
+ .flood-root .flood-bar-chart__marks {
2229
+ position: relative;
2230
+ display: grid;
2231
+ grid-template-columns: repeat(var(--flood-bar-categories), minmax(0, 1fr));
2232
+ }
2233
+ .flood-root .flood-bar-chart__marks::before {
2234
+ content: "";
2235
+ position: absolute;
2236
+ inset: 0 0 auto;
2237
+ block-size: var(--flood-chart-height);
2238
+ background: var(--flood-chart-grid);
2239
+ mask-image: linear-gradient(90deg, transparent, black 10%, black 90%, transparent),
2240
+ linear-gradient(transparent, black 18%, black 84%, transparent);
2241
+ mask-composite: intersect;
2242
+ pointer-events: none;
2243
+ }
2244
+ .flood-root .flood-bar-chart__marks::after {
2245
+ content: "";
2246
+ position: absolute;
2247
+ inset-inline: 0;
2248
+ inset-block-start: calc((1 - var(--flood-bar-zero)) * var(--flood-chart-height));
2249
+ block-size: var(--flood-sys-stroke-width);
2250
+ background: var(--flood-sys-color-divider-decorative);
2251
+ pointer-events: none;
2252
+ }
2253
+ .flood-root .flood-bar-chart__group {
2254
+ position: relative;
2255
+ display: grid;
2256
+ min-inline-size: 0;
2257
+ gap: var(--flood-sys-space-2);
2258
+ border-radius: var(--flood-sys-radius-indicator);
2259
+ }
2260
+ .flood-root .flood-bar-chart__group[data-active] {
2261
+ background: color-mix(in srgb, var(--flood-chart-accent) 5%, transparent);
2262
+ }
2263
+ .flood-root .flood-bar-chart__plot[data-inspecting] .flood-bar-chart__group:not([data-active]) .flood-bar-chart__pair {
2264
+ opacity: .45;
2265
+ }
2266
+ .flood-root .flood-bar-chart__pair {
2267
+ display: flex;
2268
+ justify-content: center;
2269
+ gap: min(5%, var(--flood-sys-space-1));
2270
+ block-size: var(--flood-chart-height);
2271
+ padding-inline: min(9%, var(--flood-sys-space-2));
2272
+ }
2273
+ .flood-root .flood-bar-chart__slot {
2274
+ position: relative;
2275
+ flex: 0 1 1.75rem;
2276
+ min-inline-size: 0;
2277
+ }
2278
+ .flood-root .flood-bar-chart__bar {
2279
+ --flood-bar-direction: to bottom;
2280
+ --flood-bar-end-radius: .375rem;
2281
+ position: absolute;
2282
+ inset-inline: 0;
2283
+ min-block-size: var(--flood-sys-stroke-width);
2284
+ box-sizing: border-box;
2285
+ box-shadow: inset 0 0 0 var(--flood-chart-stroke-width) color-mix(in srgb, currentColor 64%, transparent);
2286
+ border-radius: var(--flood-bar-end-radius) var(--flood-bar-end-radius) 0 0;
2287
+ background: linear-gradient(var(--flood-bar-direction), color-mix(in srgb, currentColor 58%, transparent), color-mix(in srgb, currentColor 22%, transparent));
2288
+ }
2289
+ .flood-root .flood-bar-chart__bar[data-negative] {
2290
+ --flood-bar-direction: to top;
2291
+ border-radius: 0 0 var(--flood-bar-end-radius) var(--flood-bar-end-radius);
2292
+ }
2293
+ .flood-root .flood-bar-chart[data-layout="grouped"] :where(.flood-bar-chart__slot[data-series]:not([data-series="0"])) .flood-bar-chart__bar:not([data-zero]) {
2294
+ border: var(--flood-chart-stroke-width) dashed color-mix(in srgb, currentColor 55%, transparent);
2295
+ box-shadow: none;
2296
+ background: color-mix(in srgb, currentColor 12%, transparent);
2297
+ }
2298
+ .flood-root .flood-bar-chart__bar[data-zero] { border-radius: 0; background: currentColor; }
2299
+ .flood-root .flood-bar-chart:is([data-layout="stacked"], [data-layout="percent"]) .flood-bar-chart__pair {
2300
+ display: grid;
2301
+ grid-template-columns: minmax(0, 2.5rem);
2302
+ }
2303
+ .flood-root .flood-bar-chart:is([data-layout="stacked"], [data-layout="percent"]) .flood-bar-chart__slot { grid-area: 1 / 1; }
2304
+ .flood-root .flood-bar-chart:is([data-layout="stacked"], [data-layout="percent"]) [data-series="2"] { color: var(--flood-sys-color-feedback-info); }
2305
+ .flood-root .flood-bar-chart:is([data-layout="stacked"], [data-layout="percent"]) [data-series="3"] { color: var(--flood-sys-color-content-default); }
2306
+ .flood-root .flood-bar-chart:is([data-layout="stacked"], [data-layout="percent"]) .flood-bar-chart__bar {
2307
+ background: color-mix(in srgb, currentColor 32%, var(--flood-sys-color-surface-raised));
2308
+ }
2309
+ .flood-root .flood-bar-chart:is([data-layout="stacked"], [data-layout="percent"]) .flood-bar-chart__bar:not([data-outer]) { border-radius: 0; }
2310
+ .flood-root .flood-bar-chart:is([data-layout="stacked"], [data-layout="percent"]) .flood-line-chart__stroke { stroke-dasharray: none; }
2311
+ .flood-root .flood-bar-chart__category {
2312
+ padding-inline: var(--flood-sys-space-1);
2313
+ text-align: center;
2314
+ white-space: nowrap;
2315
+ overflow: hidden;
2316
+ text-overflow: ellipsis;
2317
+ }
2318
+ .flood-root .flood-bar-chart__tooltip {
2319
+ --flood-chart-tip-width: min(9rem, 100%);
2320
+ --flood-bar-tip-gap: min(4rem, calc(50% / var(--flood-bar-categories) + var(--flood-sys-space-1)));
2321
+ --flood-bar-tip-offset: calc(var(--flood-bar-tip-side) * (var(--flood-chart-tip-width) + 2 * var(--flood-bar-tip-gap)) + var(--flood-bar-tip-gap));
2322
+ z-index: 2;
2323
+ top: var(--flood-sys-space-2);
2324
+ left: clamp(0px, calc(var(--flood-bar-active) + var(--flood-bar-tip-offset)), calc(100% - var(--flood-chart-tip-width)));
2325
+ }
2326
+ @container (max-width: 22rem) {
2327
+ .flood-root .flood-bar-chart__tooltip {
2328
+ --flood-chart-tip-width: min(6.5rem, 45%);
2329
+ --flood-bar-tip-gap: min(2rem, calc(50% / var(--flood-bar-categories) + var(--flood-sys-space-1)));
2330
+ }
2331
+ }
2332
+ .flood-root .flood-bar-chart[data-layout="percent"] .flood-bar-chart__tooltip {
2333
+ --flood-chart-tip-width: min(10rem, 46%);
2334
+ }
2335
+ .flood-root .flood-bar-chart[data-layout="percent"] .flood-line-chart__tooltip-row .flood-line-chart__key {
2336
+ inline-size: var(--flood-sys-space-2);
2337
+ }
2338
+ .flood-root .flood-donut-chart { min-inline-size: 0; }
2339
+ .flood-root .flood-donut-chart__plot {
2340
+ position: relative;
2341
+ display: grid;
2342
+ inline-size: min(100%, 17rem);
2343
+ aspect-ratio: 1;
2344
+ margin-inline: auto;
2345
+ border-radius: 50%;
2346
+ }
2347
+ .flood-root .flood-donut-chart__plot:focus-visible { border-radius: 50%; }
2348
+ .flood-root .flood-donut-chart__plot::before {
2349
+ content: "";
2350
+ position: absolute;
2351
+ inset: 0;
2352
+ background: var(--flood-chart-grid);
2353
+ mask-image: radial-gradient(circle closest-side, transparent 48%, black 67% 88%, transparent);
2354
+ pointer-events: none;
2355
+ }
2356
+ .flood-root .flood-donut-chart__plot > svg { position: relative; inline-size: 100%; block-size: 100%; }
2357
+ .flood-root .flood-donut-chart__track {
2358
+ fill: none;
2359
+ stroke: var(--flood-sys-color-divider-decorative);
2360
+ stroke-width: 16;
2361
+ }
2362
+ .flood-root .flood-donut-chart__segment {
2363
+ fill: color-mix(in srgb, currentColor 16%, transparent);
2364
+ stroke: color-mix(in srgb, currentColor 52%, transparent);
2365
+ stroke-width: var(--flood-chart-stroke-width);
2366
+ stroke-linejoin: round;
2367
+ vector-effect: non-scaling-stroke;
2368
+ }
2369
+ .flood-root .flood-donut-chart__segment[data-active] {
2370
+ stroke: currentColor;
2371
+ }
2372
+ .flood-root .flood-donut-chart :is([data-slice="0"], [data-series="0"]) { color: var(--flood-chart-accent); }
2373
+ .flood-root .flood-donut-chart :is([data-slice="1"], [data-series="1"]) { color: var(--flood-sys-color-content-subtle); }
2374
+ .flood-root .flood-donut-chart :is([data-slice="2"], [data-series="2"]) {
2375
+ color: color-mix(in srgb, var(--flood-chart-accent) 30%, var(--flood-sys-color-content-subtle));
2376
+ }
2377
+ .flood-root .flood-donut-chart :is([data-slice="3"], [data-series="3"]) {
2378
+ color: color-mix(in srgb, var(--flood-sys-color-feedback-info) 25%, var(--flood-sys-color-content-subtle));
2379
+ }
2380
+ .flood-root .flood-donut-chart :is([data-slice="4"], [data-series="4"]) { color: var(--flood-sys-color-content-subtle); }
2381
+ .flood-root .flood-donut-chart :is([data-slice="5"], [data-series="5"]) { color: var(--flood-sys-color-content-default); }
2382
+ .flood-root .flood-donut-chart__key {
2383
+ inline-size: var(--flood-sys-space-2);
2384
+ block-size: var(--flood-sys-space-2);
2385
+ border-radius: 50%;
2386
+ background: currentColor;
2387
+ flex: none;
2388
+ }
2389
+ .flood-root .flood-donut-chart__readout {
2390
+ position: absolute;
2391
+ inset: 19%;
2392
+ display: flex;
2393
+ flex-direction: column;
2394
+ justify-content: center;
2395
+ gap: var(--flood-sys-space-1);
2396
+ text-align: center;
2397
+ pointer-events: none;
2398
+ }
2399
+ .flood-root .flood-donut-chart__readout :is(dt, dd) {
2400
+ overflow: hidden;
2401
+ text-overflow: ellipsis;
2402
+ white-space: nowrap;
2403
+ }
2404
+ .flood-root .flood-donut-chart__readout .flood-metric { position: relative; }
2405
+ .flood-root .flood-donut-chart__readout .flood-metric__hint {
2406
+ position: absolute;
2407
+ inset-block-start: calc(100% + var(--flood-sys-space-1));
2408
+ inset-inline: 0;
2409
+ }
2410
+ .flood-root .flood-heatmap { position: relative; min-inline-size: 0; }
2411
+ .flood-root .flood-heatmap__tooltip {
2412
+ position: absolute;
2413
+ z-index: 1;
2414
+ display: grid;
2415
+ row-gap: var(--flood-sys-space-1);
2416
+ column-gap: var(--flood-sys-space-2);
2417
+ inline-size: max-content;
2418
+ max-inline-size: min(10rem, calc(100% - 2 * var(--flood-sys-space-2)));
2419
+ }
2420
+ .flood-root .flood-heatmap__table.flood-table {
2421
+ --flood-heatmap-inset: calc(var(--flood-sys-space-1) / 2);
2422
+ table-layout: fixed;
2423
+ border-collapse: separate;
2424
+ border-spacing: 0;
2425
+ }
2426
+ .flood-root .flood-heatmap__table.flood-table :is(th, td) {
2427
+ padding: var(--flood-heatmap-inset);
2428
+ border: 0;
2429
+ }
2430
+ .flood-root .flood-heatmap__table thead tr > :first-child { inline-size: clamp(2rem, 15%, 5rem); }
2431
+ .flood-root .flood-heatmap__table.flood-table > tbody > tr > th { border-block-end: 0; }
2432
+ .flood-root .flood-heatmap__table.flood-table thead th { text-align: center; }
2433
+ .flood-root .flood-heatmap__table th > .flood-text {
2434
+ display: block;
2435
+ overflow: hidden;
2436
+ text-overflow: ellipsis;
2437
+ white-space: nowrap;
2438
+ }
2439
+ .flood-root .flood-heatmap__table.flood-table .flood-heatmap__cell {
2440
+ position: relative;
2441
+ block-size: calc(1.75rem + var(--flood-sys-space-1));
2442
+ padding: 0;
2443
+ border: 0;
2444
+ }
2445
+ .flood-root .flood-heatmap__cell::before {
2446
+ --flood-heatmap-fill: calc(var(--flood-heatmap-level) * 58%);
2447
+ content: "";
2448
+ position: absolute;
2449
+ inset: var(--flood-heatmap-inset);
2450
+ pointer-events: none;
2451
+ border: var(--flood-chart-stroke-width) solid color-mix(in srgb, var(--flood-chart-accent) var(--flood-heatmap-fill), var(--flood-sys-color-border-decorative));
2452
+ border-radius: var(--flood-sys-radius-indicator);
2453
+ background: color-mix(in srgb, var(--flood-chart-accent) var(--flood-heatmap-fill), var(--flood-sys-color-surface-raised));
2454
+ }
2455
+ .flood-root .flood-heatmap__cell[data-missing]::before {
2456
+ border-style: dashed;
2457
+ background: var(--flood-chart-grid);
2458
+ }
2459
+ .flood-root .flood-heatmap__cell[data-active]::before {
2460
+ border-color: var(--flood-sys-color-content-default);
2461
+ }
2462
+ .flood-root .flood-heatmap__cell:focus-visible { outline: none; }
2463
+ .flood-root .flood-heatmap__cell:focus-visible::before {
2464
+ outline: var(--flood-sys-focus-width) solid var(--flood-sys-color-focus-ring);
2465
+ outline-offset: -2px;
2466
+ }
2467
+ .flood-root .flood-bar-list__items {
2468
+ display: grid;
2469
+ gap: var(--flood-sys-space-1);
2470
+ margin: 0;
2471
+ padding: 0;
2472
+ list-style: none;
2473
+ }
2474
+ .flood-root .flood-bar-list .flood-indicator {
2475
+ display: grid;
2476
+ grid-template-columns: minmax(0, 1fr);
2477
+ min-block-size: var(--flood-sys-control-md-height);
2478
+ }
2479
+ .flood-root .flood-bar-list :is(.flood-indicator__caption, .flood-indicator__track) { grid-area: 1 / 1; }
2480
+ .flood-root .flood-bar-list .flood-indicator__caption {
2481
+ align-items: center;
2482
+ z-index: 1;
2483
+ margin: 0;
2484
+ padding: var(--flood-sys-space-2) var(--flood-sys-space-3);
2485
+ }
2486
+ .flood-root .flood-bar-list .flood-indicator__caption > span { min-inline-size: 0; overflow-wrap: anywhere; }
2487
+ .flood-root .flood-bar-list .flood-indicator__value { color: var(--flood-sys-color-content-default); font-weight: var(--flood-sys-type-label-weight); }
2488
+ .flood-root .flood-bar-list .flood-indicator__track { block-size: 100%; background: transparent; border-radius: var(--flood-sys-radius-indicator); }
2489
+ .flood-root .flood-bar-list .flood-indicator__fill {
2490
+ --flood-chart-bar-color: var(--flood-indicator-color);
2491
+ background: linear-gradient(to right, color-mix(in srgb, var(--flood-chart-bar-color) 12%, transparent), color-mix(in srgb, var(--flood-chart-bar-color) 22%, transparent));
2492
+ border-radius: inherit;
2493
+ box-shadow: inset 0 calc(-1 * var(--flood-chart-stroke-width)) color-mix(in srgb, var(--flood-chart-bar-color) 38%, transparent);
2494
+ }
2495
+ .flood-root .flood-bar-list .flood-indicator[data-tone="accent"] .flood-indicator__fill { --flood-chart-bar-color: var(--flood-chart-accent); }
2496
+ .flood-root .flood-bar-list:dir(rtl) .flood-indicator__fill { background: linear-gradient(to left, color-mix(in srgb, var(--flood-chart-bar-color) 12%, transparent), color-mix(in srgb, var(--flood-chart-bar-color) 22%, transparent)); }
2497
+ @media (hover: hover) {
2498
+ .flood-root .flood-bar-list li:hover .flood-indicator__fill { filter: brightness(1.25); }
2499
+ }
2500
+ @media (prefers-reduced-motion: no-preference) {
2501
+ .flood-root:not([data-flood-motion="reduce"]) .flood-donut-chart__segment:not(:where([data-flood-motion="reduce"] *)) {
2502
+ transition: stroke var(--flood-chart-motion);
2503
+ }
2504
+ .flood-root:not([data-flood-motion="reduce"]) :is(.flood-bar-chart__group, .flood-bar-chart__pair):not(:where([data-flood-motion="reduce"] *)) {
2505
+ transition: background-color var(--flood-chart-motion), opacity var(--flood-chart-motion);
2506
+ }
2507
+ .flood-root:not([data-flood-motion="reduce"]) :is(.flood-line-chart__plot > svg > [data-series], .flood-line-chart__highlight, .flood-line-chart__inspection):not(:where([data-flood-motion="reduce"] *)) {
2508
+ transition: opacity var(--flood-chart-motion), visibility var(--flood-chart-motion) allow-discrete;
2509
+ }
2510
+ .flood-root:not([data-flood-motion="reduce"]) .flood-bar-list .flood-indicator__fill:not(:where([data-flood-motion="reduce"] *)) {
2511
+ transition: inline-size var(--flood-sys-motion-duration-normal) var(--flood-sys-motion-easing), filter var(--flood-chart-motion);
2512
+ }
2513
+ }
2514
+ @media (forced-colors: active) {
2515
+ .flood-root .flood-donut-chart__track { stroke: GrayText; }
2516
+ .flood-root .flood-donut-chart .flood-donut-chart__segment { forced-color-adjust: none; stroke: CanvasText; fill: Canvas; }
2517
+ .flood-root .flood-donut-chart .flood-donut-chart__segment[data-active] { stroke: Highlight; }
2518
+ .flood-root :is(.flood-line-chart, .flood-bar-chart) [data-series] { color: CanvasText; }
2519
+ .flood-root .flood-bar-chart__marks::after { forced-color-adjust: none; background: GrayText; }
2520
+ .flood-root .flood-bar-chart__group[data-active] { outline: 1px solid Highlight; outline-offset: -1px; }
2521
+ .flood-root .flood-line-chart__grid { stroke: GrayText; }
2522
+ .flood-root .flood-line-chart__cursor { forced-color-adjust: none; background: Highlight; }
2523
+ .flood-root .flood-line-chart__marker { forced-color-adjust: none; background: CanvasText; }
2524
+ .flood-root .flood-line-chart__area { display: none; }
2525
+ .flood-root .flood-bar-list .flood-indicator__track { outline: none; }
2526
+ .flood-root .flood-bar-list .flood-indicator__fill { forced-color-adjust: none; background: transparent; border-block-end: 2px solid Highlight; }
2527
+ }
2528
+
2529
+ .flood-root .flood-scatter-chart {
2530
+ --flood-scatter-inset: var(--flood-sys-space-2);
2531
+ --flood-scatter-height: 13rem;
2532
+ min-inline-size: 0;
2533
+ container-type: inline-size;
2534
+ }
2535
+
2536
+ .flood-root .flood-scatter-chart__layout {
2537
+ display: grid;
2538
+ grid-template-columns: fit-content(26%) minmax(0, 1fr);
2539
+ gap: var(--flood-sys-space-1) var(--flood-sys-space-2);
2540
+ }
2541
+
2542
+ .flood-root .flood-scatter-chart__plot {
2543
+ position: relative;
2544
+ min-inline-size: 0;
2545
+ block-size: var(--flood-scatter-height);
2546
+ cursor: crosshair;
2547
+ }
2548
+
2549
+ .flood-root .flood-scatter-chart__plot:focus-visible {
2550
+ outline: var(--flood-sys-focus-width) solid var(--flood-sys-color-focus-ring);
2551
+ outline-offset: var(--flood-sys-focus-offset);
2552
+ border-radius: var(--flood-sys-radius-indicator);
2553
+ }
2554
+
2555
+ .flood-root .flood-scatter-chart__area {
2556
+ position: absolute;
2557
+ inset: var(--flood-scatter-inset);
2558
+ pointer-events: none;
2559
+ }
2560
+
2561
+ .flood-root .flood-scatter-chart__area::before {
2562
+ content: "";
2563
+ position: absolute;
2564
+ inset: 0;
2565
+ background: var(--flood-chart-grid);
2566
+ mask-image: linear-gradient(90deg, transparent, black 12%, black 88%, transparent),
2567
+ linear-gradient(transparent, black 12%, black 88%, transparent);
2568
+ mask-composite: intersect;
2569
+ }
2570
+
2571
+ .flood-root .flood-scatter-chart__point {
2572
+ position: absolute;
2573
+ box-sizing: border-box;
2574
+ inline-size: calc(1.6 * var(--flood-sys-space-1));
2575
+ aspect-ratio: 1;
2576
+ translate: -50% -50%;
2577
+ border-radius: 50%;
2578
+ border: var(--flood-chart-stroke-width) solid color-mix(in srgb, var(--flood-chart-accent) 68%, transparent);
2579
+ background: color-mix(in srgb, var(--flood-chart-accent) 22%, transparent);
2580
+ }
2581
+
2582
+ .flood-root .flood-scatter-chart__point[data-active] {
2583
+ z-index: 1;
2584
+ border-color: var(--flood-chart-accent);
2585
+ background: var(--flood-chart-accent);
2586
+ box-shadow: 0 0 0 .1875rem color-mix(in srgb, var(--flood-chart-accent) 24%, transparent);
2587
+ }
2588
+
2589
+ .flood-root .flood-scatter-chart__guides {
2590
+ position: absolute;
2591
+ inset: 0;
2592
+ }
2593
+
2594
+ .flood-root .flood-scatter-chart__guides::before,
2595
+ .flood-root .flood-scatter-chart__guides::after {
2596
+ content: "";
2597
+ position: absolute;
2598
+ opacity: .65;
2599
+ }
2600
+
2601
+ .flood-root .flood-scatter-chart__guides::before {
2602
+ left: var(--flood-scatter-x);
2603
+ inset-block: 0;
2604
+ inline-size: var(--flood-sys-stroke-width);
2605
+ translate: -50% 0;
2606
+ background: linear-gradient(transparent, var(--flood-chart-accent) 25% 75%, transparent);
2607
+ }
2608
+
2609
+ .flood-root .flood-scatter-chart__guides::after {
2610
+ top: var(--flood-scatter-y);
2611
+ inset-inline: 0;
2612
+ block-size: var(--flood-sys-stroke-width);
2613
+ translate: 0 -50%;
2614
+ background: linear-gradient(90deg, transparent, var(--flood-chart-accent) 25% 75%, transparent);
2615
+ }
2616
+
2617
+ .flood-root .flood-scatter-chart__ticks {
2618
+ display: flex;
2619
+ justify-content: space-between;
2620
+ gap: var(--flood-sys-space-2);
2621
+ min-inline-size: 0;
2622
+ font-variant-numeric: tabular-nums;
2623
+ }
2624
+
2625
+ .flood-root .flood-scatter-chart__ticks--y {
2626
+ flex-direction: column;
2627
+ text-align: end;
2628
+ }
2629
+
2630
+ .flood-root .flood-scatter-chart__ticks--x,
2631
+ .flood-root .flood-scatter-chart__horizontal-label {
2632
+ grid-column: 2;
2633
+ padding-inline: var(--flood-scatter-inset);
2634
+ }
2635
+ .flood-root .flood-scatter-chart__ticks--x {
2636
+ display: grid;
2637
+ grid-template-columns: repeat(3, minmax(0, 1fr));
2638
+ }
2639
+
2640
+ .flood-root .flood-scatter-chart__ticks > * {
2641
+ min-inline-size: 0;
2642
+ overflow: hidden;
2643
+ white-space: nowrap;
2644
+ text-overflow: ellipsis;
2645
+ }
2646
+
2647
+ .flood-root .flood-scatter-chart__ticks--x > :nth-child(2) { text-align: center; }
2648
+ .flood-root .flood-scatter-chart__ticks--x > :last-child { grid-column: 3; text-align: end; }
2649
+ .flood-root .flood-scatter-chart__ticks--x > :only-child { grid-column: 2; text-align: center; }
2650
+ .flood-root .flood-scatter-chart__ticks--y > :only-child { margin-block: auto; }
2651
+ .flood-root .flood-scatter-chart__horizontal-label { text-align: center; }
2652
+ .flood-root .flood-scatter-chart__vertical-label {
2653
+ display: block;
2654
+ margin-block-end: var(--flood-sys-space-1);
2655
+ }
2656
+
2657
+ .flood-root .flood-scatter-chart__tooltip {
2658
+ position: absolute;
2659
+ z-index: 2;
2660
+ column-gap: var(--flood-chart-tip-gap);
2661
+ inline-size: max-content;
2662
+ max-inline-size: min(10rem, max(5rem, calc(50% - 1.25 * var(--flood-chart-tip-gap) - var(--flood-sys-stroke-width))));
2663
+ visibility: hidden;
2664
+ }
2665
+ .flood-root .flood-scatter-chart__tooltip-content {
2666
+ display: grid;
2667
+ grid-template-columns: minmax(0, 1fr) minmax(0, auto);
2668
+ align-items: baseline;
2669
+ gap: var(--flood-sys-space-1) var(--flood-sys-space-2);
2670
+ }
2671
+
2672
+ .flood-root .flood-scatter-chart__tooltip[data-positioned] { visibility: visible; }
2673
+ .flood-root .flood-scatter-chart__tooltip-content > [data-point-label] { grid-column: 1 / -1; }
2674
+ .flood-root .flood-scatter-chart__tooltip-content > [data-coordinate] { text-align: end; }
2675
+ .flood-root .flood-scatter-chart__empty {
2676
+ display: grid;
2677
+ place-items: center;
2678
+ min-block-size: var(--flood-scatter-height);
2679
+ }
2680
+
2681
+ @container (max-width: 20rem) {
2682
+ .flood-root .flood-scatter-chart__plot { --flood-scatter-height: 10rem; }
2683
+ }
2684
+
2685
+ @media (prefers-reduced-motion: no-preference) {
2686
+ .flood-root:not([data-flood-motion="reduce"]) .flood-scatter-chart__point:not(:where([data-flood-motion="reduce"] *)) {
2687
+ transition: background-color var(--flood-chart-motion), border-color var(--flood-chart-motion), box-shadow var(--flood-chart-motion);
2688
+ }
2689
+ }
2690
+
2691
+ @media (forced-colors: active) {
2692
+ .flood-root .flood-scatter-chart__point { forced-color-adjust: none; background: Canvas; border-color: CanvasText; }
2693
+ .flood-root .flood-scatter-chart__point[data-active] { background: Highlight; border-color: Highlight; box-shadow: none; }
2694
+ .flood-root .flood-scatter-chart__guides::before,
2695
+ .flood-root .flood-scatter-chart__guides::after { forced-color-adjust: none; background: Highlight; }
2696
+ }
2697
+
2698
+ .flood-root .flood-range-chart {
2699
+ --flood-range-height: 13rem;
2700
+ min-inline-size: 0;
2701
+ container-type: inline-size;
2702
+ }
2703
+ .flood-root .flood-range-chart__plot {
2704
+ position: relative;
2705
+ cursor: crosshair;
2706
+ }
2707
+ .flood-root .flood-range-chart__plot:focus-visible {
2708
+ outline: var(--flood-sys-focus-width) solid var(--flood-sys-color-focus-ring);
2709
+ outline-offset: var(--flood-sys-focus-offset);
2710
+ border-radius: var(--flood-sys-radius-indicator);
2711
+ }
2712
+ .flood-root .flood-range-chart__columns {
2713
+ position: relative;
2714
+ display: grid;
2715
+ grid-template-columns: repeat(var(--flood-range-columns), minmax(0, 1fr));
2716
+ }
2717
+ .flood-root .flood-range-chart__columns::before {
2718
+ content: "";
2719
+ position: absolute;
2720
+ inset: var(--flood-sys-space-2) 0 auto;
2721
+ block-size: var(--flood-range-height);
2722
+ background: var(--flood-chart-grid);
2723
+ mask-image: linear-gradient(90deg, transparent, black 10%, black 90%, transparent),
2724
+ linear-gradient(transparent, black 14%, black 86%, transparent);
2725
+ mask-composite: intersect;
2726
+ pointer-events: none;
2727
+ }
2728
+ .flood-root .flood-range-chart__column {
2729
+ position: relative;
2730
+ display: grid;
2731
+ min-inline-size: 0;
2732
+ gap: var(--flood-sys-space-2);
2733
+ padding-block: var(--flood-sys-space-2);
2734
+ border-radius: var(--flood-sys-radius-indicator);
2735
+ }
2736
+ .flood-root .flood-range-chart__column[data-active] {
2737
+ background: color-mix(in srgb, var(--flood-chart-accent) 5%, transparent);
2738
+ }
2739
+ .flood-root .flood-range-chart__track {
2740
+ position: relative;
2741
+ block-size: var(--flood-range-height);
2742
+ inline-size: min(1.5rem, 68%);
2743
+ margin-inline: auto;
2744
+ }
2745
+ .flood-root .flood-range-chart__band,
2746
+ .flood-root .flood-range-chart__midpoint {
2747
+ position: absolute;
2748
+ inset-inline: 0;
2749
+ box-sizing: border-box;
2750
+ }
2751
+ .flood-root .flood-range-chart__band {
2752
+ border-radius: var(--flood-sys-radius-indicator);
2753
+ box-shadow: inset 0 0 0 var(--flood-chart-stroke-width) color-mix(in srgb, var(--flood-chart-accent) 65%, transparent);
2754
+ background: linear-gradient(180deg,
2755
+ color-mix(in srgb, var(--flood-chart-accent) 40%, transparent),
2756
+ color-mix(in srgb, var(--flood-chart-accent) 10%, transparent));
2757
+ }
2758
+ .flood-root .flood-range-chart__band[data-flat] {
2759
+ box-shadow: none;
2760
+ block-size: var(--flood-chart-stroke-width);
2761
+ translate: 0 -50%;
2762
+ background: var(--flood-chart-accent);
2763
+ }
2764
+ .flood-root .flood-range-chart__midpoint {
2765
+ inset-inline: var(--flood-chart-stroke-width);
2766
+ block-size: var(--flood-chart-stroke-width);
2767
+ translate: 0 -50%;
2768
+ border-radius: var(--flood-sys-radius-action);
2769
+ background: var(--flood-sys-color-content-default);
2770
+ }
2771
+ .flood-root .flood-range-chart__category {
2772
+ padding-inline: var(--flood-sys-space-1);
2773
+ text-align: center;
2774
+ white-space: nowrap;
2775
+ overflow: hidden;
2776
+ text-overflow: ellipsis;
2777
+ }
2778
+ .flood-root .flood-range-chart__tooltip {
2779
+ --flood-range-tip-width: min(9rem, 42%);
2780
+ --flood-range-tip-gap: min(2.75rem, calc(50% / var(--flood-range-columns) + var(--flood-sys-space-1)));
2781
+ --flood-range-tip-offset: calc(var(--flood-range-tip-side) * (var(--flood-range-tip-width) + 2 * var(--flood-range-tip-gap)) + var(--flood-range-tip-gap));
2782
+ position: absolute;
2783
+ z-index: 2;
2784
+ inset-block-start: var(--flood-sys-space-2);
2785
+ left: clamp(0px, calc(var(--flood-range-position) + var(--flood-range-tip-offset)), calc(100% - var(--flood-range-tip-width)));
2786
+ display: grid;
2787
+ gap: var(--flood-sys-space-1);
2788
+ inline-size: var(--flood-range-tip-width);
2789
+ }
2790
+ .flood-root .flood-range-chart__reading {
2791
+ display: flex;
2792
+ justify-content: space-between;
2793
+ align-items: baseline;
2794
+ gap: var(--flood-sys-space-1);
2795
+ }
2796
+ .flood-root .flood-range-chart__reading > :last-child { text-align: end; }
2797
+ .flood-root .flood-range-chart__empty {
2798
+ display: grid;
2799
+ place-items: center;
2800
+ min-block-size: var(--flood-range-height);
2801
+ }
2802
+ @media (prefers-reduced-motion: no-preference) {
2803
+ .flood-root:not([data-flood-motion="reduce"]) .flood-range-chart__column:not(:where([data-flood-motion="reduce"] *)) {
2804
+ transition: background-color var(--flood-chart-motion);
2805
+ }
2806
+ }
2807
+ @media (forced-colors: active) {
2808
+ .flood-root .flood-range-chart__band:not([data-flat]) { outline: 1px solid CanvasText; outline-offset: -1px; }
2809
+ .flood-root .flood-range-chart__band[data-flat],
2810
+ .flood-root .flood-range-chart__midpoint {
2811
+ forced-color-adjust: none;
2812
+ background: CanvasText;
2813
+ }
2814
+ .flood-root .flood-range-chart__column[data-active] { outline: 1px solid Highlight; outline-offset: -1px; }
2815
+ }
2816
+
2817
+ .flood-root .flood-bullet-chart { min-inline-size: 0; }
2818
+
2819
+ .flood-root .flood-bullet-chart__items {
2820
+ display: grid;
2821
+ gap: var(--flood-sys-space-4);
2822
+ margin: 0;
2823
+ padding: 0;
2824
+ list-style: none;
2825
+ }
2826
+
2827
+ .flood-root .flood-bullet-chart__caption {
2828
+ justify-content: space-between;
2829
+ overflow-wrap: anywhere;
2830
+ }
2831
+
2832
+ .flood-root .flood-bullet-chart__numbers {
2833
+ justify-content: flex-end;
2834
+ max-inline-size: 100%;
2835
+ margin-inline-start: auto;
2836
+ text-align: end;
2837
+ font-variant-numeric: tabular-nums;
2838
+ }
2839
+
2840
+ .flood-root .flood-bullet-chart__actual { font-weight: var(--flood-sys-type-label-weight); }
2841
+
2842
+ .flood-root .flood-bullet-chart__plot {
2843
+ --flood-bullet-fill-direction: to right;
2844
+ position: relative;
2845
+ display: grid;
2846
+ align-items: center;
2847
+ min-block-size: 1.25rem;
2848
+ }
2849
+
2850
+ .flood-root .flood-bullet-chart__plot:dir(rtl) { --flood-bullet-fill-direction: to left; }
2851
+
2852
+ .flood-root .flood-bullet-chart .flood-indicator__track {
2853
+ block-size: .75rem;
2854
+ border-radius: var(--flood-sys-radius-action);
2855
+ background: var(--flood-chart-grid), var(--flood-sys-color-surface-raised);
2856
+ }
2857
+
2858
+ .flood-root .flood-bullet-chart .flood-indicator__fill {
2859
+ background: linear-gradient(var(--flood-bullet-fill-direction),
2860
+ color-mix(in srgb, var(--flood-chart-accent) 28%, transparent),
2861
+ color-mix(in srgb, var(--flood-chart-accent) 58%, transparent));
2862
+ box-shadow: inset 0 0 0 var(--flood-chart-stroke-width)
2863
+ color-mix(in srgb, var(--flood-chart-accent) 65%, transparent);
2864
+ }
2865
+
2866
+ .flood-root .flood-bullet-chart__plot[data-zero] .flood-indicator__fill { box-shadow: none; }
2867
+
2868
+ .flood-root .flood-bullet-chart__target {
2869
+ position: absolute;
2870
+ inset-block: 0;
2871
+ inset-inline-start: clamp(0px, calc(var(--flood-bullet-target) - var(--flood-chart-stroke-width) / 2),
2872
+ calc(100% - var(--flood-chart-stroke-width)));
2873
+ inline-size: var(--flood-chart-stroke-width);
2874
+ border-radius: var(--flood-sys-radius-action);
2875
+ background: var(--flood-sys-color-content-default);
2876
+ pointer-events: none;
2877
+ }
2878
+
2879
+ @media (forced-colors: active) {
2880
+ .flood-root .flood-bullet-chart .flood-indicator__track { background: Canvas; }
2881
+ .flood-root .flood-bullet-chart .flood-indicator__fill { background: Highlight; }
2882
+ .flood-root .flood-bullet-chart__target {
2883
+ forced-color-adjust: none;
2884
+ background: CanvasText;
2885
+ }
2886
+ }
2887
+
2888
+ .flood-root .flood-waterfall-chart {
2889
+ --flood-waterfall-height: 13rem;
2890
+ --flood-waterfall-bar-width: min(2.75rem, 58%);
2891
+ min-inline-size: 0;
2892
+ container-type: inline-size;
2893
+ }
2894
+ .flood-root .flood-waterfall-chart__plot {
2895
+ position: relative;
2896
+ cursor: crosshair;
2897
+ }
2898
+ .flood-root .flood-waterfall-chart__plot:focus-visible {
2899
+ outline: var(--flood-sys-focus-width) solid var(--flood-sys-color-focus-ring);
2900
+ outline-offset: var(--flood-sys-focus-offset);
2901
+ border-radius: var(--flood-sys-radius-indicator);
2902
+ }
2903
+ .flood-root .flood-waterfall-chart__columns {
2904
+ position: relative;
2905
+ display: grid;
2906
+ grid-template-columns: repeat(var(--flood-waterfall-columns), minmax(0, 1fr));
2907
+ }
2908
+ .flood-root .flood-waterfall-chart__columns::before {
2909
+ content: "";
2910
+ position: absolute;
2911
+ inset: var(--flood-sys-space-2) 0 auto;
2912
+ block-size: var(--flood-waterfall-height);
2913
+ background: var(--flood-chart-grid);
2914
+ mask-image: linear-gradient(90deg, transparent, black 10%, black 90%, transparent),
2915
+ linear-gradient(transparent, black 14%, black 86%, transparent);
2916
+ mask-composite: intersect;
2917
+ pointer-events: none;
2918
+ }
2919
+ .flood-root .flood-waterfall-chart__columns::after {
2920
+ content: "";
2921
+ position: absolute;
2922
+ inset-inline: 0;
2923
+ inset-block-start: calc(var(--flood-sys-space-2) + var(--flood-waterfall-height) * var(--flood-waterfall-zero));
2924
+ block-size: var(--flood-sys-stroke-width);
2925
+ background: var(--flood-sys-color-divider-decorative);
2926
+ pointer-events: none;
2927
+ }
2928
+ .flood-root .flood-waterfall-chart__column {
2929
+ position: relative;
2930
+ display: grid;
2931
+ min-inline-size: 0;
2932
+ gap: var(--flood-sys-space-2);
2933
+ padding-block: var(--flood-sys-space-2);
2934
+ border-radius: var(--flood-sys-radius-indicator);
2935
+ }
2936
+ .flood-root .flood-waterfall-chart__column[data-active] {
2937
+ background: color-mix(in srgb, var(--flood-chart-accent) 5%, transparent);
2938
+ }
2939
+ .flood-root .flood-waterfall-chart__track {
2940
+ position: relative;
2941
+ block-size: var(--flood-waterfall-height);
2942
+ }
2943
+ .flood-root .flood-waterfall-chart__bar {
2944
+ --flood-waterfall-color: var(--flood-sys-color-content-subtle);
2945
+ position: absolute;
2946
+ inset-inline-start: 50%;
2947
+ translate: -50% 0;
2948
+ inline-size: var(--flood-waterfall-bar-width);
2949
+ border-radius: var(--flood-sys-radius-indicator);
2950
+ background: linear-gradient(180deg, color-mix(in srgb, var(--flood-waterfall-color) 39%, transparent),
2951
+ color-mix(in srgb, var(--flood-waterfall-color) 12%, transparent));
2952
+ box-shadow: inset 0 0 0 var(--flood-chart-stroke-width) color-mix(in srgb, var(--flood-waterfall-color) 60%, transparent);
2953
+ }
2954
+ .flood-root .flood-waterfall-chart__bar[data-kind="total"] { --flood-waterfall-color: var(--flood-chart-accent); }
2955
+ .flood-root .flood-waterfall-chart__bar[data-kind="decrease"] {
2956
+ background: color-mix(in srgb, var(--flood-waterfall-color) 12%, transparent);
2957
+ outline: var(--flood-chart-stroke-width) dashed color-mix(in srgb, var(--flood-waterfall-color) 58%, transparent);
2958
+ outline-offset: calc(-1 * var(--flood-chart-stroke-width));
2959
+ box-shadow: none;
2960
+ }
2961
+ .flood-root .flood-waterfall-chart__bar[data-flat] {
2962
+ min-block-size: var(--flood-chart-stroke-width);
2963
+ outline: none;
2964
+ background: var(--flood-waterfall-color);
2965
+ box-shadow: none;
2966
+ }
2967
+ .flood-root .flood-waterfall-chart__connector {
2968
+ position: absolute;
2969
+ inline-size: calc((100% - var(--flood-waterfall-bar-width)) / 2);
2970
+ border-block-start: var(--flood-sys-stroke-width) solid var(--flood-sys-color-content-subtle);
2971
+ opacity: .46;
2972
+ }
2973
+ .flood-root .flood-waterfall-chart__connector[data-side="before"] { inset-inline-start: 0; }
2974
+ .flood-root .flood-waterfall-chart__connector[data-side="after"] { inset-inline-end: 0; }
2975
+ .flood-root .flood-waterfall-chart__category {
2976
+ padding-inline: var(--flood-sys-space-1);
2977
+ text-align: center;
2978
+ white-space: nowrap;
2979
+ overflow: hidden;
2980
+ text-overflow: ellipsis;
2981
+ }
2982
+ .flood-root .flood-waterfall-chart__tooltip {
2983
+ --flood-waterfall-tip-width: min(9rem, 42%);
2984
+ --flood-waterfall-tip-gap: min(calc(2 * var(--flood-chart-tip-gap)), calc(50% / var(--flood-waterfall-columns)));
2985
+ --flood-waterfall-tip-offset: calc(var(--flood-waterfall-tip-side) * (var(--flood-waterfall-tip-width) + 2 * var(--flood-waterfall-tip-gap)) + var(--flood-waterfall-tip-gap));
2986
+ position: absolute;
2987
+ z-index: 2;
2988
+ inset-block-start: var(--flood-sys-space-2);
2989
+ left: clamp(0px, calc(var(--flood-waterfall-position) + var(--flood-waterfall-tip-offset)), calc(100% - var(--flood-waterfall-tip-width)));
2990
+ display: grid;
2991
+ gap: var(--flood-sys-space-1);
2992
+ inline-size: var(--flood-waterfall-tip-width);
2993
+ }
2994
+ .flood-root .flood-waterfall-chart__reading {
2995
+ display: flex;
2996
+ justify-content: space-between;
2997
+ align-items: baseline;
2998
+ gap: var(--flood-sys-space-1);
2999
+ }
3000
+ .flood-root .flood-waterfall-chart__reading > :last-child { text-align: end; }
3001
+ .flood-root .flood-waterfall-chart__empty {
3002
+ display: grid;
3003
+ min-block-size: var(--flood-waterfall-height);
3004
+ place-items: center;
3005
+ }
3006
+ @media (prefers-reduced-motion: no-preference) {
3007
+ .flood-root:not([data-flood-motion="reduce"]) .flood-waterfall-chart__column:not(:where([data-flood-motion="reduce"] *)) {
3008
+ transition: background-color var(--flood-chart-motion);
3009
+ }
3010
+ }
3011
+ @media (forced-colors: active) {
3012
+ .flood-root .flood-waterfall-chart__bar {
3013
+ forced-color-adjust: none;
3014
+ background: Canvas;
3015
+ box-shadow: inset 0 0 0 var(--flood-chart-stroke-width) CanvasText;
3016
+ }
3017
+ .flood-root .flood-waterfall-chart__bar[data-kind="total"] { background: Highlight; }
3018
+ .flood-root .flood-waterfall-chart__bar[data-kind="decrease"] {
3019
+ outline-color: CanvasText;
3020
+ box-shadow: none;
3021
+ }
3022
+ .flood-root .flood-waterfall-chart__bar[data-flat] { background: CanvasText; }
3023
+ }
3024
+
3025
+ .flood-root .flood-histogram {
3026
+ --flood-histogram-height: var(--flood-chart-plot-height, 13rem);
3027
+ min-inline-size: 0;
3028
+ container-type: inline-size;
3029
+ }
3030
+ .flood-root .flood-histogram__plot { position: relative; cursor: crosshair; }
3031
+ .flood-root .flood-histogram__plot:focus-visible {
3032
+ outline: var(--flood-sys-focus-width) solid var(--flood-sys-color-focus-ring);
3033
+ outline-offset: var(--flood-sys-focus-offset);
3034
+ border-radius: var(--flood-sys-radius-indicator);
3035
+ }
3036
+ .flood-root .flood-histogram__columns {
3037
+ position: relative;
3038
+ display: flex;
3039
+ block-size: var(--flood-histogram-height);
3040
+ box-sizing: border-box;
3041
+ padding-block-start: var(--flood-sys-space-3);
3042
+ border-block-end: var(--flood-sys-stroke-width) solid var(--flood-sys-color-divider-decorative);
3043
+ }
3044
+ .flood-root .flood-histogram__columns::before {
3045
+ content: "";
3046
+ position: absolute;
3047
+ inset: 0;
3048
+ background: var(--flood-chart-grid);
3049
+ mask-image: linear-gradient(90deg, transparent, black 10%, black 90%, transparent),
3050
+ linear-gradient(transparent, black 18%, black 84%, transparent);
3051
+ mask-composite: intersect;
3052
+ pointer-events: none;
3053
+ }
3054
+ .flood-root .flood-histogram__bin { position: relative; flex: 1 1 0; min-inline-size: 0; }
3055
+ .flood-root .flood-histogram__bin[data-active] {
3056
+ background: color-mix(in srgb, var(--flood-chart-accent) 5%, transparent);
3057
+ }
3058
+ .flood-root .flood-histogram__bar {
3059
+ position: absolute;
3060
+ inset-inline: min(7%, var(--flood-sys-space-1) / 2);
3061
+ inset-block-end: 0;
3062
+ block-size: var(--flood-histogram-bin-height);
3063
+ border-radius: var(--flood-sys-radius-indicator) var(--flood-sys-radius-indicator) 0 0;
3064
+ background: linear-gradient(to bottom, color-mix(in srgb, var(--flood-chart-accent) 32%, transparent), color-mix(in srgb, var(--flood-chart-accent) 5%, transparent));
3065
+ --flood-histogram-ink: color-mix(in srgb, var(--flood-chart-accent) 72%, transparent);
3066
+ box-shadow: inset 0 var(--flood-chart-stroke-width) var(--flood-histogram-ink);
3067
+ }
3068
+ .flood-root .flood-histogram__bar[data-zero] {
3069
+ block-size: var(--flood-sys-stroke-width);
3070
+ border-radius: 0;
3071
+ background: var(--flood-sys-color-border-decorative);
3072
+ box-shadow: none;
3073
+ }
3074
+ .flood-root .flood-histogram__bin[data-active] > .flood-histogram__bar {
3075
+ --flood-histogram-ink: var(--flood-chart-accent);
3076
+ }
3077
+ .flood-root .flood-histogram__bin[data-active] > .flood-histogram__bar[data-zero] { background: var(--flood-histogram-ink); }
3078
+ .flood-root .flood-histogram__axis {
3079
+ position: relative;
3080
+ display: flex;
3081
+ justify-content: space-between;
3082
+ margin-block-start: var(--flood-sys-space-2);
3083
+ font-variant-numeric: tabular-nums;
3084
+ }
3085
+ .flood-root .flood-histogram__axis > .flood-text {
3086
+ max-inline-size: 30%;
3087
+ overflow: hidden;
3088
+ text-overflow: ellipsis;
3089
+ white-space: nowrap;
3090
+ }
3091
+ .flood-root .flood-histogram__mid-label { position: absolute; translate: -50% 0; }
3092
+ .flood-root .flood-histogram__axis-label { display: block; text-align: center; margin-block-start: var(--flood-sys-space-2); }
3093
+ .flood-root .flood-histogram__tooltip {
3094
+ --flood-histogram-tip-gap: calc(var(--flood-histogram-half-bin) + var(--flood-chart-tip-gap));
3095
+ --flood-histogram-tip-width: min(8rem, max(5rem, calc(50% - var(--flood-histogram-tip-gap))));
3096
+ --flood-histogram-tip-offset: calc(var(--flood-histogram-tip-side) * (var(--flood-histogram-tip-width) + 2 * var(--flood-histogram-tip-gap)) + var(--flood-histogram-tip-gap));
3097
+ position: absolute;
3098
+ z-index: 1;
3099
+ top: var(--flood-sys-space-2);
3100
+ left: clamp(0px, calc(var(--flood-histogram-active) + var(--flood-histogram-tip-offset)), calc(100% - var(--flood-histogram-tip-width)));
3101
+ inline-size: var(--flood-histogram-tip-width);
3102
+ display: grid;
3103
+ gap: var(--flood-sys-space-1);
3104
+ }
3105
+ .flood-root .flood-histogram__tooltip-count { justify-content: space-between; }
3106
+ .flood-root .flood-histogram__plot:has(.flood-histogram__bin:only-child) .flood-histogram__tooltip {
3107
+ left: 50%;
3108
+ translate: -50% 0;
3109
+ }
3110
+ .flood-root .flood-histogram__empty { display: grid; place-items: center; min-block-size: var(--flood-histogram-height); }
3111
+ @media (prefers-reduced-motion: no-preference) {
3112
+ .flood-root:not([data-flood-motion="reduce"]) .flood-histogram__bar:not(:where([data-flood-motion="reduce"] *)) {
3113
+ transition: box-shadow var(--flood-chart-motion);
3114
+ }
3115
+ }
3116
+ @media (forced-colors: active) {
3117
+ .flood-root .flood-histogram__columns::before { display: none; }
3118
+ .flood-root .flood-histogram__bar[data-zero] { forced-color-adjust: none; background: GrayText; }
3119
+ .flood-root .flood-histogram__bin[data-active] > .flood-histogram__bar[data-zero] { background: Highlight; }
3120
+ .flood-root .flood-histogram__bar:not([data-zero]) {
3121
+ forced-color-adjust: none;
3122
+ background: Canvas;
3123
+ box-shadow: inset 0 0 0 var(--flood-chart-stroke-width) CanvasText;
3124
+ }
3125
+ .flood-root .flood-histogram__bin[data-active] > .flood-histogram__bar:not([data-zero]) {
3126
+ box-shadow: inset 0 0 0 var(--flood-chart-stroke-width) Highlight;
3127
+ }
3128
+ }
3129
+
3130
+ .flood-root .flood-box-plot {
3131
+ --flood-box-label: clamp(3.75rem, 19%, 7rem);
3132
+ --flood-box-row-height: 3rem;
3133
+ --flood-box-gutter: var(--flood-sys-space-2);
3134
+ min-inline-size: 0;
3135
+ }
3136
+ .flood-root .flood-box-plot__plot {
3137
+ position: relative;
3138
+ min-block-size: 11rem;
3139
+ cursor: crosshair;
3140
+ }
3141
+ .flood-root .flood-box-plot__plot:focus-visible {
3142
+ outline: var(--flood-sys-focus-width) solid var(--flood-sys-color-focus-ring);
3143
+ outline-offset: var(--flood-sys-focus-offset);
3144
+ border-radius: var(--flood-sys-radius-indicator);
3145
+ }
3146
+ .flood-root .flood-box-plot__rows {
3147
+ position: relative;
3148
+ isolation: isolate;
3149
+ display: grid;
3150
+ box-sizing: border-box;
3151
+ grid-auto-rows: minmax(var(--flood-box-row-height), 1fr);
3152
+ min-block-size: var(--flood-chart-plot-height, 0px);
3153
+ border-block-end: var(--flood-sys-stroke-width) solid var(--flood-sys-color-divider-decorative);
3154
+ }
3155
+ .flood-root .flood-box-plot__rows::before {
3156
+ content: "";
3157
+ position: absolute;
3158
+ inset: 0 var(--flood-box-gutter) 0 var(--flood-box-label);
3159
+ background: var(--flood-chart-grid);
3160
+ mask-image: linear-gradient(90deg, transparent, black 12%, black 88%, transparent);
3161
+ pointer-events: none;
3162
+ }
3163
+ .flood-root .flood-box-plot__row {
3164
+ display: grid;
3165
+ grid-template-columns: var(--flood-box-label) minmax(0, 1fr);
3166
+ align-items: center;
3167
+ min-block-size: var(--flood-box-row-height);
3168
+ padding-inline-end: var(--flood-box-gutter);
3169
+ border-radius: var(--flood-sys-radius-indicator);
3170
+ }
3171
+ .flood-root .flood-box-plot__row[data-active] {
3172
+ background: color-mix(in srgb, var(--flood-chart-accent) 5%, transparent);
3173
+ }
3174
+ .flood-root .flood-box-plot__category {
3175
+ padding-inline: var(--flood-box-gutter);
3176
+ white-space: nowrap;
3177
+ overflow: hidden;
3178
+ text-overflow: ellipsis;
3179
+ }
3180
+ .flood-root .flood-box-plot__track {
3181
+ position: relative;
3182
+ block-size: var(--flood-box-row-height);
3183
+ }
3184
+ .flood-root .flood-box-plot__track > :is(.flood-box-plot__box, .flood-box-plot__whisker, .flood-box-plot__median, .flood-box-plot__outlier, .flood-box-plot__missing) {
3185
+ position: absolute;
3186
+ inset-block-start: 50%;
3187
+ translate: 0 -50%;
3188
+ }
3189
+ .flood-root .flood-box-plot__whisker {
3190
+ block-size: var(--flood-sys-stroke-width);
3191
+ background: color-mix(in srgb, var(--flood-chart-accent) 54%, transparent);
3192
+ }
3193
+ .flood-root .flood-box-plot__whisker::before {
3194
+ content: "";
3195
+ position: absolute;
3196
+ inset-block-start: 50%;
3197
+ translate: -50% -50%;
3198
+ inline-size: var(--flood-chart-stroke-width);
3199
+ block-size: .75rem;
3200
+ border-radius: var(--flood-sys-radius-action);
3201
+ background: color-mix(in srgb, var(--flood-chart-accent) 64%, transparent);
3202
+ }
3203
+ .flood-root .flood-box-plot__whisker[data-side="start"]::before { left: 0; }
3204
+ .flood-root .flood-box-plot__whisker[data-side="end"]::before { left: 100%; }
3205
+ .flood-root .flood-box-plot__box {
3206
+ block-size: 1.5rem;
3207
+ min-inline-size: var(--flood-chart-stroke-width);
3208
+ border-radius: var(--flood-sys-radius-indicator);
3209
+ box-shadow: inset 0 0 0 var(--flood-chart-stroke-width) color-mix(in srgb, var(--flood-chart-accent) 68%, transparent);
3210
+ background: linear-gradient(90deg,
3211
+ color-mix(in srgb, var(--flood-chart-accent) 17%, transparent),
3212
+ color-mix(in srgb, var(--flood-chart-accent) 39%, transparent));
3213
+ }
3214
+ .flood-root .flood-box-plot__median {
3215
+ inline-size: var(--flood-chart-stroke-width);
3216
+ block-size: 1.25rem;
3217
+ border-radius: var(--flood-sys-radius-action);
3218
+ background: var(--flood-sys-color-content-default);
3219
+ }
3220
+ .flood-root .flood-box-plot__outlier {
3221
+ box-sizing: border-box;
3222
+ inline-size: .45rem;
3223
+ aspect-ratio: 1;
3224
+ border-radius: 50%;
3225
+ border: var(--flood-chart-stroke-width) solid color-mix(in srgb, var(--flood-chart-accent) 68%, transparent);
3226
+ }
3227
+ .flood-root .flood-box-plot__track > :is(.flood-box-plot__median, .flood-box-plot__outlier) { translate: -50% -50%; }
3228
+ .flood-root .flood-box-plot__missing {
3229
+ inset-inline: 0;
3230
+ border-block-start: var(--flood-sys-stroke-width) dashed var(--flood-sys-color-divider-decorative);
3231
+ }
3232
+ .flood-root .flood-box-plot__axis {
3233
+ display: flex;
3234
+ justify-content: space-between;
3235
+ gap: var(--flood-sys-space-2);
3236
+ margin-inline: var(--flood-box-label) var(--flood-box-gutter);
3237
+ padding-block-start: var(--flood-sys-space-2);
3238
+ text-align: center;
3239
+ font-variant-numeric: tabular-nums;
3240
+ }
3241
+ .flood-root .flood-box-plot__axis > :only-child { margin-inline: auto; }
3242
+ .flood-root .flood-box-plot__axis > * { min-inline-size: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
3243
+ .flood-root .flood-box-plot__tooltip {
3244
+ position: absolute;
3245
+ z-index: 1;
3246
+ display: grid;
3247
+ row-gap: var(--flood-sys-space-1);
3248
+ column-gap: var(--flood-chart-tip-gap);
3249
+ inline-size: min(12rem, calc(50% - 2 * var(--flood-chart-tip-gap)));
3250
+ visibility: hidden;
3251
+ }
3252
+ .flood-root .flood-box-plot__tooltip[data-positioned] { visibility: visible; }
3253
+ .flood-root .flood-box-plot__reading {
3254
+ display: flex;
3255
+ align-items: baseline;
3256
+ justify-content: space-between;
3257
+ gap: var(--flood-sys-space-1);
3258
+ }
3259
+ .flood-root .flood-box-plot__reading > :last-child { text-align: end; }
3260
+ .flood-root .flood-box-plot__reading > :first-child,
3261
+ .flood-root .flood-box-plot__reading > :last-child > span { white-space: nowrap; }
3262
+ .flood-root .flood-box-plot__empty {
3263
+ display: grid;
3264
+ place-items: center;
3265
+ min-block-size: calc(var(--flood-box-row-height) * 3);
3266
+ }
3267
+ @media (prefers-reduced-motion: no-preference) {
3268
+ .flood-root:not([data-flood-motion="reduce"]) .flood-box-plot__row:not(:where([data-flood-motion="reduce"] *)) {
3269
+ transition: background-color var(--flood-chart-motion);
3270
+ }
3271
+ }
3272
+ @media (forced-colors: active) {
3273
+ .flood-root .flood-box-plot__whisker,
3274
+ .flood-root .flood-box-plot__whisker::before,
3275
+ .flood-root .flood-box-plot__median { forced-color-adjust: none; background: CanvasText; }
3276
+ .flood-root .flood-box-plot__box { outline: 1px solid CanvasText; outline-offset: -1px; }
3277
+ .flood-root .flood-box-plot__row[data-active] { outline: 1px solid Highlight; outline-offset: -1px; }
3278
+ }
3279
+
3280
+ .flood-root .flood-dumbbell-chart {
3281
+ --flood-dumbbell-label-width: clamp(3.5rem, 20%, 7rem);
3282
+ --flood-dumbbell-inset: var(--flood-sys-space-2);
3283
+ min-inline-size: 0;
3284
+ }
3285
+ .flood-root .flood-dumbbell-chart__plot { position: relative; cursor: crosshair; }
3286
+ .flood-root .flood-dumbbell-chart__rows {
3287
+ position: relative;
3288
+ isolation: isolate;
3289
+ }
3290
+ .flood-root .flood-dumbbell-chart__rows::before {
3291
+ content: "";
3292
+ position: absolute;
3293
+ inset: 0 var(--flood-dumbbell-inset) 0 var(--flood-dumbbell-label-width);
3294
+ background: var(--flood-chart-grid);
3295
+ mask-image: linear-gradient(90deg, transparent, black 10%, black 90%, transparent);
3296
+ pointer-events: none;
3297
+ }
3298
+ .flood-root .flood-dumbbell-chart__row {
3299
+ display: grid;
3300
+ grid-template-columns: var(--flood-dumbbell-label-width) minmax(0, 1fr);
3301
+ align-items: center;
3302
+ min-block-size: 2.75rem;
3303
+ border-radius: var(--flood-sys-radius-indicator);
3304
+ position: relative;
3305
+ }
3306
+ .flood-root .flood-dumbbell-chart__row[data-active] {
3307
+ background: color-mix(in srgb, var(--flood-chart-accent) 6%, transparent);
3308
+ z-index: 1;
3309
+ }
3310
+ .flood-root .flood-dumbbell-chart__name {
3311
+ padding-inline: var(--flood-dumbbell-inset);
3312
+ overflow: hidden;
3313
+ text-overflow: ellipsis;
3314
+ white-space: nowrap;
3315
+ }
3316
+ .flood-root .flood-dumbbell-chart__track {
3317
+ position: relative;
3318
+ margin-inline: var(--flood-dumbbell-inset);
3319
+ }
3320
+ .flood-root .flood-dumbbell-chart__connector {
3321
+ position: absolute;
3322
+ block-size: var(--flood-chart-stroke-width);
3323
+ translate: 0 -50%;
3324
+ background: color-mix(in srgb, var(--flood-chart-accent) 55%, transparent);
3325
+ }
3326
+ .flood-root :is(.flood-dumbbell-chart__point, .flood-dumbbell-chart__key) {
3327
+ box-sizing: border-box;
3328
+ inline-size: .625rem;
3329
+ block-size: .625rem;
3330
+ border-radius: 50%;
3331
+ border: var(--flood-chart-stroke-width) solid var(--flood-chart-accent);
3332
+ background: var(--flood-chart-accent);
3333
+ }
3334
+ .flood-root .flood-dumbbell-chart__point { position: absolute; translate: -50% -50%; }
3335
+ .flood-root .flood-dumbbell-chart [data-point="before"] {
3336
+ inline-size: .875rem;
3337
+ block-size: .875rem;
3338
+ border-color: var(--flood-sys-color-content-subtle);
3339
+ background: var(--flood-sys-color-surface-raised);
3340
+ }
3341
+ .flood-root .flood-dumbbell-chart [data-point="after"] {
3342
+ inline-size: .4375rem;
3343
+ block-size: .4375rem;
3344
+ }
3345
+ .flood-root .flood-dumbbell-chart__axis {
3346
+ display: flex;
3347
+ justify-content: space-between;
3348
+ gap: var(--flood-sys-space-2);
3349
+ margin-inline: calc(var(--flood-dumbbell-label-width) + var(--flood-dumbbell-inset)) var(--flood-dumbbell-inset);
3350
+ margin-block-start: var(--flood-sys-space-2);
3351
+ font-variant-numeric: tabular-nums;
3352
+ }
3353
+ .flood-root .flood-dumbbell-chart__axis > :only-child { margin-inline: auto; }
3354
+ .flood-root .flood-dumbbell-chart__axis > * { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
3355
+ .flood-root .flood-dumbbell-chart__legend { margin-block-start: var(--flood-sys-space-3); }
3356
+ .flood-root .flood-dumbbell-chart__tooltip {
3357
+ --flood-dumbbell-tip-width: min(9rem, 80%);
3358
+ position: absolute;
3359
+ z-index: 1;
3360
+ display: grid;
3361
+ gap: var(--flood-sys-space-1);
3362
+ inline-size: var(--flood-dumbbell-tip-width);
3363
+ --flood-dumbbell-track-width: calc(100% - var(--flood-dumbbell-label-width) - 2 * var(--flood-dumbbell-inset));
3364
+ left: clamp(0px, calc(var(--flood-dumbbell-label-width) + var(--flood-dumbbell-inset) + var(--flood-dumbbell-anchor) * var(--flood-dumbbell-track-width) - var(--flood-dumbbell-tip-width) / 2), calc(100% - var(--flood-dumbbell-tip-width)));
3365
+ }
3366
+ .flood-root .flood-dumbbell-chart__tooltip[data-side="below"] { inset-block-start: calc(100% + var(--flood-dumbbell-inset)); }
3367
+ .flood-root .flood-dumbbell-chart__tooltip[data-side="above"] { inset-block-end: calc(100% + var(--flood-dumbbell-inset)); }
3368
+ .flood-root .flood-dumbbell-chart__reading { justify-content: space-between; }
3369
+ @media (prefers-reduced-motion: no-preference) {
3370
+ .flood-root:not([data-flood-motion="reduce"]) .flood-dumbbell-chart__row:not(:where([data-flood-motion="reduce"] *)) {
3371
+ transition: background-color var(--flood-chart-motion);
3372
+ }
3373
+ }
3374
+ @media (forced-colors: active) {
3375
+ .flood-root .flood-dumbbell-chart__connector { forced-color-adjust: none; background: GrayText; }
3376
+ .flood-root .flood-dumbbell-chart [data-point] { forced-color-adjust: none; border-color: CanvasText; background: Canvas; }
3377
+ .flood-root .flood-dumbbell-chart [data-point="after"] { background: CanvasText; }
3378
+ .flood-root .flood-dumbbell-chart__row[data-active] { outline: 1px solid Highlight; outline-offset: -1px; }
3379
+ }
3380
+
3381
+ .flood-root .flood-file-list { box-sizing:border-box; padding-inline:var(--flood-sys-space-4); border:var(--flood-sys-stroke-width) solid var(--flood-sys-color-border-decorative); border-radius:var(--flood-sys-radius-field); background:var(--flood-sys-color-surface-default); container-type:inline-size; container-name:flood-files; }
3382
+ .flood-root .flood-file-item__thumbnail { display:grid; place-items:center; flex:none; inline-size:var(--flood-sys-control-md-height); block-size:var(--flood-sys-control-md-height); border-radius:var(--flood-sys-radius-action); color:var(--flood-sys-color-content-subtle); overflow:hidden; background:var(--flood-sys-color-field-background); }
3383
+ .flood-root .flood-file-item__thumbnail img { display:block; inline-size:100%; block-size:100%; object-fit:cover; }
3384
+ .flood-root .flood-file-item__name { overflow-wrap:anywhere; }
3385
+ .flood-root .flood-file-item__heading { display:flex; align-items:center; flex-wrap:wrap; gap:var(--flood-sys-space-1) var(--flood-sys-space-2); min-inline-size:0; }
3386
+ .flood-root .flood-file-item__heading>.flood-file-item__name { min-inline-size:0; }
3387
+ .flood-root .flood-file-meta { flex:0 1 auto; max-inline-size:100%; flex-wrap:wrap; white-space:normal; overflow-wrap: break-word; color:var(--flood-sys-color-content-subtle); font-weight:400; }
3388
+ .flood-root .flood-file-meta>span { min-inline-size:0; }
3389
+ .flood-root .flood-file-item .flood-data-list-item__trailing { flex:none; max-inline-size:none; }
3390
+ .flood-root .flood-upload-item .flood-data-list-item__copy { align-self:center; }
3391
+ .flood-root .flood-upload-item__status-row { display:flex; align-items:center; gap:var(--flood-sys-space-2); min-inline-size:0; }
3392
+ .flood-root .flood-upload-item__status-row[data-progress]>.flood-status-indicator { flex:none; white-space:nowrap; }
3393
+ .flood-root .flood-upload-item .flood-indicator { flex:1; min-inline-size:0; }
3394
+ .flood-root .flood-upload-item .flood-status-indicator { overflow-wrap:break-word; }
3395
+ .flood-root .flood-image-preview { inline-size:min(56rem,calc(100% - var(--flood-sys-space-8))); }
3396
+ .flood-root .flood-image-preview__figure { margin:0; }
3397
+ .flood-root .flood-image-preview__media { display:grid; place-items:center; min-block-size:12rem; max-inline-size:100%; background:var(--flood-sys-color-surface-canvas); border-radius:var(--flood-sys-radius-field); overflow:hidden; }
3398
+ .flood-root .flood-image-preview__image { grid-area:1/1; inline-size:auto; max-inline-size:100%; max-block-size:60dvh; object-fit:contain; }
3399
+ .flood-root .flood-image-preview__media[data-state="loading"] .flood-image-preview__image { visibility:hidden; }
3400
+ .flood-root .flood-image-preview__media>[role="status"] { grid-area:1/1; }
3401
+ .flood-root .flood-image-preview__caption { margin-block-start:var(--flood-sys-space-2); font-size:var(--flood-sys-type-compact-size); line-height:var(--flood-sys-type-compact-line-height); color:var(--flood-sys-color-content-subtle); }
3402
+ .flood-root .flood-image-preview__actions { display:flex; justify-content:flex-end; margin-block-start:var(--flood-sys-space-4); }
3403
+ @media(max-width:30rem){.flood-root .flood-file-list>.flood-file-item { flex-wrap:nowrap; }.flood-root .flood-file-item__thumbnail{inline-size:var(--flood-sys-control-sm-height);block-size:var(--flood-sys-control-sm-height);}}
3404
+ @container flood-files (max-width:16rem){
3405
+ .flood-root .flood-file-list>.flood-file-item:not([hidden]) { display:grid; grid-template-columns:minmax(0,1fr); }
3406
+ .flood-root .flood-file-item .flood-data-list-item__trailing { justify-content:flex-start; }
3407
+ .flood-root .flood-file-item .flood-data-list-item__actions { flex-wrap:wrap; }
3408
+ .flood-root .flood-upload-item__status-row { flex-wrap:wrap; }
3409
+ .flood-root .flood-upload-item__status-row[data-progress]>.flood-status-indicator { flex:0 1 auto; min-inline-size:0; white-space:normal; }
3410
+ .flood-root .flood-upload-item .flood-indicator { flex-basis:100%; }
3411
+ }
3412
+
3413
+ .flood-root .flood-time-picker__panel { inline-size:min(var(--flood-time-picker-width,22rem),var(--flood-overlay-available-width,calc(100dvw - 1rem))); padding:var(--flood-sys-space-1); }
3414
+ .flood-root .flood-time-picker__scroll { max-block-size:min(15rem,calc(var(--flood-overlay-available-height,60dvh) - 1rem)); }
3415
+
3416
+ .flood-root .flood-date-time-range-picker { min-inline-size:0; inline-size:100%; }
3417
+
3418
+ .flood-root .flood-overflow-actions { position:relative; inline-size:100%; min-inline-size:0; }
3419
+ .flood-root .flood-overflow-actions__bar { display:flex; flex-wrap:nowrap; gap:var(--flood-sys-space-2); inline-size:fit-content; max-inline-size:100%; min-inline-size:0; overflow:auto; }
3420
+ .flood-root .flood-overflow-actions__bar > button { flex:none; }
3421
+ .flood-root :is(.flood-overflow-actions__leading,.flood-overflow-actions__trailing) { display:flex; align-items:center; flex:none; min-inline-size:0; }
3422
+ .flood-root .flood-overflow-actions__trailing { margin-inline-start:auto; }
3423
+ .flood-root .flood-overflow-actions__measure { position:absolute; visibility:hidden; pointer-events:none; inline-size:max-content; block-size:0; overflow:hidden; display:flex; gap:var(--flood-sys-space-2); }
3424
+ .flood-root .flood-menubar { display:flex; align-items:center; gap:var(--flood-sys-space-1); min-inline-size:0; max-inline-size:100%; overflow:auto; }
3425
+ .flood-root .flood-menubar > button { flex:none; }
3426
+ .flood-root .flood-button[data-tone="danger"] { --flood-action-content:var(--flood-sys-color-action-danger-content); }
3427
+ .flood-root .flood-button--solid[data-tone="danger"] {
3428
+ --flood-action-rest:var(--flood-sys-color-action-danger-content);
3429
+ --flood-action-hover:color-mix(in srgb,var(--flood-sys-color-action-danger-content),white 10%);
3430
+ --flood-action-pressed:color-mix(in srgb,var(--flood-sys-color-action-danger-content),black 10%);
3431
+ --flood-action-content:var(--flood-sys-color-surface-canvas);
3432
+ }
3433
+
3434
+ /* BulkActionBar shares Toolbar geometry and adaptive command ownership. */
3435
+ .flood-root .flood-bulk-action-bar { inline-size:100%; max-inline-size:32rem; }
3436
+ .flood-root .flood-bulk-action-bar > .flood-overflow-actions__bar { inline-size:100%; background:var(--flood-sys-color-surface-floating); border-color:var(--flood-sys-color-border-floating); box-shadow:0 var(--flood-sys-effect-floating-shadow-offset) var(--flood-sys-effect-floating-shadow-blur) var(--flood-sys-color-shadow-floating); }
3437
+ .flood-root .flood-bulk-action-bar > .flood-overflow-actions__bar > .flood-overflow-actions__leading { max-inline-size:35%; }
3438
+ .flood-root .flood-bulk-action-bar__selection { box-sizing:border-box; inline-size:7rem; max-inline-size:100%; padding-inline:var(--flood-sys-space-2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-variant-numeric:tabular-nums; }
3439
+ .flood-root .flood-bulk-action-bar__selection[data-counter="number"] { inline-size:3rem; text-align:center; }
3440
+ @media(forced-colors:active) { .flood-root .flood-bulk-action-bar > .flood-overflow-actions__bar { background:Canvas; border-color:CanvasText; box-shadow:none; } }
3441
+
3442
+ /* Nearest material owners establish their own inherited recipes. Absolute surface
3443
+ palette roles stay unchanged; descendants consume the existing semantic roles. */
3444
+ .flood-root :where(.flood-surface, .flood-dialog, .flood-overlay-panel,
3445
+ .flood-select__menu, .flood-toast, .flood-toolbar:not([data-variant="plain"]), .flood-calendar:not(.flood-date-picker__panel .flood-calendar):not(.flood-date-range-picker__panel .flood-calendar),
3446
+ .flood-file-list, .flood-color-picker__panel, .flood-bulk-action-bar,
3447
+ .flood-tabs:not([data-variant="line"]), .flood-disclosure:not(.flood-accordion > .flood-disclosure), .flood-accordion,
3448
+ .flood-segmented .flood-choice-group, .flood-data-table__footer, .flood-code-snippet),
3449
+ .flood-root :where([data-flood-surface="filled"], [data-flood-surface="floating"]),
3450
+ .flood-root:is([data-flood-surface="filled"], [data-flood-surface="floating"]) {
3451
+ --flood-sys-color-action-subtle-rest: var(--flood-sys-color-context-filled-action-rest);
3452
+ --flood-sys-color-action-subtle-hover: var(--flood-sys-color-context-filled-action-hover);
3453
+ --flood-sys-color-action-subtle-pressed: var(--flood-sys-color-context-filled-action-pressed);
3454
+ --flood-sys-color-action-subtle-disabled: var(--flood-sys-color-context-filled-action-disabled);
3455
+ --flood-sys-color-action-ghost-hover: var(--flood-sys-color-context-filled-action-hover);
3456
+ --flood-sys-color-action-ghost-pressed: var(--flood-sys-color-context-filled-action-pressed);
3457
+ --flood-sys-color-action-on-surface-rest: var(--flood-sys-color-context-filled-action-rest);
3458
+ --flood-sys-color-action-on-surface-hover: var(--flood-sys-color-context-filled-action-hover);
3459
+ --flood-sys-color-action-on-surface-pressed: var(--flood-sys-color-context-filled-action-pressed);
3460
+ --flood-sys-color-action-on-surface-disabled: var(--flood-sys-color-context-filled-action-disabled);
3461
+ --flood-sys-color-field-background: var(--flood-sys-color-context-filled-field-background);
3462
+ --flood-sys-color-field-border: var(--flood-sys-color-context-filled-field-border);
3463
+ --flood-sys-color-field-readonly: var(--flood-sys-color-context-filled-field-readonly);
3464
+ --flood-sys-color-field-disabled: var(--flood-sys-color-context-filled-field-disabled);
3465
+ --flood-sys-color-selection-background: var(--flood-sys-color-context-filled-selection-background);
3466
+ --flood-sys-color-border-decorative: var(--flood-sys-color-context-filled-border-decorative);
3467
+ --flood-sys-color-divider-decorative: var(--flood-sys-color-context-filled-divider-decorative);
3468
+ --flood-sys-color-surface-supporting: var(--flood-sys-color-context-filled-supporting-background);
3469
+ --flood-sys-color-surface-avatar: var(--flood-sys-color-context-filled-avatar-background);
3470
+ --flood-sys-color-surface-muted: var(--flood-sys-color-context-filled-muted-background);
3471
+ --flood-sys-color-indicator-track: var(--flood-sys-color-context-filled-indicator-track);
3472
+ --flood-sys-color-loading-placeholder: var(--flood-sys-color-context-filled-loading-placeholder);
3473
+ }
3474
+
3475
+ .flood-root[data-flood-surface="filled"],
3476
+ .flood-root :where([data-flood-surface="filled"], .flood-surface[data-flood-elevation="default"], .flood-toolbar:not([data-variant="plain"]), .flood-file-list, .flood-color-picker__panel,
3477
+ .flood-tabs:not([data-variant="line"]), .flood-disclosure:not(.flood-accordion > .flood-disclosure), .flood-accordion,
3478
+ .flood-segmented .flood-choice-group, .flood-data-table__footer, .flood-code-snippet) {
3479
+ --flood-sys-color-surface-current: var(--flood-sys-color-surface-default);
3480
+ }
3481
+ .flood-root :where(.flood-surface[data-flood-elevation="raised"], .flood-calendar:not(.flood-date-picker__panel .flood-calendar):not(.flood-date-range-picker__panel .flood-calendar)) {
3482
+ --flood-sys-color-surface-current: var(--flood-sys-color-surface-raised);
3483
+ }
3484
+ .flood-root :where(.flood-surface[data-flood-elevation="overlay"], .flood-dialog) {
3485
+ --flood-sys-color-surface-current: var(--flood-sys-color-surface-overlay);
3486
+ }
3487
+ .flood-root[data-flood-surface="floating"],
3488
+ .flood-root :where(.flood-overlay-panel, .flood-select__menu, .flood-toast, .flood-bulk-action-bar,
3489
+ .flood-bulk-action-bar > .flood-overflow-actions__bar, [data-flood-surface="floating"]) {
3490
+ --flood-sys-color-surface-current: var(--flood-sys-color-surface-floating);
3491
+ }
3492
+ /* Picker calendars shed their standalone material; the popup is their owner. */
3493
+ .flood-root :where(.flood-date-picker__panel, .flood-date-range-picker__panel) .flood-calendar {
3494
+ --flood-sys-color-surface-current: inherit;
3495
+ }
3496
+
3497
+ /* Explicit canvas scopes reset every role after automatic material owners. */
3498
+ .flood-root[data-flood-surface="base"],
3499
+ .flood-root :where([data-flood-surface="base"], .flood-dropzone,
3500
+ .flood-tabs:not([data-variant="line"]) > .flood-tabs__scroll) {
3501
+ --flood-sys-color-action-subtle-rest: var(--flood-sys-color-context-base-action-rest);
3502
+ --flood-sys-color-action-subtle-hover: var(--flood-sys-color-context-base-action-hover);
3503
+ --flood-sys-color-action-subtle-pressed: var(--flood-sys-color-context-base-action-pressed);
3504
+ --flood-sys-color-action-subtle-disabled: var(--flood-sys-color-context-base-action-disabled);
3505
+ --flood-sys-color-action-ghost-hover: var(--flood-sys-color-context-base-action-hover);
3506
+ --flood-sys-color-action-ghost-pressed: var(--flood-sys-color-context-base-action-pressed);
3507
+ --flood-sys-color-action-on-surface-rest: var(--flood-sys-color-context-base-on-surface-action-rest);
3508
+ --flood-sys-color-action-on-surface-hover: var(--flood-sys-color-context-base-on-surface-action-hover);
3509
+ --flood-sys-color-action-on-surface-pressed: var(--flood-sys-color-context-base-on-surface-action-pressed);
3510
+ --flood-sys-color-action-on-surface-disabled: var(--flood-sys-color-context-base-on-surface-action-disabled);
3511
+ --flood-sys-color-field-background: var(--flood-sys-color-context-base-field-background);
3512
+ --flood-sys-color-field-border: var(--flood-sys-color-context-base-field-border);
3513
+ --flood-sys-color-field-readonly: var(--flood-sys-color-context-base-field-readonly);
3514
+ --flood-sys-color-field-disabled: var(--flood-sys-color-context-base-field-disabled);
3515
+ --flood-sys-color-selection-background: var(--flood-sys-color-context-base-selection-background);
3516
+ --flood-sys-color-border-decorative: var(--flood-sys-color-context-base-border-decorative);
3517
+ --flood-sys-color-divider-decorative: var(--flood-sys-color-context-base-divider-decorative);
3518
+ --flood-sys-color-surface-supporting: var(--flood-sys-color-context-base-supporting-background);
3519
+ --flood-sys-color-surface-avatar: var(--flood-sys-color-context-base-avatar-background);
3520
+ --flood-sys-color-surface-muted: var(--flood-sys-color-context-base-muted-background);
3521
+ --flood-sys-color-indicator-track: var(--flood-sys-color-context-base-indicator-track);
3522
+ --flood-sys-color-loading-placeholder: var(--flood-sys-color-context-base-loading-placeholder);
3523
+ --flood-sys-color-surface-current: var(--flood-sys-color-surface-canvas);
3524
+ }
3525
+
3526
+ /* Explicit host preference also works in engines without the media feature. */
3527
+ .flood-root[data-flood-transparency="reduced"] :is(.flood-overlay-panel, .flood-select__menu),
3528
+ .flood-root [data-flood-transparency="reduced"] :is(.flood-overlay-panel, .flood-select__menu),
3529
+ .flood-root :is(.flood-overlay-panel, .flood-select__menu)[data-flood-transparency="reduced"] {
3530
+ background: var(--flood-sys-color-surface-floating);
3531
+ backdrop-filter: none;
3532
+ }
3533
+
3534
+ @media (forced-colors: active) {
3535
+ .flood-root[data-flood-transparency="reduced"] :is(.flood-overlay-panel, .flood-select__menu),
3536
+ .flood-root [data-flood-transparency="reduced"] :is(.flood-overlay-panel, .flood-select__menu),
3537
+ .flood-root :is(.flood-overlay-panel, .flood-select__menu)[data-flood-transparency="reduced"] {
3538
+ background: Canvas;
3539
+ }
3540
+ .flood-root, .flood-root :where(.flood-surface, .flood-dialog, .flood-overlay-panel,
3541
+ .flood-select__menu, .flood-toast, .flood-toolbar:not([data-variant="plain"]), .flood-calendar:not(.flood-date-picker__panel .flood-calendar):not(.flood-date-range-picker__panel .flood-calendar),
3542
+ .flood-file-list, .flood-color-picker__panel, .flood-bulk-action-bar,
3543
+ .flood-tabs:not([data-variant="line"]), .flood-disclosure:not(.flood-accordion > .flood-disclosure), .flood-accordion,
3544
+ .flood-segmented .flood-choice-group, .flood-data-table__footer, .flood-code-snippet,
3545
+ .flood-dropzone, .flood-tabs:not([data-variant="line"]) > .flood-tabs__scroll, [data-flood-surface]) {
3546
+ --flood-sys-color-surface-current: Canvas;
3547
+ --flood-sys-color-surface-supporting: Canvas;
3548
+ --flood-sys-color-surface-avatar: Canvas;
3549
+ --flood-sys-color-surface-muted: Canvas;
3550
+ --flood-sys-color-field-readonly: Canvas;
3551
+ }
3552
+ }
3553
+
3554
+ .flood-root .flood-filter-condition { container: flood-filter-condition / inline-size; min-inline-size:0; }
3555
+ .flood-root .flood-filter-condition__row { grid-template-columns:minmax(7rem,.9fr) minmax(8rem,1fr) minmax(10rem,1.6fr); align-items:center; }
3556
+ .flood-root .flood-filter-condition[data-removable="true"] .flood-filter-condition__row { grid-template-columns:minmax(7rem,.9fr) minmax(8rem,1fr) minmax(10rem,1.6fr) auto; }
3557
+ .flood-root .flood-filter-condition__values { min-inline-size:0; }
3558
+ @container flood-filter-condition (max-width:34rem) {
3559
+ .flood-root .flood-filter-condition__row,
3560
+ .flood-root .flood-filter-condition[data-removable="true"] .flood-filter-condition__row { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
3561
+ .flood-root .flood-filter-condition[data-removable="true"] .flood-filter-condition__row { grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto; }
3562
+ .flood-root .flood-filter-condition__values { grid-column:1 / -1; }
3563
+ .flood-root .flood-filter-condition[data-removable="true"] .flood-filter-condition__values { grid-column:1 / 3; }
3564
+ .flood-root .flood-filter-condition__remove { grid-column:3; grid-row:2; }
3565
+ }
3566
+ @container flood-filter-condition (max-width:22rem) {
3567
+ .flood-root .flood-filter-condition__row,
3568
+ .flood-root .flood-filter-condition[data-removable="true"] .flood-filter-condition__row { grid-template-columns:minmax(0,1fr); }
3569
+ .flood-root .flood-filter-condition__row > :is(.flood-field,.flood-filter-condition__values) { grid-column:1 / -1; }
3570
+ .flood-root .flood-filter-condition__remove { grid-column:1; grid-row:auto; justify-self:end; }
3571
+ }
3572
+ .flood-root .flood-filter-group .flood-segmented > .flood-fieldset__body { grid-template-columns: minmax(0, 1fr); }
3573
+ .flood-root .flood-filter-group .flood-segmented .flood-choice-group { max-inline-size: 100%; }
3574
+ .flood-root .flood-filter-group .flood-segmented .flood-choice { flex: 1 1 auto; min-inline-size: 0; }
3575
+
3576
+ .flood-root .flood-collection-toolbar { inline-size:100%; min-inline-size:0; container-type:inline-size; }
3577
+ .flood-root .flood-collection-toolbar__row { min-inline-size:0; display:grid; grid-template-columns:minmax(12rem,24rem) minmax(0,1fr) auto; }
3578
+ .flood-root .flood-collection-toolbar__search { min-inline-size:0; max-inline-size:100%; }
3579
+ .flood-root .flood-collection-toolbar__summaries { min-inline-size:0; max-inline-size:100%; }
3580
+ .flood-root .flood-collection-toolbar__commands { margin-inline-start:auto; max-inline-size:100%; justify-content:flex-end; }
3581
+ .flood-root .flood-collection-toolbar__clear[data-visible="false"] { visibility:hidden; }
3582
+ .flood-root .flood-collection-toolbar__commands { grid-column:3; }
3583
+ @container (max-width:46rem) {
3584
+ .flood-root .flood-collection-toolbar__row { grid-template-columns:minmax(0,1fr) auto; }
3585
+ .flood-root .flood-collection-toolbar__commands { grid-column:2; grid-row:1; }
3586
+ .flood-root .flood-collection-toolbar__summaries { grid-column:1 / -1; grid-row:2; }
2186
3587
  }
2187
3588
  @container (max-width:28rem) {
2188
3589
  .flood-root .flood-collection-toolbar__row { grid-template-columns:minmax(0,1fr); }
@@ -2190,6 +3591,22 @@
2190
3591
  .flood-root .flood-collection-toolbar__summaries { grid-row:3; }
2191
3592
  }
2192
3593
 
3594
+ .flood-root .flood-collection-toolbar[data-align="end"] .flood-collection-toolbar__row {
3595
+ display:flex;
3596
+ justify-content:flex-end;
3597
+ }
3598
+ .flood-root .flood-collection-toolbar[data-align="end"] .flood-collection-toolbar__search {
3599
+ flex:0 1 24rem;
3600
+ min-inline-size:min(100%, 12rem);
3601
+ }
3602
+ .flood-root .flood-collection-toolbar[data-align="end"] :is(.flood-collection-toolbar__summaries, .flood-collection-toolbar__commands) {
3603
+ justify-content:flex-end;
3604
+ }
3605
+ .flood-root .flood-collection-toolbar[data-align="end"] .flood-collection-toolbar__commands { margin-inline-start:0; }
3606
+ @container (max-width:28rem) {
3607
+ .flood-root .flood-collection-toolbar[data-align="end"] .flood-collection-toolbar__search { flex-basis:100%; }
3608
+ }
3609
+
2193
3610
  .flood-root .flood-collection-view-switcher { min-inline-size:0; }
2194
3611
  .flood-root .flood-collection-view-switcher__select { flex:0 1 13rem; min-inline-size:0; max-inline-size:100%; }
2195
3612
  .flood-root .flood-collection-view-switcher__actions { flex:1 1 16rem; min-inline-size:0; max-inline-size:36rem; }