@flood-md/react 0.2.11 → 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.
@@ -35,6 +35,7 @@
35
35
  .flood-root .flood-toolbar { display: inline-flex; flex-wrap: wrap; align-items: center; gap: var(--flood-sys-space-1); box-sizing: border-box; inline-size: fit-content; max-inline-size: 100%; min-inline-size: 0; padding: var(--flood-sys-space-1); 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); }
36
36
  .flood-root .flood-toolbar[data-orientation="vertical"] { flex-direction: column; align-items: stretch; }
37
37
  .flood-root .flood-toolbar[data-shape="pill"] { border-radius: var(--flood-sys-radius-action); }
38
+ .flood-root .flood-toolbar[data-shape="pill"][data-orientation="vertical"] { flex-wrap: nowrap; align-items: center; }
38
39
  .flood-root .flood-toolbar[data-variant="plain"] { padding:0; border:0; background:transparent; }
39
40
  .flood-root .flood-toolbar[data-shape="pill"][data-orientation="horizontal"] { flex-wrap: nowrap; overflow: auto; }
40
41
  .flood-root .flood-toolbar:focus-visible { outline: var(--flood-sys-focus-width) solid var(--flood-sys-color-focus-ring); outline-offset: calc(-1 * var(--flood-sys-focus-width)); }
@@ -81,24 +82,64 @@
81
82
  .flood-root .flood-table[data-density="compact"] { --flood-data-padding: var(--flood-sys-space-2); }
82
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); }
83
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
+ }
84
104
  .flood-root .flood-table :is(th, td)[data-wrap="anywhere"] { overflow-wrap: anywhere; }
85
- .flood-root .flood-table[data-cell-vertical-align="top"] :is(th, td) { vertical-align: top; }
86
- .flood-root .flood-table[data-cell-vertical-align="middle"] :is(th, td) { vertical-align: middle; }
87
- .flood-root .flood-table[data-cell-vertical-align="bottom"] :is(th, td) { vertical-align: bottom; }
105
+ .flood-root .flood-table[data-cell-vertical-align="top"] > :where(thead, tbody, tfoot) > :where(tr) > :is(th, td) { vertical-align: top; }
106
+ .flood-root .flood-table[data-cell-vertical-align="bottom"] > :where(thead, tbody, tfoot) > :where(tr) > :is(th, td) { vertical-align: bottom; }
88
107
  .flood-root .flood-table th { font-weight: var(--flood-sys-type-label-weight); }
89
- .flood-root .flood-table thead th { color: var(--flood-sys-color-content-subtle); border-block-end: var(--flood-sys-stroke-width) solid var(--flood-sys-color-divider-decorative); }
90
- .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); }
91
- .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); }
92
- .flood-root .flood-table tfoot { background: color-mix(in srgb, var(--flood-sys-color-content-default) 8%, transparent); }
93
- .flood-root .flood-table tfoot :is(th, td) { font-weight: var(--flood-sys-type-label-weight); }
94
- .flood-root .flood-table[data-striped="true"] tbody > tr:nth-child(even) { background: color-mix(in srgb, var(--flood-sys-color-content-default) 4%, transparent); }
108
+ .flood-root .flood-table > thead > :where(tr) > th { color: var(--flood-sys-color-content-subtle); border-block-end: var(--flood-sys-stroke-width) solid var(--flood-sys-color-divider-decorative); }
109
+ .flood-root .flood-table[data-sticky-header] > thead {
110
+ position: sticky;
111
+ inset-block-start: 0;
112
+ z-index: 2;
113
+ background-color: var(--flood-sys-color-surface-canvas);
114
+ background-image: linear-gradient(var(--flood-sys-color-surface-current), var(--flood-sys-color-surface-current));
115
+ }
116
+ .flood-root .flood-table[data-sticky-header] > thead > tr:last-child > :is(th, td) {
117
+ box-shadow: inset 0 calc(-1 * var(--flood-sys-stroke-width)) var(--flood-sys-color-divider-decorative);
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
+ }
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); }
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); }
132
+ .flood-root .flood-table > tfoot { background: color-mix(in srgb, var(--flood-sys-color-content-default) 8%, transparent); }
133
+ .flood-root .flood-table > tfoot > :where(tr) > :is(th, td) { font-weight: var(--flood-sys-type-label-weight); }
134
+ .flood-root .flood-table[data-striped="true"] > tbody > :where(tr:nth-child(even of :not(.flood-data-table__expanded-row))) { background: color-mix(in srgb, var(--flood-sys-color-content-default) 4%, transparent); }
95
135
  .flood-root .flood-table [data-numeric] { text-align: end; font-variant-numeric: tabular-nums; white-space: nowrap; }
96
136
  .flood-root .flood-table [data-align="center"] { text-align: center; }
97
137
  .flood-root .flood-table [data-align="end"] { text-align: end; }
98
138
  .flood-root .flood-table [data-align="start"] { text-align: start; }
99
139
  .flood-root :is(.flood-description-list, .flood-table-container, .flood-table)[hidden] { display: none; }
100
140
  @media (forced-colors: active) {
101
- .flood-root .flood-table[data-striped="true"] tbody > tr:nth-child(even) { background: Canvas; }
141
+ .flood-root .flood-table[data-sticky-header] > thead { background: Canvas; }
142
+ .flood-root .flood-table[data-striped="true"] > tbody > :where(tr:nth-child(even of :not(.flood-data-table__expanded-row))) { background: Canvas; }
102
143
  .flood-root .flood-table tfoot { background: Canvas; }
103
144
  .flood-root .flood-table :is(th, td), .flood-root .flood-description-list[data-dividers="true"] > .flood-description-list__item { border-color: CanvasText; }
104
145
  }
@@ -122,6 +163,14 @@
122
163
  .flood-root .flood-alert[data-tone="success"] { --flood-alert-color: var(--flood-sys-color-feedback-success); }
123
164
  .flood-root .flood-alert[data-tone="warning"] { --flood-alert-color: var(--flood-sys-color-feedback-warning); }
124
165
  .flood-root .flood-alert[data-tone="error"] { --flood-alert-color: var(--flood-sys-color-feedback-error); }
166
+ .flood-root .flood-alert:not([data-tone="neutral"]) {
167
+ --flood-sys-color-action-subtle-rest: color-mix(in srgb, var(--flood-sys-color-surface-current), var(--flood-alert-color) 8%);
168
+ --flood-sys-color-action-subtle-hover: color-mix(in srgb, var(--flood-sys-color-surface-current), var(--flood-alert-color) 14%);
169
+ --flood-sys-color-action-subtle-pressed: color-mix(in srgb, var(--flood-sys-color-surface-current), var(--flood-alert-color) 20%);
170
+ --flood-sys-color-action-ghost-hover: var(--flood-sys-color-action-subtle-hover);
171
+ --flood-sys-color-action-ghost-pressed: var(--flood-sys-color-action-subtle-pressed);
172
+ }
173
+ .flood-root .flood-alert:not(:has(> .flood-alert__content > .flood-alert__title)):has(> .flood-alert__content > .flood-alert__body > .flood-inline:only-child) { align-items: center; }
125
174
  .flood-root .flood-alert__icon { display: inline-flex; flex: none; inline-size: var(--flood-sys-control-md-icon-size); block-size: var(--flood-sys-control-md-icon-size); color: var(--flood-alert-color); }
126
175
  .flood-root .flood-alert__icon > svg { inline-size: 100%; block-size: 100%; }
127
176
  .flood-root .flood-alert__content { flex: 1 1 auto; min-inline-size: 0; overflow-wrap: break-word; font-size: var(--flood-sys-type-compact-size); line-height: var(--flood-sys-type-compact-line-height); }
@@ -261,9 +310,21 @@
261
310
  .flood-root .flood-disclosure[data-open="true"] > .flood-disclosure__heading .flood-disclosure__indicator { transform: rotate(180deg); }
262
311
  .flood-root .flood-disclosure__panel { padding: 0 var(--flood-control-padding) var(--flood-control-padding); font-size: var(--flood-sys-type-compact-size); line-height: var(--flood-sys-type-compact-line-height); overflow-wrap: break-word; }
263
312
  .flood-root .flood-disclosure__panel[hidden] { display: none; }
313
+ .flood-root .flood-disclosure:not(.flood-accordion > .flood-disclosure, .flood-navigation-group__disclosure) {
314
+ --flood-disclosure-header-inset: var(--flood-sys-space-1);
315
+ --flood-disclosure-content-inset: calc(var(--flood-control-padding) + var(--flood-disclosure-header-inset));
316
+ }
317
+ .flood-root .flood-disclosure:not(.flood-accordion > .flood-disclosure, .flood-navigation-group__disclosure) > .flood-disclosure__heading {
318
+ padding: var(--flood-disclosure-header-inset);
319
+ }
320
+ .flood-root .flood-disclosure:not(.flood-accordion > .flood-disclosure, .flood-navigation-group__disclosure) > .flood-disclosure__heading > .flood-disclosure__trigger {
321
+ border-radius: max(0px, calc(var(--flood-sys-radius-field) - var(--flood-sys-stroke-width) - var(--flood-disclosure-header-inset)));
322
+ }
323
+ .flood-root .flood-disclosure:not(.flood-accordion > .flood-disclosure, .flood-navigation-group__disclosure) > .flood-disclosure__panel {
324
+ padding: var(--flood-sys-space-2) var(--flood-disclosure-content-inset) var(--flood-disclosure-content-inset);
325
+ }
264
326
  .flood-root .flood-accordion > .flood-disclosure { border: 0; border-radius: 0; background: transparent; }
265
327
  .flood-root .flood-accordion > .flood-disclosure + .flood-disclosure { border-block-start: var(--flood-sys-stroke-width) solid var(--flood-sys-color-divider-decorative); }
266
- .flood-root .flood-disclosure[data-open="true"] > .flood-disclosure__heading > .flood-disclosure__trigger { border-end-start-radius: 0; border-end-end-radius: 0; }
267
328
  .flood-root .flood-accordion > .flood-disclosure > .flood-disclosure__heading > .flood-disclosure__trigger { border-radius: 0; }
268
329
  .flood-root .flood-accordion > .flood-disclosure:first-child > .flood-disclosure__heading > .flood-disclosure__trigger { border-start-start-radius: calc(var(--flood-sys-radius-field) - var(--flood-sys-stroke-width)); border-start-end-radius: calc(var(--flood-sys-radius-field) - var(--flood-sys-stroke-width)); }
269
330
  .flood-root .flood-accordion > .flood-disclosure:last-child[data-open="false"] > .flood-disclosure__heading > .flood-disclosure__trigger { border-end-start-radius: calc(var(--flood-sys-radius-field) - var(--flood-sys-stroke-width)); border-end-end-radius: calc(var(--flood-sys-radius-field) - var(--flood-sys-stroke-width)); }
@@ -337,7 +398,10 @@
337
398
  background: var(--flood-sys-color-surface-default);
338
399
  color: var(--flood-sys-color-content-default);
339
400
  }
340
- .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);
341
405
  flex: 1 1 20ch;
342
406
  min-inline-size: 0;
343
407
  font-family: var(--flood-sys-font-mono);
@@ -345,11 +409,24 @@
345
409
  font-weight: var(--flood-sys-type-compact-weight);
346
410
  line-height: var(--flood-sys-type-compact-line-height);
347
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;
348
425
  white-space: pre-wrap;
349
426
  overflow-wrap: anywhere;
350
427
  user-select: text;
351
428
  }
352
- .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; }
353
430
  .flood-root .flood-surface {
354
431
  box-sizing: border-box;
355
432
  border-radius: var(--flood-sys-radius-block);
@@ -632,6 +709,12 @@
632
709
  --flood-type-tracking: var(--flood-sys-type-section-tracking);
633
710
  --flood-type-weight: var(--flood-sys-type-section-weight);
634
711
  }
712
+ .flood-root .flood-type--group {
713
+ --flood-type-size: var(--flood-sys-type-group-title-size);
714
+ --flood-type-line: var(--flood-sys-type-group-title-line-height);
715
+ --flood-type-tracking: var(--flood-sys-type-group-title-tracking);
716
+ --flood-type-weight: var(--flood-sys-type-group-title-weight);
717
+ }
635
718
  .flood-root .flood-type--body {
636
719
  --flood-type-size: var(--flood-sys-type-body-size);
637
720
  --flood-type-line: var(--flood-sys-type-body-line-height);
@@ -920,6 +1003,7 @@
920
1003
  .flood-root .flood-file-input__file > .flood-icon-button { flex: none; }
921
1004
 
922
1005
  .flood-root .flood-alert-dialog { inline-size: min(26rem, calc(100% - var(--flood-sys-space-8))); }
1006
+ .flood-root .flood-alert-dialog > .flood-overlay-description { white-space: pre-line; }
923
1007
  .flood-root .flood-alert-dialog__actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: var(--flood-sys-space-2); margin-block-start: var(--flood-sys-space-6); }
924
1008
  .flood-root .flood-alert-dialog__actions > .flood-button { max-inline-size: 100%; overflow-wrap: break-word; }
925
1009
  @media (max-width: 32rem) {
@@ -937,6 +1021,14 @@
937
1021
  .flood-root .flood-drawer:is([data-side="top"], [data-side="bottom"]) { left: 0; right: auto; inline-size: 100vw; block-size: min(var(--flood-drawer-size), 100dvh); }
938
1022
  .flood-root .flood-drawer[data-side="top"] { inset-block-start: 0; inset-block-end: auto; border-end-start-radius: var(--flood-sys-radius-block); border-end-end-radius: var(--flood-sys-radius-block); --flood-drawer-y: -100%; }
939
1023
  .flood-root .flood-drawer[data-side="bottom"] { inset-block-start: auto; inset-block-end: 0; border-start-start-radius: var(--flood-sys-radius-block); border-start-end-radius: var(--flood-sys-radius-block); --flood-drawer-y: 100%; }
1024
+ .flood-root .flood-drawer.flood-sheet[data-side="bottom"] {
1025
+ inset-inline: 0;
1026
+ margin-inline: auto;
1027
+ inline-size: min(100%, 36rem);
1028
+ block-size: auto;
1029
+ max-block-size: min(var(--flood-drawer-size), calc(100dvh - max(var(--flood-sys-space-4), env(safe-area-inset-top))));
1030
+ grid-template-rows: auto auto minmax(0, 1fr) auto;
1031
+ }
940
1032
  .flood-root .flood-drawer > .flood-overlay-header { grid-area: header; }
941
1033
  .flood-root .flood-drawer > .flood-overlay-description { grid-area: description; }
942
1034
  .flood-root .flood-drawer__body { grid-area: body; min-block-size: 0; min-inline-size: 0; margin-block-start: var(--flood-sys-space-4); }
@@ -949,6 +1041,13 @@
949
1041
  .flood-root .flood-drawer > .flood-overlay-header { position: relative; padding-inline-end: calc(max(var(--flood-sys-control-sm-height), var(--flood-sys-size-touch)) + var(--flood-sys-space-2)); align-items: flex-start; }
950
1042
  .flood-root .flood-drawer > .flood-overlay-header > .flood-overlay-close { position: absolute; inset-block-start: 0; inset-inline-end: 0; }
951
1043
  .flood-root .flood-drawer > .flood-overlay-description { margin-block-start: var(--flood-sys-space-1); padding-inline-end: calc(max(var(--flood-sys-control-sm-height), var(--flood-sys-size-touch)) + var(--flood-sys-space-2)); }
1044
+ .flood-root .flood-sheet > .flood-overlay-header { align-items: center; padding-inline-end: 0; }
1045
+ .flood-root .flood-sheet > .flood-overlay-header > .flood-overlay-close { position: static; align-self: center; }
1046
+ .flood-root .flood-sheet > .flood-overlay-description { padding-inline-end: 0; }
1047
+ .flood-root .flood-sheet > .flood-drawer__body { margin-block-start: var(--flood-sys-space-2); }
1048
+ .flood-root .flood-sheet { --flood-sheet-scroll-offset: calc(var(--flood-sys-scrollbar-size) + var(--flood-sys-scrollbar-inset) + var(--flood-sys-stroke-width)); }
1049
+ .flood-root .flood-sheet:dir(rtl) { --flood-sheet-scroll-offset: calc(-1 * (var(--flood-sys-scrollbar-size) + var(--flood-sys-scrollbar-inset) + var(--flood-sys-stroke-width))); }
1050
+ .flood-root .flood-sheet > .flood-drawer__body > .flood-scroll-area > .flood-scroll-area__track--vertical { translate: var(--flood-sheet-scroll-offset); }
952
1051
  @container flood-drawer (max-width:20rem) {
953
1052
  .flood-root .flood-drawer > .flood-overlay-description { padding-inline-end: 0; }
954
1053
  }
@@ -1095,6 +1194,9 @@
1095
1194
  .flood-root .flood-app-top-bar__end { margin-inline-start: auto; }
1096
1195
  .flood-root :is(.flood-app-shell, .flood-app-top-bar)[hidden] { display: none; }
1097
1196
  .flood-root .flood-section__body { margin-block-start: var(--flood-sys-space-4); min-inline-size: 0; }
1197
+ .flood-root .flood-section:has(> .flood-section__header .flood-type--group) > .flood-section__body {
1198
+ margin-block-start: var(--flood-sys-space-3);
1199
+ }
1098
1200
 
1099
1201
  .flood-root .flood-split { container: flood-split / inline-size; min-inline-size: 0; inline-size: 100%; }
1100
1202
  .flood-root .flood-split__layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: var(--flood-layout-gap); align-items: start; min-inline-size: 0; }
@@ -1207,8 +1309,35 @@
1207
1309
  .flood-root .flood-editable__preview { justify-content: space-between; min-inline-size: 0; inline-size: 100%; text-align: start; gap: var(--flood-sys-space-2); }
1208
1310
  .flood-root .flood-editable__value { flex: 1 1 0; min-inline-size: 0; overflow-wrap: break-word; }
1209
1311
  .flood-root .flood-editable__value[data-empty] { color: var(--flood-sys-color-content-subtle); }
1312
+ .flood-root .flood-editable__error { margin: 0; white-space: normal; overflow-wrap: break-word; }
1313
+ .flood-root .flood-editable__preview[aria-hidden="true"] { visibility: hidden; }
1314
+ .flood-root .flood-overlay-panel.flood-editable__overlay {
1315
+ padding: 0;
1316
+ border: 0;
1317
+ background: var(--flood-sys-color-surface-floating);
1318
+ backdrop-filter: none;
1319
+ }
1320
+ .flood-root .flood-editable__overlay > .flood-editable__error { padding: var(--flood-sys-space-2) var(--flood-sys-space-3); }
1321
+ .flood-root .flood-table td[data-numeric] .flood-editable :is(.flood-editable__preview, input) { text-align: end; }
1210
1322
  .flood-root .flood-editable__preview > .flood-icon { flex: none; color: var(--flood-sys-color-content-subtle); }
1211
- .flood-root .flood-editable .flood-input-group:has(.flood-editable__actions) { padding-inline-end: calc(var(--flood-group-inset) - var(--flood-group-stroke)); }
1323
+ .flood-root .flood-editable .flood-input-group:has(.flood-editable__actions) {
1324
+ flex-wrap: nowrap;
1325
+ padding-inline-end: calc(var(--flood-group-inset) - var(--flood-group-stroke));
1326
+ }
1327
+ .flood-root .flood-editable .flood-input-group:has(.flood-editable__actions) > .flood-input {
1328
+ flex: 1 1 0;
1329
+ min-inline-size: 0;
1330
+ }
1331
+ .flood-root .flood-editable__overlay[data-fit-draft] .flood-input-group > .flood-input {
1332
+ flex: 1 1 auto;
1333
+ inline-size: auto;
1334
+ min-inline-size: 4ch;
1335
+ field-sizing: content;
1336
+ }
1337
+ .flood-root .flood-editable .flood-input-group__addon:has(> .flood-editable__actions) {
1338
+ flex: none;
1339
+ max-inline-size: none;
1340
+ }
1212
1341
  .flood-root .flood-editable__actions { display: inline-flex; align-items: center; gap: var(--flood-sys-space-1); flex: none; }
1213
1342
  .flood-root .flood-editable__actions > .flood-button { --flood-control-height: calc(var(--flood-group-height) - 2 * var(--flood-group-inset)); min-inline-size: var(--flood-control-height); flex: none; border-radius: max(0px, calc(var(--flood-sys-radius-field) - var(--flood-group-inset))); }
1214
1343
  @media (forced-colors: active) { .flood-root .flood-editable__value[data-empty] { color: CanvasText; } }
@@ -1603,10 +1732,16 @@
1603
1732
  .flood-root .flood-data-table__toolbar {
1604
1733
  padding:var(--flood-sys-space-4) var(--flood-data-table-edge,var(--flood-sys-space-3));
1605
1734
  }
1606
- .flood-root .flood-data-table[data-inset="roomy"] tr > :first-child { padding-inline-start:var(--flood-data-table-edge); }
1607
- .flood-root .flood-data-table[data-inset="roomy"] tr > :last-child { padding-inline-end:var(--flood-data-table-edge); }
1608
- .flood-root .flood-data-table[data-inset="roomy"] th[data-sortable]:first-child { padding-inline-start:calc(var(--flood-data-table-edge) - var(--flood-sys-space-2)); }
1609
- .flood-root .flood-data-table[data-inset="roomy"] th[data-sortable]:last-child { padding-inline-end:calc(var(--flood-data-table-edge) - var(--flood-sys-space-2)); }
1735
+ .flood-root .flood-data-table__toolbar-content { flex: 1 1 auto; min-inline-size: 0; }
1736
+ .flood-root .flood-data-table__columns { margin-inline-start: auto; max-inline-size: 100%; }
1737
+ .flood-root .flood-data-table__table { --flood-data-table-edge:var(--flood-sys-space-3); }
1738
+ .flood-root .flood-data-table__table[data-inset="roomy"] { --flood-data-table-edge:var(--flood-sys-space-6); }
1739
+ .flood-root .flood-data-table__table[data-inset="roomy"] > :is(thead,tbody) > tr > :first-child { padding-inline-start:var(--flood-data-table-edge); }
1740
+ .flood-root .flood-data-table__table[data-inset="roomy"] > :is(thead,tbody) > tr > :last-child { padding-inline-end:var(--flood-data-table-edge); }
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)); }
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)); }
1610
1745
  .flood-root .flood-data-table[data-inset="roomy"] .flood-data-table__footer { padding-inline:var(--flood-data-table-edge); }
1611
1746
  .flood-root .flood-data-table .flood-data-table__primary-action {
1612
1747
  min-block-size:0;
@@ -1624,237 +1759,1852 @@
1624
1759
  .flood-root .flood-data-table .flood-data-table__primary-action:is(:hover,:active) { background:transparent; }
1625
1760
  .flood-root .flood-data-table .flood-data-table__primary-action:disabled,
1626
1761
  .flood-root .flood-data-table .flood-data-table__primary-action[aria-disabled="true"] { color:var(--flood-sys-color-field-disabled-content); }
1627
- .flood-root .flood-data-table tr[data-primary-action] { cursor:pointer; }
1628
- .flood-root .flood-data-table tr[data-primary-action]:not([data-selected]):focus-within { background:var(--flood-sys-color-action-on-surface-hover); }
1762
+ .flood-root .flood-data-table__table > tbody > tr[data-primary-action] { cursor:pointer; }
1763
+ .flood-root .flood-data-table__table > tbody > tr[data-primary-action]:not([data-selected]):focus-within { background:var(--flood-sys-color-action-on-surface-hover); }
1629
1764
  @media (hover:hover) {
1630
- .flood-root .flood-data-table tr[data-primary-action]:not([data-selected]):hover { background:var(--flood-sys-color-action-on-surface-hover); }
1765
+ .flood-root .flood-data-table__table > tbody > tr[data-primary-action]:not([data-selected]):hover { background:var(--flood-sys-color-action-on-surface-hover); }
1631
1766
  }
1632
1767
  .flood-root .flood-data-table[hidden] { display:none; }
1633
- .flood-root .flood-data-table thead th { vertical-align:middle; }
1634
- .flood-root .flood-data-table thead th[data-sortable] { padding-inline:max(0px,calc(var(--flood-data-padding) - var(--flood-sys-space-2))); }
1635
- .flood-root .flood-data-table__sort { gap:var(--flood-sys-space-2); min-block-size:var(--flood-sys-control-sm-height); padding-inline:calc(var(--flood-sys-space-2) - var(--flood-sys-stroke-width)); color:inherit; font:inherit; font-weight:500; }
1768
+ .flood-root .flood-data-table__table > thead > tr > th { vertical-align:middle; }
1769
+ .flood-root .flood-data-table__table > thead > tr > th[data-sortable] { padding-inline:max(0px,calc(var(--flood-data-padding) - var(--flood-sys-space-2))); }
1770
+ .flood-root .flood-data-table__sort { gap:var(--flood-sys-space-1); min-block-size:var(--flood-sys-control-sm-height); padding-inline:calc(var(--flood-sys-space-2) - var(--flood-sys-stroke-width)); color:inherit; font:inherit; font-weight:500; }
1771
+ .flood-root .flood-data-table__header-content { display:inline-flex; align-items:center; gap:var(--flood-sys-space-1); max-inline-size:100%; vertical-align:middle; }
1772
+ .flood-root .flood-data-table__header-content:focus-visible { outline:var(--flood-sys-focus-width) solid var(--flood-sys-color-focus-ring); border-radius:var(--flood-sys-radius-indicator); }
1773
+ .flood-root .flood-data-table__header-label { min-inline-size:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
1774
+ .flood-root .flood-data-table__table:not([data-fixed-columns]) .flood-data-table__header-label { min-inline-size:max-content; }
1775
+ .flood-root .flood-data-table__header-unit { flex:none; color:var(--flood-sys-color-content-subtle); }
1636
1776
  .flood-root .flood-data-table__choice { inline-size:1%; white-space:nowrap; }
1637
1777
  .flood-root .flood-data-table__choice .flood-choice { min-block-size:var(--flood-sys-control-sm-height); }
1638
- .flood-root .flood-data-table tr[data-selected] { background:var(--flood-sys-color-selection-background); }
1778
+ .flood-root .flood-data-table__table > tbody > tr[data-selected] { background:var(--flood-sys-color-selection-background); }
1639
1779
  .flood-root .flood-data-table th[aria-sort="descending"] .flood-data-table__sort svg { rotate:180deg; }
1640
1780
  .flood-root .flood-data-table .flood-data-table__state { padding-block:var(--flood-sys-space-8); text-align:center; }
1641
1781
  .flood-root .flood-data-table__state>.flood-stack { align-items:center; }
1642
1782
  .flood-root .flood-data-table__footer { display:flex; align-items:center; flex-wrap:wrap; gap:var(--flood-sys-space-3); padding:var(--flood-sys-space-3) var(--flood-sys-space-4); border-block-start:var(--flood-sys-stroke-width) solid var(--flood-sys-color-border-decorative); background:var(--flood-sys-color-surface-default); border-end-start-radius:var(--flood-sys-radius-field); border-end-end-radius:var(--flood-sys-radius-field); }
1643
1783
  .flood-root .flood-data-table__footer p { margin:0; }
1644
1784
  .flood-root .flood-data-table__footer nav { margin-inline-start:auto; max-inline-size:100%; }
1645
- @media(forced-colors:active) { .flood-root .flood-data-table tr[data-selected] { outline:1px solid Highlight; } }
1785
+ @media(forced-colors:active) { .flood-root .flood-data-table__table > tbody > tr[data-selected] { outline:1px solid Highlight; } }
1646
1786
 
1647
- .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; }
1648
- .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); }
1649
- .flood-root .flood-file-item__thumbnail img { display:block; inline-size:100%; block-size:100%; object-fit:cover; }
1650
- .flood-root .flood-file-item__name { overflow-wrap:anywhere; }
1651
- .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; }
1652
- .flood-root .flood-file-item__heading>.flood-file-item__name { min-inline-size:0; }
1653
- .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; }
1654
- .flood-root .flood-file-meta>span { min-inline-size:0; }
1655
- .flood-root .flood-file-item .flood-data-list-item__trailing { flex:none; max-inline-size:none; }
1656
- .flood-root .flood-upload-item .flood-data-list-item__copy { align-self:center; }
1657
- .flood-root .flood-upload-item__status-row { display:flex; align-items:center; gap:var(--flood-sys-space-2); min-inline-size:0; }
1658
- .flood-root .flood-upload-item__status-row[data-progress]>.flood-status-indicator { flex:none; white-space:nowrap; }
1659
- .flood-root .flood-upload-item .flood-indicator { flex:1; min-inline-size:0; }
1660
- .flood-root .flood-upload-item .flood-status-indicator { overflow-wrap:break-word; }
1661
- .flood-root .flood-image-preview { inline-size:min(56rem,calc(100% - var(--flood-sys-space-8))); }
1662
- .flood-root .flood-image-preview__figure { margin:0; }
1663
- .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; }
1664
- .flood-root .flood-image-preview__image { grid-area:1/1; inline-size:auto; max-inline-size:100%; max-block-size:60dvh; object-fit:contain; }
1665
- .flood-root .flood-image-preview__media[data-state="loading"] .flood-image-preview__image { visibility:hidden; }
1666
- .flood-root .flood-image-preview__media>[role="status"] { grid-area:1/1; }
1667
- .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); }
1668
- .flood-root .flood-image-preview__actions { display:flex; justify-content:flex-end; margin-block-start:var(--flood-sys-space-4); }
1669
- @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);}}
1670
- @container flood-files (max-width:16rem){
1671
- .flood-root .flood-file-list>.flood-file-item:not([hidden]) { display:grid; grid-template-columns:minmax(0,1fr); }
1672
- .flood-root .flood-file-item .flood-data-list-item__trailing { justify-content:flex-start; }
1673
- .flood-root .flood-file-item .flood-data-list-item__actions { flex-wrap:wrap; }
1674
- .flood-root .flood-upload-item__status-row { flex-wrap:wrap; }
1675
- .flood-root .flood-upload-item__status-row[data-progress]>.flood-status-indicator { flex:0 1 auto; min-inline-size:0; white-space:normal; }
1676
- .flood-root .flood-upload-item .flood-indicator { flex-basis:100%; }
1787
+ .flood-root .flood-data-table__table[data-fixed-columns] > thead > tr > th { box-sizing:border-box; }
1788
+ .flood-root .flood-data-table__table[data-fixed-columns] > :is(thead,tbody) > tr > [data-data-table-column] {
1789
+ overflow:hidden;
1790
+ overflow-wrap:anywhere;
1677
1791
  }
1678
-
1679
- .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); }
1680
- .flood-root .flood-time-picker__scroll { max-block-size:min(15rem,calc(var(--flood-overlay-available-height,60dvh) - 1rem)); }
1681
-
1682
- .flood-root .flood-date-time-range-picker { min-inline-size:0; inline-size:100%; }
1683
-
1684
- .flood-root .flood-overflow-actions { position:relative; inline-size:100%; min-inline-size:0; }
1685
- .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; }
1686
- .flood-root .flood-overflow-actions__bar > button { flex:none; }
1687
- .flood-root :is(.flood-overflow-actions__leading,.flood-overflow-actions__trailing) { display:flex; align-items:center; flex:none; min-inline-size:0; }
1688
- .flood-root .flood-overflow-actions__trailing { margin-inline-start:auto; }
1689
- .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); }
1690
- .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; }
1691
- .flood-root .flood-menubar > button { flex:none; }
1692
- .flood-root .flood-button[data-tone="danger"] { --flood-action-content:var(--flood-sys-color-action-danger-content); }
1693
- .flood-root .flood-button--solid[data-tone="danger"] {
1694
- --flood-action-rest:var(--flood-sys-color-action-danger-content);
1695
- --flood-action-hover:color-mix(in srgb,var(--flood-sys-color-action-danger-content),white 10%);
1696
- --flood-action-pressed:color-mix(in srgb,var(--flood-sys-color-action-danger-content),black 10%);
1697
- --flood-action-content:var(--flood-sys-color-surface-canvas);
1792
+ .flood-root .flood-data-table__table[data-fixed-columns] > thead > tr > th > .flood-data-table__sort {
1793
+ max-inline-size:100%;
1794
+ text-align:inherit;
1698
1795
  }
1699
-
1700
- /* BulkActionBar shares Toolbar geometry and adaptive command ownership. */
1701
- .flood-root .flood-bulk-action-bar { inline-size:100%; max-inline-size:32rem; }
1702
- .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); }
1703
- .flood-root .flood-bulk-action-bar > .flood-overflow-actions__bar > .flood-overflow-actions__leading { max-inline-size:35%; }
1704
- .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; }
1705
- .flood-root .flood-bulk-action-bar__selection[data-counter="number"] { inline-size:3rem; text-align:center; }
1706
- @media(forced-colors:active) { .flood-root .flood-bulk-action-bar > .flood-overflow-actions__bar { background:Canvas; border-color:CanvasText; box-shadow:none; } }
1707
-
1708
- /* Nearest material owners establish their own inherited recipes. Absolute surface
1709
- palette roles stay unchanged; descendants consume the existing semantic roles. */
1710
- .flood-root :where(.flood-surface, .flood-dialog, .flood-overlay-panel,
1711
- .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),
1712
- .flood-file-list, .flood-color-picker__panel, .flood-bulk-action-bar,
1713
- .flood-tabs:not([data-variant="line"]), .flood-disclosure:not(.flood-accordion > .flood-disclosure), .flood-accordion,
1714
- .flood-segmented .flood-choice-group, .flood-data-table__footer, .flood-code-snippet),
1715
- .flood-root :where([data-flood-surface="filled"], [data-flood-surface="floating"]),
1716
- .flood-root:is([data-flood-surface="filled"], [data-flood-surface="floating"]) {
1717
- --flood-sys-color-action-subtle-rest: var(--flood-sys-color-context-filled-action-rest);
1718
- --flood-sys-color-action-subtle-hover: var(--flood-sys-color-context-filled-action-hover);
1719
- --flood-sys-color-action-subtle-pressed: var(--flood-sys-color-context-filled-action-pressed);
1720
- --flood-sys-color-action-subtle-disabled: var(--flood-sys-color-context-filled-action-disabled);
1721
- --flood-sys-color-action-ghost-hover: var(--flood-sys-color-context-filled-action-hover);
1722
- --flood-sys-color-action-ghost-pressed: var(--flood-sys-color-context-filled-action-pressed);
1723
- --flood-sys-color-action-on-surface-rest: var(--flood-sys-color-context-filled-action-rest);
1724
- --flood-sys-color-action-on-surface-hover: var(--flood-sys-color-context-filled-action-hover);
1725
- --flood-sys-color-action-on-surface-pressed: var(--flood-sys-color-context-filled-action-pressed);
1726
- --flood-sys-color-action-on-surface-disabled: var(--flood-sys-color-context-filled-action-disabled);
1727
- --flood-sys-color-field-background: var(--flood-sys-color-context-filled-field-background);
1728
- --flood-sys-color-field-border: var(--flood-sys-color-context-filled-field-border);
1729
- --flood-sys-color-field-readonly: var(--flood-sys-color-context-filled-field-readonly);
1730
- --flood-sys-color-field-disabled: var(--flood-sys-color-context-filled-field-disabled);
1731
- --flood-sys-color-selection-background: var(--flood-sys-color-context-filled-selection-background);
1732
- --flood-sys-color-border-decorative: var(--flood-sys-color-context-filled-border-decorative);
1733
- --flood-sys-color-divider-decorative: var(--flood-sys-color-context-filled-divider-decorative);
1734
- --flood-sys-color-surface-supporting: var(--flood-sys-color-context-filled-supporting-background);
1735
- --flood-sys-color-surface-avatar: var(--flood-sys-color-context-filled-avatar-background);
1736
- --flood-sys-color-surface-muted: var(--flood-sys-color-context-filled-muted-background);
1737
- --flood-sys-color-indicator-track: var(--flood-sys-color-context-filled-indicator-track);
1738
- --flood-sys-color-loading-placeholder: var(--flood-sys-color-context-filled-loading-placeholder);
1796
+ .flood-root .flood-data-table__table > thead > tr > th[data-resize-edge] {
1797
+ --flood-data-table-resize-hit:var(--flood-sys-space-6);
1798
+ --flood-data-table-resize-inset:var(--flood-sys-space-1);
1799
+ position:relative;
1739
1800
  }
1740
-
1741
- .flood-root[data-flood-surface="filled"],
1742
- .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,
1743
- .flood-tabs:not([data-variant="line"]), .flood-disclosure:not(.flood-accordion > .flood-disclosure), .flood-accordion,
1744
- .flood-segmented .flood-choice-group, .flood-data-table__footer, .flood-code-snippet) {
1745
- --flood-sys-color-surface-current: var(--flood-sys-color-surface-default);
1801
+ .flood-root .flood-data-table__table > thead > tr > th[data-resize-edge="end"] {
1802
+ padding-inline-end:max(calc(var(--flood-data-table-resize-hit) + 2 * var(--flood-data-table-resize-inset)),var(--flood-data-table-edge));
1746
1803
  }
1747
- .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)) {
1748
- --flood-sys-color-surface-current: var(--flood-sys-color-surface-raised);
1804
+ .flood-root .flood-data-table__table > thead > tr > th[data-resize-edge="start"] {
1805
+ padding-inline-start:max(calc(var(--flood-data-table-resize-hit) + 2 * var(--flood-data-table-resize-inset)),var(--flood-data-table-edge));
1749
1806
  }
1750
- .flood-root :where(.flood-surface[data-flood-elevation="overlay"], .flood-dialog) {
1751
- --flood-sys-color-surface-current: var(--flood-sys-color-surface-overlay);
1807
+ .flood-root .flood-data-table__resize {
1808
+ position:absolute;
1809
+ inset-block:0;
1810
+ inset-inline-end:0;
1811
+ inline-size:calc(var(--flood-data-table-resize-hit) + var(--flood-data-table-resize-inset));
1812
+ padding-inline-end:var(--flood-data-table-resize-inset);
1813
+ box-sizing:border-box;
1814
+ display:grid;
1815
+ place-items:center;
1816
+ cursor:col-resize;
1817
+ touch-action:none;
1818
+ user-select:none;
1819
+ }
1820
+ .flood-root .flood-data-table__resize-icon {
1821
+ box-sizing:border-box;
1822
+ inline-size:var(--flood-data-table-resize-hit);
1823
+ block-size:var(--flood-data-table-resize-hit);
1824
+ display:grid;
1825
+ place-items:center;
1826
+ color:var(--flood-sys-color-content-default);
1827
+ background:var(--flood-sys-color-action-on-surface-hover);
1828
+ border:var(--flood-sys-stroke-width) solid var(--flood-sys-color-border-decorative);
1829
+ border-radius:var(--flood-sys-radius-action);
1752
1830
  }
1753
- .flood-root[data-flood-surface="floating"],
1754
- .flood-root :where(.flood-overlay-panel, .flood-select__menu, .flood-toast, .flood-bulk-action-bar,
1755
- .flood-bulk-action-bar > .flood-overflow-actions__bar, [data-flood-surface="floating"]) {
1756
- --flood-sys-color-surface-current: var(--flood-sys-color-surface-floating);
1831
+ .flood-root th[data-resize-edge="start"] > .flood-data-table__resize {
1832
+ inset-inline:0 auto;
1833
+ padding-inline:var(--flood-data-table-resize-inset) 0;
1757
1834
  }
1758
- /* Picker calendars shed their standalone material; the popup is their owner. */
1759
- .flood-root :where(.flood-date-picker__panel, .flood-date-range-picker__panel) .flood-calendar {
1760
- --flood-sys-color-surface-current: inherit;
1835
+ .flood-root .flood-data-table__resize:is(:hover,:focus-visible,[data-dragging]) > .flood-data-table__resize-icon {
1836
+ background:var(--flood-sys-color-surface-supporting);
1837
+ border-color:var(--flood-sys-color-content-subtle);
1761
1838
  }
1762
-
1763
- /* Explicit canvas scopes reset every role after automatic material owners. */
1764
- .flood-root[data-flood-surface="base"],
1765
- .flood-root :where([data-flood-surface="base"], .flood-dropzone,
1766
- .flood-tabs:not([data-variant="line"]) > .flood-tabs__scroll) {
1767
- --flood-sys-color-action-subtle-rest: var(--flood-sys-color-context-base-action-rest);
1768
- --flood-sys-color-action-subtle-hover: var(--flood-sys-color-context-base-action-hover);
1769
- --flood-sys-color-action-subtle-pressed: var(--flood-sys-color-context-base-action-pressed);
1770
- --flood-sys-color-action-subtle-disabled: var(--flood-sys-color-context-base-action-disabled);
1771
- --flood-sys-color-action-ghost-hover: var(--flood-sys-color-context-base-action-hover);
1772
- --flood-sys-color-action-ghost-pressed: var(--flood-sys-color-context-base-action-pressed);
1773
- --flood-sys-color-action-on-surface-rest: var(--flood-sys-color-context-base-on-surface-action-rest);
1774
- --flood-sys-color-action-on-surface-hover: var(--flood-sys-color-context-base-on-surface-action-hover);
1775
- --flood-sys-color-action-on-surface-pressed: var(--flood-sys-color-context-base-on-surface-action-pressed);
1776
- --flood-sys-color-action-on-surface-disabled: var(--flood-sys-color-context-base-on-surface-action-disabled);
1777
- --flood-sys-color-field-background: var(--flood-sys-color-context-base-field-background);
1778
- --flood-sys-color-field-border: var(--flood-sys-color-context-base-field-border);
1779
- --flood-sys-color-field-readonly: var(--flood-sys-color-context-base-field-readonly);
1780
- --flood-sys-color-field-disabled: var(--flood-sys-color-context-base-field-disabled);
1781
- --flood-sys-color-selection-background: var(--flood-sys-color-context-base-selection-background);
1782
- --flood-sys-color-border-decorative: var(--flood-sys-color-context-base-border-decorative);
1783
- --flood-sys-color-divider-decorative: var(--flood-sys-color-context-base-divider-decorative);
1784
- --flood-sys-color-surface-supporting: var(--flood-sys-color-context-base-supporting-background);
1785
- --flood-sys-color-surface-avatar: var(--flood-sys-color-context-base-avatar-background);
1786
- --flood-sys-color-surface-muted: var(--flood-sys-color-context-base-muted-background);
1787
- --flood-sys-color-indicator-track: var(--flood-sys-color-context-base-indicator-track);
1788
- --flood-sys-color-loading-placeholder: var(--flood-sys-color-context-base-loading-placeholder);
1789
- --flood-sys-color-surface-current: var(--flood-sys-color-surface-canvas);
1839
+ .flood-root .flood-data-table__resize:focus-visible { outline:none; }
1840
+ .flood-root .flood-data-table__resize:focus-visible > .flood-data-table__resize-icon {
1841
+ outline:var(--flood-sys-focus-width) solid var(--flood-sys-color-focus-ring);
1842
+ outline-offset:calc(-1 * var(--flood-sys-focus-width));
1790
1843
  }
1791
-
1792
- /* Explicit host preference also works in engines without the media feature. */
1793
- .flood-root[data-flood-transparency="reduced"] :is(.flood-overlay-panel, .flood-select__menu),
1794
- .flood-root [data-flood-transparency="reduced"] :is(.flood-overlay-panel, .flood-select__menu),
1795
- .flood-root :is(.flood-overlay-panel, .flood-select__menu)[data-flood-transparency="reduced"] {
1796
- background: var(--flood-sys-color-surface-floating);
1797
- backdrop-filter: none;
1844
+ @media (hover:hover) and (pointer:fine) {
1845
+ .flood-root .flood-data-table__resize:not(:hover,:focus-visible,[data-dragging]) > .flood-data-table__resize-icon { opacity:0; }
1798
1846
  }
1799
-
1800
- @media (forced-colors: active) {
1801
- .flood-root[data-flood-transparency="reduced"] :is(.flood-overlay-panel, .flood-select__menu),
1802
- .flood-root [data-flood-transparency="reduced"] :is(.flood-overlay-panel, .flood-select__menu),
1803
- .flood-root :is(.flood-overlay-panel, .flood-select__menu)[data-flood-transparency="reduced"] {
1804
- background: Canvas;
1847
+ .flood-root .flood-data-table__resize[aria-disabled="true"] { visibility:hidden; }
1848
+ @media (pointer:coarse) {
1849
+ .flood-root .flood-data-table__table > thead > tr > th[data-resize-edge] {
1850
+ --flood-data-table-resize-hit:var(--flood-sys-space-8);
1805
1851
  }
1806
- .flood-root, .flood-root :where(.flood-surface, .flood-dialog, .flood-overlay-panel,
1807
- .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),
1808
- .flood-file-list, .flood-color-picker__panel, .flood-bulk-action-bar,
1809
- .flood-tabs:not([data-variant="line"]), .flood-disclosure:not(.flood-accordion > .flood-disclosure), .flood-accordion,
1810
- .flood-segmented .flood-choice-group, .flood-data-table__footer, .flood-code-snippet,
1811
- .flood-dropzone, .flood-tabs:not([data-variant="line"]) > .flood-tabs__scroll, [data-flood-surface]) {
1812
- --flood-sys-color-surface-current: Canvas;
1813
- --flood-sys-color-surface-supporting: Canvas;
1814
- --flood-sys-color-surface-avatar: Canvas;
1815
- --flood-sys-color-surface-muted: Canvas;
1816
- --flood-sys-color-field-readonly: Canvas;
1852
+ }
1853
+ .flood-root .flood-data-table__table > :is(thead,tbody) > tr > :is(th,td)[data-pin-edge] {
1854
+ --flood-data-table-pin-state:transparent;
1855
+ position:sticky;
1856
+ z-index:1;
1857
+ background-color:var(--flood-sys-color-surface-canvas);
1858
+ background-image:
1859
+ linear-gradient(var(--flood-data-table-pin-state),var(--flood-data-table-pin-state)),
1860
+ linear-gradient(var(--flood-sys-color-surface-current),var(--flood-sys-color-surface-current));
1861
+ }
1862
+ .flood-root .flood-data-table__table > :is(thead,tbody) > tr > [data-pin-edge="start"] {
1863
+ inset-inline-start:var(--flood-data-table-pin-offset);
1864
+ }
1865
+ .flood-root .flood-data-table__table > :is(thead,tbody) > tr > [data-pin-edge="end"] {
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));
1870
+ }
1871
+ .flood-root .flood-data-table__table > :is(thead,tbody) > tr > [data-pin-boundary="true"]::before {
1872
+ content:"";
1873
+ position:absolute;
1874
+ inset-block:0;
1875
+ inset-inline-end:0;
1876
+ inline-size:var(--flood-sys-stroke-width);
1877
+ background:var(--flood-sys-color-divider-decorative);
1878
+ pointer-events:none;
1879
+ }
1880
+ .flood-root .flood-data-table__table > :is(thead,tbody) > tr > [data-pin-edge="end"][data-pin-boundary="true"]::before {
1881
+ inset-inline:0 auto;
1882
+ }
1883
+ .flood-root .flood-data-table__table[data-striped="true"] > tbody > :where(tr:nth-child(even of :not(.flood-data-table__expanded-row))) > [data-pin-edge] {
1884
+ --flood-data-table-pin-state:color-mix(in srgb,var(--flood-sys-color-content-default) 4%,transparent);
1885
+ }
1886
+ .flood-root .flood-data-table__table > tbody > tr[data-primary-action]:not([data-selected]):focus-within > [data-pin-edge] {
1887
+ --flood-data-table-pin-state:var(--flood-sys-color-action-on-surface-hover);
1888
+ }
1889
+ @media (hover:hover) {
1890
+ .flood-root .flood-data-table__table > tbody > tr[data-primary-action]:not([data-selected]):hover > [data-pin-edge] {
1891
+ --flood-data-table-pin-state:var(--flood-sys-color-action-on-surface-hover);
1817
1892
  }
1818
1893
  }
1819
-
1820
- .flood-root .flood-filter-condition { container: flood-filter-condition / inline-size; min-inline-size:0; }
1821
- .flood-root .flood-filter-condition__row { grid-template-columns:minmax(7rem,.9fr) minmax(8rem,1fr) minmax(10rem,1.6fr); align-items:center; }
1822
- .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; }
1823
- .flood-root .flood-filter-condition__values { min-inline-size:0; }
1824
- @container flood-filter-condition (max-width:34rem) {
1825
- .flood-root .flood-filter-condition__row,
1826
- .flood-root .flood-filter-condition[data-removable="true"] .flood-filter-condition__row { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
1827
- .flood-root .flood-filter-condition[data-removable="true"] .flood-filter-condition__row { grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto; }
1828
- .flood-root .flood-filter-condition__values { grid-column:1 / -1; }
1829
- .flood-root .flood-filter-condition[data-removable="true"] .flood-filter-condition__values { grid-column:1 / 3; }
1830
- .flood-root .flood-filter-condition__remove { grid-column:3; grid-row:2; }
1894
+ .flood-root .flood-data-table__table > tbody > tr[data-selected] > [data-pin-edge] {
1895
+ --flood-data-table-pin-state:var(--flood-sys-color-selection-background);
1831
1896
  }
1832
- @container flood-filter-condition (max-width:22rem) {
1833
- .flood-root .flood-filter-condition__row,
1834
- .flood-root .flood-filter-condition[data-removable="true"] .flood-filter-condition__row { grid-template-columns:minmax(0,1fr); }
1835
- .flood-root .flood-filter-condition__row > :is(.flood-field,.flood-filter-condition__values) { grid-column:1 / -1; }
1836
- .flood-root .flood-filter-condition__remove { grid-column:1; grid-row:auto; justify-self:end; }
1897
+ @media (forced-colors:active) {
1898
+ .flood-root .flood-data-table__resize-icon { color:CanvasText; }
1899
+ .flood-root .flood-data-table__resize:focus-visible > .flood-data-table__resize-icon { outline-color:Highlight; }
1900
+ .flood-root .flood-data-table__table > :is(thead,tbody) > tr > [data-pin-edge] { background:Canvas; }
1837
1901
  }
1838
- .flood-root .flood-filter-group .flood-segmented > .flood-fieldset__body { grid-template-columns: minmax(0, 1fr); }
1839
- .flood-root .flood-filter-group .flood-segmented .flood-choice-group { max-inline-size: 100%; }
1840
- .flood-root .flood-filter-group .flood-segmented .flood-choice { flex: 1 1 auto; min-inline-size: 0; }
1841
1902
 
1842
- .flood-root .flood-collection-toolbar { inline-size:100%; min-inline-size:0; container-type:inline-size; }
1843
- .flood-root .flood-collection-toolbar__row { min-inline-size:0; display:grid; grid-template-columns:minmax(12rem,24rem) minmax(0,1fr) auto; }
1844
- .flood-root .flood-collection-toolbar__search { min-inline-size:0; max-inline-size:100%; }
1845
- .flood-root .flood-collection-toolbar__summaries { min-inline-size:0; max-inline-size:100%; }
1846
- .flood-root .flood-collection-toolbar__commands { margin-inline-start:auto; max-inline-size:100%; justify-content:flex-end; }
1847
- .flood-root .flood-collection-toolbar__clear[data-visible="false"] { visibility:hidden; }
1848
- .flood-root .flood-collection-toolbar__commands { grid-column:3; }
1849
- @container (max-width:46rem) {
1850
- .flood-root .flood-collection-toolbar__row { grid-template-columns:minmax(0,1fr) auto; }
1851
- .flood-root .flood-collection-toolbar__commands { grid-column:2; grid-row:1; }
1852
- .flood-root .flood-collection-toolbar__summaries { grid-column:1 / -1; grid-row:2; }
1903
+ .flood-root .flood-table :is(th, td).flood-data-table__expand {
1904
+ inline-size: 1%;
1905
+ padding-block: 0;
1906
+ padding-inline: var(--flood-data-table-edge);
1907
+ text-align: center;
1908
+ white-space: nowrap;
1853
1909
  }
1854
- @container (max-width:28rem) {
1855
- .flood-root .flood-collection-toolbar__row { grid-template-columns:minmax(0,1fr); }
1856
- .flood-root .flood-collection-toolbar__commands { grid-column:1; grid-row:2; }
1857
- .flood-root .flood-collection-toolbar__summaries { grid-row:3; }
1910
+ .flood-root .flood-data-table__expand:not([data-pin-edge]) { position: relative; }
1911
+ .flood-root .flood-data-table__expand[data-detail-visible]::after {
1912
+ content: "";
1913
+ position: absolute;
1914
+ inset-block: calc(50% + var(--flood-sys-space-2)) 0;
1915
+ inset-inline-start: calc(50% - var(--flood-sys-stroke-width) / 2);
1916
+ border-inline-start: var(--flood-sys-stroke-width) solid var(--flood-sys-color-divider-decorative);
1917
+ pointer-events: none;
1918
+ }
1919
+ .flood-root .flood-data-table__disclosure[aria-expanded="true"] svg { rotate: 180deg; }
1920
+ .flood-root .flood-data-table__expanded-row > td {
1921
+ padding-block: 0;
1922
+ background: color-mix(in srgb, var(--flood-sys-color-content-default) 3%, transparent);
1923
+ }
1924
+ .flood-root .flood-data-table__detail-reveal {
1925
+ display: grid;
1926
+ grid-template-rows: 0fr;
1927
+ }
1928
+ .flood-root .flood-data-table__detail-reveal[data-open] { grid-template-rows: 1fr; }
1929
+ .flood-root .flood-data-table__detail-clip { min-block-size: 0; overflow: clip; }
1930
+ .flood-root .flood-data-table__expanded-content {
1931
+ --flood-data-table-branch-start: max(0px, calc(var(--flood-data-table-disclosure-center, var(--flood-data-table-edge)) - var(--flood-data-table-edge)));
1932
+ --flood-data-table-branch-arm: var(--flood-sys-space-3);
1933
+ contain: inline-size;
1934
+ position: sticky;
1935
+ inset-inline-start: var(--flood-data-table-edge);
1936
+ box-sizing: border-box;
1937
+ padding-block: var(--flood-sys-space-3) var(--flood-sys-space-4);
1938
+ padding-inline: calc(var(--flood-data-table-branch-start) + var(--flood-data-table-branch-arm) + var(--flood-sys-space-2)) var(--flood-sys-space-2);
1939
+ }
1940
+ .flood-root .flood-data-table__expanded-content::before {
1941
+ content: "";
1942
+ position: absolute;
1943
+ inset-block-start: 0;
1944
+ inset-inline-start: calc(var(--flood-data-table-branch-start) - var(--flood-sys-stroke-width) / 2);
1945
+ inline-size: var(--flood-data-table-branch-arm);
1946
+ box-sizing: border-box;
1947
+ block-size: calc(var(--flood-data-table-branch-target, var(--flood-sys-space-6)) + var(--flood-sys-stroke-width) / 2);
1948
+ border-inline-start: var(--flood-sys-stroke-width) solid var(--flood-sys-color-divider-decorative);
1949
+ border-block-end: var(--flood-sys-stroke-width) solid var(--flood-sys-color-divider-decorative);
1950
+ border-end-start-radius: var(--flood-sys-radius-indicator);
1951
+ pointer-events: none;
1952
+ }
1953
+
1954
+ @media (prefers-reduced-motion: no-preference) {
1955
+ .flood-root .flood-data-table__detail-reveal:not([data-flood-motion="reduce"] *) {
1956
+ transition: grid-template-rows var(--flood-sys-motion-duration-exit) var(--flood-sys-motion-easing);
1957
+ }
1958
+ .flood-root .flood-data-table__detail-reveal[data-open]:not([data-flood-motion="reduce"] *) {
1959
+ transition-duration: var(--flood-sys-motion-duration-enter);
1960
+ }
1961
+ @starting-style {
1962
+ .flood-root .flood-data-table__detail-reveal[data-open]:not([data-flood-motion="reduce"] *) {
1963
+ grid-template-rows: 0fr;
1964
+ }
1965
+ }
1966
+ .flood-root:not([data-flood-motion="reduce"]) .flood-data-table__disclosure:not(:where([data-flood-motion="reduce"] *)) svg {
1967
+ transition: rotate var(--flood-sys-motion-duration-normal) var(--flood-sys-motion-easing);
1968
+ }
1969
+ }
1970
+
1971
+ .flood-root .flood-sparkline {
1972
+ --flood-sparkline-color: var(--flood-sys-color-content-subtle);
1973
+ --flood-sparkline-height: var(--flood-sys-space-8);
1974
+ display: inline-grid;
1975
+ gap: var(--flood-sys-space-1);
1976
+ inline-size: 6rem;
1977
+ max-inline-size: 100%;
1978
+ min-inline-size: 0;
1979
+ vertical-align: middle;
1980
+ }
1981
+
1982
+ .flood-root .flood-sparkline[data-size="sm"] {
1983
+ --flood-sparkline-height: var(--flood-sys-space-6);
1984
+ inline-size: 5rem;
1985
+ }
1986
+
1987
+ .flood-root .flood-sparkline[data-tone="success"] { --flood-sparkline-color: var(--flood-sys-color-feedback-success); }
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); }
1990
+ .flood-root .flood-sparkline[data-tone="warning"] { --flood-sparkline-color: var(--flood-sys-color-feedback-warning); }
1991
+ .flood-root .flood-sparkline[data-tone="error"] { --flood-sparkline-color: var(--flood-sys-color-feedback-error); }
1992
+
1993
+ .flood-root .flood-sparkline__plot {
1994
+ display: block;
1995
+ inline-size: 100%;
1996
+ block-size: var(--flood-sparkline-height);
1997
+ color: var(--flood-sparkline-color);
1998
+ overflow: visible;
1999
+ }
2000
+
2001
+ .flood-root :is(.flood-sparkline__line, .flood-sparkline__point, .flood-sparkline__halo) {
2002
+ fill: none;
2003
+ stroke: currentColor;
2004
+ stroke-linecap: round;
2005
+ stroke-linejoin: round;
2006
+ vector-effect: non-scaling-stroke;
2007
+ }
2008
+
2009
+ .flood-root .flood-sparkline__line { stroke-width: var(--flood-chart-stroke-width); }
2010
+ .flood-root .flood-sparkline__point { stroke-width: calc(3 * var(--flood-sys-stroke-width)); }
2011
+ .flood-root .flood-sparkline__point[data-latest] { stroke-width: calc(4 * var(--flood-sys-stroke-width)); }
2012
+ .flood-root .flood-sparkline__halo { stroke-width: calc(8 * var(--flood-sys-stroke-width)); opacity: .16; }
2013
+ .flood-root .flood-sparkline__area { opacity: .88; }
2014
+ .flood-root .flood-sparkline__label { overflow-wrap: anywhere; }
2015
+
2016
+ @media (hover: hover) {
2017
+ .flood-root .flood-sparkline:hover .flood-sparkline__halo { opacity: .34; }
2018
+ .flood-root .flood-sparkline:hover .flood-sparkline__area { opacity: 1; }
2019
+ }
2020
+ @media (hover: hover) and (prefers-reduced-motion: no-preference) {
2021
+ .flood-root:not([data-flood-motion="reduce"]) :is(.flood-sparkline__halo, .flood-sparkline__area):not(:where([data-flood-motion="reduce"] *)) {
2022
+ transition: opacity var(--flood-chart-motion);
2023
+ }
2024
+ }
2025
+ .flood-root .flood-sparkline__empty { display: grid; place-items: center; min-block-size: var(--flood-sparkline-height); }
2026
+
2027
+ @media (forced-colors: active) {
2028
+ .flood-root .flood-sparkline__plot { color: CanvasText; }
2029
+ .flood-root :is(.flood-sparkline__area, .flood-sparkline__halo) { display: none; }
2030
+ }
2031
+
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);
2039
+ }
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;
2046
+ }
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;
2071
+ }
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);
2076
+ }
2077
+ .flood-root .flood-line-chart__plot > svg {
2078
+ position: relative;
2079
+ display: block;
2080
+ inline-size: 100%;
2081
+ overflow: visible;
2082
+ }
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;
2092
+ }
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;
2097
+ }
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;
2122
+ }
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);
2131
+ }
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);
2141
+ }
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;
2150
+ }
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;
2162
+ }
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;
2171
+ }
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; }
3587
+ }
3588
+ @container (max-width:28rem) {
3589
+ .flood-root .flood-collection-toolbar__row { grid-template-columns:minmax(0,1fr); }
3590
+ .flood-root .flood-collection-toolbar__commands { grid-column:1; grid-row:2; }
3591
+ .flood-root .flood-collection-toolbar__summaries { grid-row:3; }
3592
+ }
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%; }
1858
3608
  }
1859
3609
 
1860
3610
  .flood-root .flood-collection-view-switcher { min-inline-size:0; }
@@ -1882,6 +3632,13 @@
1882
3632
  justify-self:start;
1883
3633
  margin-inline-start:calc((var(--flood-sidebar-rail-width) - var(--flood-sys-stroke-width) - var(--flood-sidebar-row)) / 2 - var(--flood-sidebar-edge) - var(--flood-sys-space-3));
1884
3634
  }
3635
+ @media (forced-colors: none) {
3636
+ .flood-root .flood-sidebar__toggle.flood-icon-button:focus-visible {
3637
+ outline:none;
3638
+ background:var(--flood-sys-color-selection-background);
3639
+ color:var(--flood-sys-color-selection-content);
3640
+ }
3641
+ }
1885
3642
  @media(pointer:coarse) {
1886
3643
  .flood-root .flood-sidebar { --flood-sidebar-rail-width:5rem; }
1887
3644
  .flood-root .flood-sidebar:not([data-collapsed="true"]) .flood-sidebar__toggle {
@@ -1891,6 +3648,12 @@
1891
3648
  .flood-root .flood-sidebar > .flood-scroll-area { flex:1; min-block-size:0; min-inline-size:0; }
1892
3649
  .flood-root .flood-sidebar__body { block-size:100%; min-block-size:0; min-inline-size:0; }
1893
3650
  .flood-root .flood-sidebar__navigation { padding-inline:var(--flood-sidebar-edge); }
3651
+ .flood-root .flood-sidebar__navigation :is(.flood-navigation-group__label,.flood-navigation-item__label,.flood-navigation-item__description) {
3652
+ min-inline-size:0;
3653
+ overflow:hidden;
3654
+ text-overflow:ellipsis;
3655
+ white-space:nowrap;
3656
+ }
1894
3657
  .flood-root .flood-sidebar__group-label { padding-inline:var(--flood-sys-space-3); }
1895
3658
  .flood-root .flood-sidebar__group[data-icon-column] .flood-navigation-group__label { padding-inline-start:calc(var(--flood-sys-space-3) + var(--flood-sidebar-icon) + var(--flood-sys-space-2)); }
1896
3659
  .flood-root .flood-sidebar__footer { display:flex; flex-direction:column; align-items:stretch; gap:var(--flood-sys-space-1); flex:none; min-inline-size:0; padding-block-start:var(--flood-sys-space-3); padding-inline:var(--flood-sidebar-edge); }
@@ -2111,9 +3874,13 @@
2111
3874
  from { translate: var(--flood-motion-layer-x, 0) var(--flood-motion-layer-y, 0); }
2112
3875
  }
2113
3876
 
3877
+ @keyframes flood-toast-enter {
3878
+ from { opacity: .35; translate: 0 var(--flood-toast-entry-offset, 0px); }
3879
+ }
3880
+
2114
3881
  @media (prefers-reduced-motion: no-preference) {
2115
3882
  /* The native layer owns open state and positioning. Its measured box stays still. */
2116
- .flood-root :where(.flood-overlay-panel, .flood-select__menu, .flood-dialog, .flood-toast__message) {
3883
+ .flood-root :where(.flood-overlay-panel, .flood-select__menu, .flood-dialog) {
2117
3884
  --flood-motion-layer-x: 0;
2118
3885
  --flood-motion-layer-y: 0;
2119
3886
  }
@@ -2155,14 +3922,26 @@
2155
3922
  animation: flood-motion-hint-in var(--flood-sys-motion-duration-enter) var(--flood-sys-motion-easing-enter);
2156
3923
  }
2157
3924
 
2158
- .flood-root .flood-toast-region:not([data-inline]) .flood-toast__message:not([data-flood-motion="reduce"] *) {
2159
- --flood-motion-layer-y: var(--flood-sys-motion-distance-small);
2160
- animation: flood-motion-hint-in var(--flood-sys-motion-duration-enter) var(--flood-sys-motion-easing-enter),
2161
- flood-motion-layer-content-in var(--flood-sys-motion-duration-enter) var(--flood-sys-motion-easing-enter);
3925
+ .flood-root .flood-toast-region:not([data-inline]):not([data-flood-motion="reduce"] *) {
3926
+ --flood-toast-travel: calc(2 * var(--flood-sys-motion-distance-small));
3927
+ box-sizing: border-box;
3928
+ }
3929
+
3930
+ /* Reserve room within the scrolling region for the card's entry. */
3931
+ .flood-root .flood-toast-region[data-placement^="bottom"]:has(.flood-toast):not([data-inline]):not([data-flood-motion="reduce"] *) {
3932
+ --flood-toast-entry-offset: var(--flood-toast-travel);
3933
+ padding-block-end: var(--flood-toast-travel);
3934
+ margin-block-end: calc(-1 * var(--flood-toast-travel));
3935
+ }
3936
+
3937
+ .flood-root .flood-toast-region[data-placement^="top"]:has(.flood-toast):not([data-inline]):not([data-flood-motion="reduce"] *) {
3938
+ --flood-toast-entry-offset: calc(-1 * var(--flood-toast-travel));
3939
+ padding-block-start: var(--flood-toast-travel);
3940
+ margin-block-start: calc(-1 * var(--flood-toast-travel));
2162
3941
  }
2163
3942
 
2164
- .flood-root .flood-toast-region[data-placement^="top"] .flood-toast__message {
2165
- --flood-motion-layer-y: calc(-1 * var(--flood-sys-motion-distance-small));
3943
+ .flood-root .flood-toast:not([data-flood-motion="reduce"] *) {
3944
+ animation: flood-toast-enter var(--flood-sys-motion-duration-enter) var(--flood-sys-motion-easing-enter);
2166
3945
  }
2167
3946
  }
2168
3947