@flood-md/react 0.2.1 → 0.2.3

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.
@@ -1,5 +1,72 @@
1
1
  @import "@flood-md/tokens/foundations.css";
2
2
 
3
+ /* Keep real labels in the accessibility tree while removing their layout box. */
4
+ .flood-visually-hidden { position: absolute; inline-size: 1px; block-size: 1px; padding: 0; margin: 0; border: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
5
+ .flood-field[data-hide-label="true"], .flood-fieldset[data-hide-label="true"] { position: relative; }
6
+
7
+ .flood-root .flood-tabs { display: grid; grid-template-rows: auto 1fr; min-inline-size: 0; box-sizing: border-box; overflow: clip; 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); }
8
+ .flood-root .flood-tabs[data-orientation="vertical"] { grid-template-columns: minmax(0, min(10rem, 40%)) minmax(0, 1fr); grid-template-rows: 1fr; }
9
+ .flood-root .flood-tabs__scroll { background: var(--flood-sys-color-surface-canvas); }
10
+ .flood-root .flood-tabs__list { display: flex; inline-size: max-content; min-inline-size: 100%; box-sizing: border-box; }
11
+ .flood-root .flood-tabs[data-orientation="vertical"] .flood-tabs__list { flex-direction: column; inline-size: 100%; min-inline-size: 0; }
12
+ .flood-root .flood-tabs .flood-tab { flex: none; white-space: nowrap; color: var(--flood-sys-color-content-subtle); border: 0; border-radius: calc(var(--flood-sys-radius-field) - var(--flood-sys-stroke-width)) calc(var(--flood-sys-radius-field) - var(--flood-sys-stroke-width)) 0 0; }
13
+ .flood-root .flood-tabs .flood-tab[aria-selected="true"] { color: var(--flood-sys-color-content-default); background: var(--flood-sys-color-surface-default); box-shadow: none; }
14
+ .flood-root .flood-tabs .flood-tab:focus-visible { outline-offset: calc(-1 * var(--flood-sys-focus-width)); }
15
+ .flood-root .flood-tabs .flood-tab:disabled { color: var(--flood-sys-color-field-disabled-content); }
16
+ .flood-root .flood-tabs[data-orientation="vertical"] .flood-tab { inline-size: 100%; white-space: normal; justify-content: flex-start; text-align: start; border-radius: 0; border-start-start-radius: calc(var(--flood-sys-radius-field) - var(--flood-sys-stroke-width)); border-end-start-radius: calc(var(--flood-sys-radius-field) - var(--flood-sys-stroke-width)); }
17
+ .flood-root .flood-tabs__panel { min-inline-size: 0; padding: var(--flood-sys-space-4); font-size: var(--flood-sys-type-compact-size); line-height: var(--flood-sys-type-compact-line-height); overflow-wrap: anywhere; }
18
+ .flood-root .flood-tabs__panel[hidden] { display: none; }
19
+ .flood-root .flood-tabs__panel:focus-visible { outline: var(--flood-sys-focus-width) solid var(--flood-sys-color-focus-ring); outline-offset: calc(-1 * var(--flood-sys-focus-width)); }
20
+ .flood-root :is(.flood-breadcrumb, .flood-pagination) { min-inline-size: 0; max-inline-size: 100%; font-size: var(--flood-sys-type-compact-size); line-height: var(--flood-sys-type-compact-line-height); }
21
+ .flood-root :is(.flood-breadcrumb ol, .flood-pagination ul) { display: flex; flex-wrap: wrap; align-items: center; padding: 0; margin: 0; list-style: none; gap: var(--flood-sys-space-2); }
22
+ .flood-root .flood-breadcrumb li { display: inline-flex; align-items: center; gap: var(--flood-sys-space-2); min-inline-size: 0; max-inline-size: 100%; overflow-wrap: anywhere; }
23
+ .flood-root .flood-breadcrumb a { display: inline-flex; align-items: center; min-block-size: var(--flood-sys-control-sm-height); color: var(--flood-sys-color-content-subtle); text-decoration: none; }
24
+ .flood-root .flood-breadcrumb a:hover { text-decoration: underline; }
25
+ .flood-root .flood-breadcrumb [aria-current="page"] { color: var(--flood-sys-color-content-default); }
26
+ .flood-root .flood-breadcrumb__separator { flex: none; color: var(--flood-sys-color-content-subtle); }
27
+ .flood-root .flood-pagination ul { gap: var(--flood-sys-space-1); }
28
+ .flood-root .flood-pagination .flood-page { min-inline-size: var(--flood-control-height); padding-inline: var(--flood-sys-space-1); text-decoration: none; }
29
+ .flood-root .flood-pagination:dir(rtl) .flood-page > svg { transform: scaleX(-1); }
30
+ .flood-root .flood-page > svg { flex: none; inline-size: var(--flood-control-icon); block-size: var(--flood-control-icon); }
31
+ .flood-root .flood-pagination .flood-page[aria-current="page"] { background: var(--flood-sys-color-selection-background); color: var(--flood-sys-color-selection-content); }
32
+ .flood-root .flood-pagination .flood-page:is(:disabled, [aria-disabled="true"]) { color: var(--flood-sys-color-field-disabled-content); cursor: default; }
33
+ .flood-root .flood-page-gap { padding-inline: var(--flood-sys-space-1); color: var(--flood-sys-color-content-subtle); }
34
+ @media (pointer: coarse) { .flood-root .flood-pagination .flood-page { min-inline-size: var(--flood-sys-size-touch); } .flood-root .flood-breadcrumb a { min-block-size: var(--flood-sys-size-touch); min-inline-size: var(--flood-sys-size-touch); } }
35
+ @media (forced-colors: active) {
36
+ .flood-root .flood-tabs .flood-tab[aria-selected="true"]:not(:disabled), .flood-root .flood-pagination .flood-page[aria-current="page"]:not(:disabled):not([aria-disabled="true"]) { forced-color-adjust: none; background: Highlight; color: HighlightText; box-shadow: none; }
37
+ }
38
+
39
+ .flood-root :is(.flood-overlay-panel, .flood-dialog) { box-sizing: border-box; color: var(--flood-sys-color-content-default); background: var(--flood-sys-color-surface-overlay); border: var(--flood-sys-stroke-width) solid var(--flood-sys-color-border-decorative); border-radius: var(--flood-sys-radius-field); font: inherit; text-align: start; }
40
+ .flood-root .flood-overlay-panel { position: fixed; inset: auto; margin: 0; max-inline-size: var(--flood-overlay-available-width, calc(100vw - 1rem)); max-block-size: var(--flood-overlay-available-height, calc(100dvh - 1rem)); padding: var(--flood-sys-space-4); gap: var(--flood-sys-space-2); overflow: auto; }
41
+ .flood-root .flood-overlay-panel[popover]:not(:popover-open) { display: none; }
42
+ .flood-root .flood-tooltip { inline-size: max-content; max-inline-size: min(20rem, var(--flood-overlay-available-width, calc(100vw - 1rem))); padding: var(--flood-sys-space-2) var(--flood-sys-space-3); border-radius: var(--flood-sys-radius-field); font-size: var(--flood-sys-type-helper-size); line-height: var(--flood-sys-type-helper-line-height); overflow-wrap: anywhere; }
43
+ .flood-root .flood-popover { inline-size: 20rem; }
44
+ .flood-root .flood-overlay-header { display: flex; align-items: center; justify-content: space-between; gap: var(--flood-sys-space-4); }
45
+ .flood-root .flood-overlay-close { flex: none; align-self: flex-start; }
46
+ .flood-root .flood-overlay-title { margin: 0; min-inline-size: 0; font-size: var(--flood-sys-type-compact-size); line-height: var(--flood-sys-type-compact-line-height); font-weight: var(--flood-sys-type-label-weight); overflow-wrap: anywhere; }
47
+ .flood-root .flood-overlay-body { margin-block-start: var(--flood-sys-space-3); font-size: var(--flood-sys-type-compact-size); line-height: var(--flood-sys-type-compact-line-height); }
48
+ .flood-root .flood-overlay-description { margin: var(--flood-sys-space-2) 0 0; color: var(--flood-sys-color-content-subtle); font-size: var(--flood-sys-type-compact-size); line-height: var(--flood-sys-type-compact-line-height); }
49
+ .flood-root .flood-dialog { padding: var(--flood-sys-space-6); inline-size: min(32rem, calc(100% - var(--flood-sys-space-8))); max-inline-size: calc(100% - var(--flood-sys-space-8)); max-block-size: calc(100dvh - var(--flood-sys-space-8)); overflow: auto; }
50
+ .flood-root .flood-dialog:not([open]) { display: none; }
51
+ .flood-root .flood-dialog::backdrop { background: color-mix(in srgb, var(--flood-sys-color-surface-canvas) 72%, transparent); }
52
+ .flood-root .flood-popover:focus-visible { outline: var(--flood-sys-focus-width) solid var(--flood-sys-color-focus-ring); outline-offset: 0; }
53
+
54
+ .flood-root :is(.flood-disclosure, .flood-accordion) { box-sizing: border-box; min-inline-size: 0; 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); }
55
+ .flood-root .flood-disclosure__heading { margin: 0; padding: 0; font: inherit; }
56
+ .flood-root .flood-disclosure .flood-disclosure__trigger { inline-size: 100%; max-inline-size: none; justify-content: space-between; text-align: start; border-radius: calc(var(--flood-sys-radius-field) - var(--flood-sys-stroke-width)); }
57
+ .flood-root .flood-disclosure__title { min-inline-size: 0; }
58
+ .flood-root .flood-disclosure__indicator { flex: none; inline-size: calc(var(--flood-control-icon) * .4); block-size: calc(var(--flood-control-icon) * .4); border-right: var(--flood-sys-stroke-width) solid currentColor; border-block-end: var(--flood-sys-stroke-width) solid currentColor; transform: rotate(45deg); transition: transform var(--flood-sys-motion-duration-fast) var(--flood-sys-motion-easing); margin-inline: var(--flood-sys-space-1); }
59
+ .flood-root .flood-disclosure[data-open="true"] > .flood-disclosure__heading .flood-disclosure__indicator { transform: rotate(225deg); }
60
+ .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: anywhere; }
61
+ .flood-root .flood-disclosure__panel[hidden] { display: none; }
62
+ .flood-root .flood-accordion > .flood-disclosure { border: 0; border-radius: 0; background: transparent; }
63
+ .flood-root .flood-accordion > .flood-disclosure + .flood-disclosure { border-block-start: var(--flood-sys-stroke-width) solid var(--flood-sys-color-divider-decorative); }
64
+ .flood-root .flood-disclosure[data-open="true"] > .flood-disclosure__heading > .flood-disclosure__trigger { border-end-start-radius: 0; border-end-end-radius: 0; }
65
+ .flood-root .flood-accordion > .flood-disclosure > .flood-disclosure__heading > .flood-disclosure__trigger { border-radius: 0; }
66
+ .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)); }
67
+ .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)); }
68
+ @media (prefers-reduced-motion: reduce) { .flood-root .flood-disclosure__indicator { transition: none; } }
69
+
3
70
  @font-face {
4
71
  font-family: "Inter";
5
72
  font-style: normal;
@@ -41,6 +108,45 @@
41
108
  .flood-root .flood-tone--info { color: var(--flood-sys-color-feedback-info); }
42
109
  .flood-root .flood-stack { display: flex; flex-direction: column; gap: var(--flood-layout-gap); min-inline-size: 0; }
43
110
  .flood-root .flood-inline { display: flex; flex-wrap: wrap; gap: var(--flood-layout-gap); min-inline-size: 0; }
111
+ .flood-root :where(.flood-stack, .flood-inline, .flood-surface) { min-block-size: 0; }
112
+ .flood-scroll-area { position: relative; isolation: isolate; min-inline-size: 0; min-block-size: 0; max-inline-size: 100%; }
113
+ .flood-scroll-area__viewport { position: relative; z-index: 0; box-sizing: border-box; min-inline-size: 0; min-block-size: 0; overflow: auto; scroll-behavior: auto; }
114
+ .flood-scroll-area__viewport[hidden] { display: none; }
115
+ .flood-scroll-area__viewport[data-orientation="vertical"] { overflow-x: hidden; }
116
+ .flood-scroll-area__viewport[data-orientation="horizontal"] { overflow-y: hidden; }
117
+ .flood-scroll-area__viewport[data-scrollbars="overlay"] { scrollbar-width: none; }
118
+ .flood-scroll-area__viewport[data-scrollbars="overlay"]::-webkit-scrollbar { display: none; width: 0; height: 0; }
119
+ .flood-scroll-area__content { --flood-scroll-content-inline: 0px; --flood-scroll-content-block: 0px; display: flow-root; box-sizing: border-box; min-inline-size: 100%; padding-inline-end: var(--flood-scroll-content-inline); padding-block-end: var(--flood-scroll-content-block); }
120
+ .flood-scroll-area__track { position: absolute; z-index: var(--flood-sys-layer-sticky); touch-action: none; user-select: none; }
121
+ .flood-scroll-area__thumb { border-radius: var(--flood-sys-radius-action); background: var(--flood-sys-color-scrollbar-thumb); touch-action: none; user-select: none; cursor: default; }
122
+ .flood-scroll-area__thumb:hover, .flood-scroll-area__track[data-dragging="true"] .flood-scroll-area__thumb { background: var(--flood-sys-color-scrollbar-thumb-hover); }
123
+ .flood-root .flood-scroll-area__viewport:focus-visible { outline: var(--flood-sys-focus-width) solid var(--flood-sys-color-focus-ring); outline-offset: var(--flood-sys-focus-offset); }
124
+ .flood-root .flood-code-snippet {
125
+ box-sizing: border-box;
126
+ display: flex;
127
+ flex-wrap: wrap;
128
+ align-items: center;
129
+ gap: var(--flood-sys-space-2);
130
+ min-inline-size: 0;
131
+ padding: var(--flood-sys-space-3) var(--flood-sys-space-4);
132
+ border: var(--flood-sys-stroke-width) solid var(--flood-sys-color-border-decorative);
133
+ border-radius: var(--flood-sys-radius-field);
134
+ background: var(--flood-sys-color-surface-default);
135
+ color: var(--flood-sys-color-content-default);
136
+ }
137
+ .flood-root .flood-code-snippet__code {
138
+ flex: 1;
139
+ min-inline-size: 0;
140
+ font-family: var(--flood-sys-font-mono);
141
+ font-size: var(--flood-sys-type-compact-size);
142
+ font-weight: var(--flood-sys-type-compact-weight);
143
+ line-height: var(--flood-sys-type-compact-line-height);
144
+ letter-spacing: normal;
145
+ white-space: pre-wrap;
146
+ overflow-wrap: anywhere;
147
+ user-select: text;
148
+ }
149
+ .flood-root .flood-code-snippet__action { flex: none; max-inline-size: 100%; }
44
150
  .flood-root .flood-surface {
45
151
  box-sizing: border-box;
46
152
  border-radius: var(--flood-sys-radius-block);
@@ -51,6 +157,8 @@
51
157
  .flood-root .flood-divider { border: 0; border-block-start: var(--flood-sys-stroke-width) solid var(--flood-sys-color-divider-decorative); margin: 0; inline-size: 100%; }
52
158
  .flood-root .flood-button {
53
159
  display: inline-flex;
160
+ inline-size: fit-content;
161
+ max-inline-size: 100%;
54
162
  align-items: center;
55
163
  justify-content: center;
56
164
  min-block-size: var(--flood-control-height);
@@ -83,7 +191,7 @@
83
191
  --flood-surface-action-rest: var(--flood-sys-color-action-on-surface-hover);
84
192
  --flood-surface-action-hover: var(--flood-sys-color-action-on-surface-pressed);
85
193
  }
86
- .flood-root .flood-button--outline { border-color: var(--flood-sys-color-field-boundary); }
194
+ .flood-root .flood-button--outline { border-color: var(--flood-sys-color-field-border); }
87
195
  .flood-root .flood-icon-button { min-inline-size: var(--flood-control-height); padding: var(--flood-sys-space-1); }
88
196
  .flood-root .flood-icon { display: inline-flex; align-items: center; justify-content: center; line-height: 1; flex: none; inline-size: var(--flood-icon-size); block-size: var(--flood-icon-size); color: inherit; }
89
197
  .flood-root .flood-icon > svg { display: block; inline-size: 100%; block-size: 100%; }
@@ -94,7 +202,7 @@
94
202
  padding-block: calc((var(--flood-control-height) - var(--flood-control-text) * var(--flood-control-line)) / 2 - var(--flood-sys-stroke-width));
95
203
  padding-inline: calc(var(--flood-control-padding) - var(--flood-sys-stroke-width));
96
204
  border: var(--flood-sys-stroke-width) solid var(--flood-sys-color-field-border);
97
- border-block-end-color: var(--flood-sys-color-field-boundary);
205
+ box-shadow: none;
98
206
  border-radius: var(--flood-sys-radius-field);
99
207
  background: var(--flood-sys-color-field-background);
100
208
  color: var(--flood-sys-color-field-content);
@@ -106,6 +214,15 @@
106
214
  .flood-root .flood-input::placeholder { color: var(--flood-sys-color-field-placeholder); opacity: 1; }
107
215
  .flood-root .flood-input[aria-invalid="true"] { border-color: var(--flood-sys-color-feedback-error); }
108
216
  .flood-root .flood-input[readonly] { cursor: text; }
217
+ .flood-root .flood-input[readonly]:not(:disabled) { background: var(--flood-sys-color-surface-canvas); }
218
+ .flood-root .flood-input[readonly]:not(:disabled):not(:focus-visible) { border-style: dashed; }
219
+ .flood-root [data-status="error"] { --flood-field-feedback: var(--flood-sys-color-feedback-error); }
220
+ .flood-root [data-status="warning"] { --flood-field-feedback: var(--flood-sys-color-feedback-warning); }
221
+ .flood-root [data-status="success"] { --flood-field-feedback: var(--flood-sys-color-feedback-success); }
222
+ .flood-root [data-status="info"] { --flood-field-feedback: var(--flood-sys-color-feedback-info); }
223
+ .flood-root .flood-input[data-status] { border-color: var(--flood-field-feedback); }
224
+ .flood-root .flood-message { font-size: var(--flood-sys-type-helper-size); line-height: var(--flood-sys-type-helper-line-height); color: var(--flood-field-feedback, var(--flood-sys-color-content-helper)); }
225
+ .flood-root .flood-field[data-status] > .flood-error { color: var(--flood-field-feedback); }
109
226
  .flood-root .flood-input:disabled { background: var(--flood-sys-color-field-disabled); color: var(--flood-sys-color-field-disabled-content); border-color: var(--flood-sys-color-field-border); opacity: 1; }
110
227
  .flood-root .flood-input:focus-visible {
111
228
  outline: none;
@@ -114,16 +231,108 @@
114
231
  padding-block: calc((var(--flood-control-height) - var(--flood-control-text) * var(--flood-control-line)) / 2 - var(--flood-sys-focus-width));
115
232
  padding-inline: calc(var(--flood-control-padding) - var(--flood-sys-focus-width));
116
233
  }
117
- .flood-root .flood-textarea { min-block-size: calc(var(--flood-control-height) * 3); resize: vertical; }
234
+ .flood-root .flood-select { position: relative; display: block; inline-size: 100%; min-inline-size: 0; color: var(--flood-sys-color-field-content); }
235
+ .flood-root .flood-select__control { appearance: none; padding-inline-end: calc(var(--flood-control-padding) + var(--flood-control-icon) + var(--flood-control-gap) - var(--flood-sys-stroke-width)); cursor: pointer; }
236
+ .flood-root .flood-select__control:focus-visible { padding-inline-end: calc(var(--flood-control-padding) + var(--flood-control-icon) + var(--flood-control-gap) - var(--flood-sys-focus-width)); }
237
+ .flood-root .flood-select:not(.flood-select--listbox)::after {
238
+ content: "";
239
+ box-sizing: border-box;
240
+ pointer-events: none;
241
+ position: absolute;
242
+ inset-inline-end: var(--flood-control-padding);
243
+ inset-block-start: 50%;
244
+ inline-size: var(--flood-sys-space-2);
245
+ block-size: var(--flood-sys-space-2);
246
+ border-right: var(--flood-sys-focus-width) solid currentColor;
247
+ border-bottom: var(--flood-sys-focus-width) solid currentColor;
248
+ transform: translateY(-75%) rotate(45deg);
249
+ }
250
+ .flood-root .flood-select:has(select:disabled) { color: var(--flood-sys-color-field-disabled-content); }
251
+ .flood-root .flood-select--listbox .flood-select__control { appearance: auto; padding-inline-end: calc(var(--flood-control-padding) - var(--flood-sys-stroke-width)); }
252
+ .flood-root .flood-select--listbox .flood-select__control:focus-visible { padding-inline-end: calc(var(--flood-control-padding) - var(--flood-sys-focus-width)); }
253
+ .flood-root .flood-select--custom::after { display: none; }
254
+ .flood-root .flood-select[hidden] { display: none; }
255
+ .flood-root .flood-select--custom .flood-select__control { position: relative; text-align: start; font-family: inherit; }
256
+ .flood-root .flood-select--custom .flood-select__control::after { content: ""; box-sizing: border-box; position: absolute; pointer-events: none; inset-inline-end: var(--flood-control-padding); inset-block-start: 50%; inline-size: var(--flood-sys-space-2); block-size: var(--flood-sys-space-2); border-right: var(--flood-sys-focus-width) solid currentColor; border-bottom: var(--flood-sys-focus-width) solid currentColor; transform: translateY(-75%) rotate(45deg); }
257
+ .flood-root .flood-select__value { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
258
+ .flood-root .flood-select__native[hidden] { display: none; }
259
+ .flood-root .flood-select__menu {
260
+ --flood-menu-radius: var(--flood-sys-radius-field);
261
+ --flood-menu-padding: var(--flood-sys-space-1);
262
+ --flood-menu-stroke: var(--flood-sys-stroke-width);
263
+ box-sizing: border-box;
264
+ position: fixed;
265
+ inset: auto;
266
+ margin: 0;
267
+ padding: var(--flood-menu-padding);
268
+ max-block-size: calc(var(--flood-sys-control-md-height) * 8);
269
+ overflow: hidden;
270
+ overscroll-behavior: contain;
271
+ border: var(--flood-menu-stroke) solid var(--flood-sys-color-border-decorative);
272
+ border-radius: var(--flood-menu-radius);
273
+ background: var(--flood-sys-color-surface-overlay);
274
+ color: var(--flood-sys-color-content-default);
275
+ font-family: var(--flood-sys-font-sans);
276
+ font-size: var(--flood-control-text);
277
+ line-height: var(--flood-control-line);
278
+ letter-spacing: var(--flood-sys-type-compact-tracking);
279
+ z-index: var(--flood-sys-layer-popover);
280
+ }
281
+ .flood-root .flood-select__menu::backdrop { background: transparent; pointer-events: none; }
282
+ .flood-root .flood-select__viewport { max-block-size: calc(var(--flood-sys-control-md-height) * 8 - var(--flood-sys-space-1) * 2 - var(--flood-sys-stroke-width) * 2); }
283
+ .flood-root .flood-select__option { display: flex; align-items: center; justify-content: space-between; gap: var(--flood-sys-space-2); min-block-size: var(--flood-sys-control-md-height); padding: var(--flood-sys-space-2) var(--flood-sys-space-3); border-radius: max(0px, calc(var(--flood-menu-radius) - var(--flood-menu-padding) - var(--flood-menu-stroke))); cursor: pointer; box-sizing: border-box; overflow-wrap: anywhere; }
284
+ .flood-root .flood-select__option[data-active="true"] { background: var(--flood-sys-color-selection-background); }
285
+ .flood-root .flood-select__option[aria-disabled="true"] { color: var(--flood-sys-color-field-disabled-content); cursor: not-allowed; }
286
+ .flood-root .flood-select__selected { flex: none; inline-size: var(--flood-sys-control-sm-icon-size); text-align: center; }
287
+ .flood-root .flood-select__group, .flood-root .flood-select__empty { padding: var(--flood-sys-space-2) var(--flood-sys-space-3); font-size: var(--flood-sys-type-label-size); color: var(--flood-sys-color-content-helper); }
288
+ .flood-root .flood-select__validation { display: block; margin-block-start: var(--flood-sys-space-2); color: var(--flood-sys-color-content-helper); font-size: var(--flood-sys-type-helper-size); line-height: var(--flood-sys-type-helper-line-height); }
289
+ .flood-root .flood-textarea { min-block-size: calc(var(--flood-control-height) * 3); resize: none; overflow: auto; }
118
290
  .flood-root .flood-field { display: grid; gap: var(--flood-sys-space-2); }
291
+ .flood-root .flood-fieldset { margin: 0; padding: 0; border: 0; min-inline-size: 0; inline-size: 100%; }
292
+ .flood-root .flood-legend { padding: 0; margin-block-end: var(--flood-sys-space-3); font-size: var(--flood-sys-type-label-size); line-height: var(--flood-sys-type-label-line-height); font-weight: var(--flood-sys-type-label-weight); letter-spacing: var(--flood-sys-type-label-tracking); }
293
+ .flood-root .flood-fieldset__body { display: grid; gap: var(--flood-sys-space-3); min-inline-size: 0; }
294
+ .flood-root .flood-choice-group { display: flex; flex-direction: column; align-items: flex-start; gap: 0; min-inline-size: 0; }
295
+ .flood-root .flood-choice-group > .flood-choice { min-block-size: var(--flood-sys-control-sm-height); }
296
+ .flood-root .flood-choice-group[data-orientation="horizontal"] { flex-direction: row; flex-wrap: wrap; column-gap: var(--flood-sys-space-4); }
297
+ .flood-root .flood-fieldset__body:has(> .flood-choice-group) { gap: var(--flood-sys-space-1); }
298
+ .flood-root .flood-fieldset:has(> .flood-fieldset__body > .flood-choice-group) > .flood-legend { margin-block-end: var(--flood-sys-space-1); }
299
+ .flood-root .flood-fieldset:has(> .flood-fieldset__body > .flood-hint) > .flood-legend { margin-block-end: var(--flood-sys-space-1); }
300
+ .flood-root .flood-fieldset:disabled :is(.flood-legend, .flood-label) { color: var(--flood-sys-color-field-disabled-content); }
119
301
  .flood-root .flood-label { color: var(--flood-sys-color-content-helper); font-size: var(--flood-sys-type-label-size); line-height: var(--flood-sys-type-label-line-height); font-weight: var(--flood-sys-type-label-weight); letter-spacing: var(--flood-sys-type-label-tracking); }
120
302
  .flood-root :where(.flood-hint, .flood-error) { font-size: var(--flood-sys-type-helper-size); line-height: var(--flood-sys-type-helper-line-height); font-weight: var(--flood-sys-type-helper-weight); letter-spacing: var(--flood-sys-type-helper-tracking); }
121
303
  .flood-root .flood-hint { color: var(--flood-sys-color-content-helper); }
122
304
  .flood-root .flood-error { color: var(--flood-sys-color-content-helper); }
123
- .flood-root .flood-choice { gap: var(--flood-sys-space-2); min-block-size: var(--flood-sys-control-md-height); color: var(--flood-sys-color-content-default); font-size: var(--flood-sys-type-compact-size); line-height: var(--flood-sys-type-compact-line-height); letter-spacing: var(--flood-sys-type-compact-tracking); }
305
+ .flood-root .flood-choice { display: inline-flex; align-items: center; inline-size: fit-content; max-inline-size: 100%; gap: var(--flood-sys-space-2); min-block-size: var(--flood-sys-control-md-height); color: var(--flood-sys-color-content-default); font-size: var(--flood-sys-type-compact-size); line-height: var(--flood-sys-type-compact-line-height); letter-spacing: var(--flood-sys-type-compact-tracking); }
306
+ .flood-root .flood-choice > span { min-inline-size: 0; }
307
+ .flood-root .flood-switch { justify-content: flex-start; gap: var(--flood-sys-space-2); }
124
308
  .flood-root .flood-choice:has(input:disabled) { color: var(--flood-sys-color-field-disabled-content); }
125
- .flood-root .flood-check { inline-size: var(--flood-sys-size-choice); block-size: var(--flood-sys-size-choice); accent-color: var(--flood-sys-color-action-primary-rest); }
126
- .flood-root .flood-switch-input { inline-size: var(--flood-sys-size-switch-width); block-size: var(--flood-sys-size-switch-height); padding: calc((var(--flood-sys-size-switch-height) - var(--flood-sys-size-switch-thumb)) / 2 - var(--flood-sys-stroke-width)); border: var(--flood-sys-stroke-width) solid var(--flood-sys-color-field-boundary); border-radius: var(--flood-sys-radius-action); background: var(--flood-sys-color-action-subtle-hover); }
309
+ .flood-root .flood-check {
310
+ appearance: none;
311
+ display: inline-grid;
312
+ place-content: center;
313
+ box-sizing: border-box;
314
+ flex: 0 0 var(--flood-sys-size-choice);
315
+ inline-size: var(--flood-sys-size-choice);
316
+ min-inline-size: var(--flood-sys-size-choice);
317
+ max-inline-size: var(--flood-sys-size-choice);
318
+ block-size: var(--flood-sys-size-choice);
319
+ margin: 0;
320
+ padding: 0;
321
+ border: var(--flood-sys-stroke-width) solid var(--flood-sys-color-field-border);
322
+ border-radius: var(--flood-sys-radius-indicator);
323
+ background: var(--flood-sys-color-field-background);
324
+ color: var(--flood-sys-color-action-primary-content);
325
+ accent-color: var(--flood-sys-color-action-primary-rest);
326
+ }
327
+ .flood-root .flood-check:checked, .flood-root .flood-check:indeterminate { background: var(--flood-sys-color-action-primary-rest); border-color: var(--flood-sys-color-action-primary-rest); }
328
+ .flood-root .flood-check::before { content: ""; box-sizing: border-box; opacity: 0; }
329
+ .flood-root .flood-check[type="checkbox"]::before { inline-size: calc(var(--flood-sys-size-choice) * .3); block-size: calc(var(--flood-sys-size-choice) * .55); border-right: var(--flood-sys-focus-width) solid currentColor; border-bottom: var(--flood-sys-focus-width) solid currentColor; transform: translateY(-10%) rotate(45deg); }
330
+ .flood-root .flood-check:checked::before, .flood-root .flood-check:indeterminate::before { opacity: 1; }
331
+ .flood-root .flood-check[type="checkbox"]:indeterminate::before { inline-size: calc(var(--flood-sys-size-choice) * .55); block-size: 0; border: 0; border-block-end: var(--flood-sys-focus-width) solid currentColor; transform: none; }
332
+ .flood-root .flood-check[type="radio"] { border-radius: var(--flood-sys-radius-action); }
333
+ .flood-root .flood-check[type="radio"]::before { inline-size: calc(var(--flood-sys-size-choice) * .45); block-size: calc(var(--flood-sys-size-choice) * .45); border-radius: var(--flood-sys-radius-action); background: currentColor; }
334
+ .flood-root .flood-check:disabled { background: var(--flood-sys-color-field-disabled); border-color: var(--flood-sys-color-field-border); color: var(--flood-sys-color-field-disabled-content); opacity: 1; }
335
+ .flood-root .flood-switch-input { inline-size: var(--flood-sys-size-switch-width); block-size: var(--flood-sys-size-switch-height); padding: calc((var(--flood-sys-size-switch-height) - var(--flood-sys-size-switch-thumb)) / 2 - var(--flood-sys-stroke-width)); border: var(--flood-sys-stroke-width) solid var(--flood-sys-color-field-border); border-radius: var(--flood-sys-radius-action); background: var(--flood-sys-color-action-subtle-hover); }
127
336
  .flood-root .flood-switch-input::before { inline-size: var(--flood-sys-size-switch-thumb); block-size: var(--flood-sys-size-switch-thumb); border-radius: var(--flood-sys-radius-action); background: var(--flood-sys-color-content-default); transition: transform var(--flood-sys-motion-duration-fast) var(--flood-sys-motion-easing); }
128
337
  .flood-root .flood-switch-input:checked { background: var(--flood-sys-color-action-primary-rest); border-color: var(--flood-sys-color-action-primary-rest); }
129
338
  .flood-root .flood-switch-input:checked::before { transform: translateX(calc(var(--flood-sys-size-switch-width) - var(--flood-sys-size-switch-height))); background: var(--flood-sys-color-action-primary-content); }
@@ -131,10 +340,14 @@
131
340
  .flood-root .flood-switch-input:disabled { opacity: 1; border-color: var(--flood-sys-color-field-border); background: var(--flood-sys-color-field-disabled); }
132
341
  .flood-root .flood-switch-input:disabled::before { background: var(--flood-sys-color-field-disabled-content); }
133
342
  .flood-root .flood-link { font-size: inherit; color: var(--flood-sys-color-content-default); text-underline-offset: var(--flood-sys-space-1); }
343
+ .flood-root .flood-link--button { font-size: var(--flood-control-text); color: var(--flood-action-content); text-decoration: none; }
344
+ .flood-root .flood-link--button[aria-current="page"] { background: var(--flood-sys-color-selection-background); color: var(--flood-sys-color-selection-content); }
134
345
  .flood-root :where(.flood-button, .flood-check, .flood-switch-input, .flood-link):focus-visible { outline: var(--flood-sys-focus-width) solid var(--flood-sys-color-focus-ring); outline-offset: var(--flood-sys-focus-offset); }
135
346
  .flood-root .flood-spinner { inline-size: var(--flood-control-icon); block-size: var(--flood-control-icon); border-width: var(--flood-sys-focus-width); }
136
347
  @media (pointer: coarse) {
348
+ .flood-root .flood-select__option { min-block-size: max(var(--flood-sys-control-md-height), var(--flood-sys-size-touch)); }
137
349
  .flood-root .flood-button, .flood-root .flood-choice, .flood-root .flood-input { min-block-size: max(var(--flood-control-height, var(--flood-sys-control-md-height)), var(--flood-sys-size-touch)); }
350
+ .flood-root .flood-choice-group > .flood-choice { min-block-size: max(var(--flood-sys-control-sm-height), var(--flood-sys-size-touch)); }
138
351
  .flood-root .flood-icon-button { min-inline-size: var(--flood-sys-size-touch); }
139
352
  .flood-root .flood-input { font-size: max(var(--flood-control-text), var(--flood-sys-type-body-size)); }
140
353
  }
@@ -142,15 +355,39 @@
142
355
  .flood-root .flood-button, .flood-root .flood-switch-input::before, .flood-root .flood-spinner { transition-duration: var(--flood-sys-motion-duration-reduced); animation: none; }
143
356
  }
144
357
  @media (forced-colors: active) {
358
+ .flood-scroll-area__viewport[data-scrollbars="overlay"] { scrollbar-width: auto; }
359
+ .flood-scroll-area__viewport[data-scrollbars="overlay"]::-webkit-scrollbar { display: initial; width: auto; height: auto; }
360
+ .flood-scroll-area__track { display: none; }
361
+ .flood-scroll-area__content { padding-inline-end: 0; padding-block-end: 0; }
362
+ .flood-root .flood-scroll-area__viewport:focus-visible { outline-color: Highlight; }
145
363
  .flood-root .flood-button { border-color: ButtonText; }
146
364
  .flood-root .flood-input { border-color: CanvasText; }
147
365
  .flood-root .flood-input:focus-visible { border-color: Highlight; }
148
366
  .flood-root :where(.flood-button, .flood-check, .flood-switch-input, .flood-link):focus-visible { outline-color: Highlight; }
149
367
  .flood-root .flood-switch-input { appearance: auto; }
150
368
  .flood-root .flood-switch-input::before { display: none; }
369
+ .flood-root .flood-check { appearance: auto; background: Canvas; border-color: CanvasText; color: CanvasText; }
370
+ .flood-root .flood-check::before { display: none; }
371
+ .flood-root .flood-select__control { appearance: auto; }
372
+ .flood-root .flood-select::after { display: none; }
373
+ .flood-root .flood-select__menu { background: Canvas; color: CanvasText; border-color: CanvasText; }
374
+ .flood-root .flood-select__option[data-active="true"] { background: Highlight; color: HighlightText; }
375
+ .flood-root .flood-select--custom .flood-select__control::after { border-color: ButtonText; }
151
376
  }
152
377
 
153
378
  /* Role recipes keep every value in the authored token source. */
379
+ .flood-root .flood-type--lead {
380
+ --flood-type-size: var(--flood-sys-type-lead-size);
381
+ --flood-type-line: var(--flood-sys-type-lead-line-height);
382
+ --flood-type-tracking: var(--flood-sys-type-lead-tracking);
383
+ --flood-type-weight: var(--flood-sys-type-lead-weight);
384
+ }
385
+ .flood-root .flood-type--display {
386
+ --flood-type-size: var(--flood-sys-type-display-size);
387
+ --flood-type-line: var(--flood-sys-type-display-line-height);
388
+ --flood-type-tracking: var(--flood-sys-type-display-tracking);
389
+ --flood-type-weight: var(--flood-sys-type-display-weight);
390
+ }
154
391
  .flood-root .flood-type--large {
155
392
  --flood-type-size: var(--flood-sys-type-large-size);
156
393
  --flood-type-line: var(--flood-sys-type-large-line-height);
@@ -294,3 +531,69 @@
294
531
  --flood-action-disabled: var(--flood-sys-color-action-ghost-disabled);
295
532
  --flood-action-disabled-content: var(--flood-sys-color-action-ghost-disabled-content);
296
533
  }
534
+
535
+ /* Connected constructs retain native focus and forms; hosts own their actions. */
536
+ .flood-root .flood-button-group { display: inline-flex; align-items: stretch; max-inline-size: 100%; min-inline-size: 0; isolation: isolate; }
537
+ .flood-root .flood-button-group > .flood-button { position: relative; border-radius: 0; min-inline-size: 0; flex-shrink: 1; }
538
+ .flood-root .flood-button-group > .flood-icon-button { min-inline-size: var(--flood-control-height); }
539
+ @media (pointer: coarse) { .flood-root .flood-button-group > .flood-icon-button { min-inline-size: max(var(--flood-control-height), var(--flood-sys-size-touch)); } }
540
+ .flood-root .flood-button-group > .flood-button:focus-visible { z-index: 1; }
541
+ .flood-root .flood-toggle[aria-pressed="true"]:not(:disabled) { background: var(--flood-sys-color-selection-background); color: var(--flood-sys-color-selection-content); }
542
+ .flood-root .flood-toggle-group { inline-size: max-content; max-inline-size: none; }
543
+ .flood-root .flood-toggle-group > .flood-toggle { flex-shrink: 0; white-space: nowrap; }
544
+ @media (forced-colors: active) { .flood-root .flood-toggle[aria-pressed="true"]:not(:disabled) { background: Highlight; color: HighlightText; } }
545
+ .flood-root .flood-button-group[data-orientation="horizontal"] > .flood-button:not([hidden]):not(:nth-last-child(1 of .flood-button:not([hidden]))) { border-inline-end-width: 0; }
546
+ .flood-root .flood-button-group[data-orientation="horizontal"] > .flood-button:not([hidden]) ~ .flood-button:not([hidden]) { border-inline-start-color: var(--flood-sys-color-field-border); }
547
+ .flood-root .flood-button-group[data-orientation="horizontal"] > .flood-button:nth-child(1 of .flood-button:not([hidden])) { border-start-start-radius: var(--flood-sys-radius-field); border-end-start-radius: var(--flood-sys-radius-field); }
548
+ .flood-root .flood-button-group[data-orientation="horizontal"] > .flood-button:nth-last-child(1 of .flood-button:not([hidden])) { border-start-end-radius: var(--flood-sys-radius-field); border-end-end-radius: var(--flood-sys-radius-field); }
549
+ .flood-root .flood-button-group[data-orientation="vertical"] { flex-direction: column; }
550
+ .flood-root .flood-button-group[data-orientation="vertical"] > .flood-button { inline-size: 100%; }
551
+ .flood-root .flood-button-group[data-orientation="vertical"] > .flood-button:not([hidden]):not(:nth-last-child(1 of .flood-button:not([hidden]))) { border-block-end-width: 0; }
552
+ .flood-root .flood-button-group[data-orientation="vertical"] > .flood-button:not([hidden]) ~ .flood-button:not([hidden]) { border-block-start-color: var(--flood-sys-color-field-border); }
553
+ .flood-root .flood-button-group[data-orientation="vertical"] > .flood-button:nth-child(1 of .flood-button:not([hidden])) { border-start-start-radius: var(--flood-sys-radius-field); border-start-end-radius: var(--flood-sys-radius-field); }
554
+ .flood-root .flood-button-group[data-orientation="vertical"] > .flood-button:nth-last-child(1 of .flood-button:not([hidden])) { border-end-start-radius: var(--flood-sys-radius-field); border-end-end-radius: var(--flood-sys-radius-field); }
555
+ .flood-root .flood-input-group { --flood-group-stroke: var(--flood-sys-stroke-width); --flood-group-height: var(--flood-control-height); --flood-group-inset: max(var(--flood-sys-space-1), var(--flood-sys-focus-width)); box-sizing: border-box; display: flex; align-items: center; gap: var(--flood-control-gap); min-inline-size: 0; inline-size: 100%; min-block-size: var(--flood-group-height); padding-inline: calc(var(--flood-control-padding) - var(--flood-group-stroke)); padding-block: calc(var(--flood-group-inset) - var(--flood-group-stroke)); border: var(--flood-group-stroke) solid var(--flood-sys-color-field-border); border-radius: var(--flood-sys-radius-field); background: var(--flood-sys-color-field-background); color: var(--flood-sys-color-field-content); }
556
+ .flood-root .flood-input-group[data-status] { border-color: var(--flood-field-feedback); }
557
+ .flood-root .flood-input-group[data-readonly="true"] { background: var(--flood-sys-color-surface-canvas); border-style: dashed; }
558
+ .flood-root .flood-input-group[data-disabled="true"] { background: var(--flood-sys-color-field-disabled); border-color: var(--flood-sys-color-field-border); color: var(--flood-sys-color-field-disabled-content); }
559
+ .flood-root .flood-input-group:has(> .flood-input:focus-visible) { --flood-group-stroke: var(--flood-sys-focus-width); border-color: var(--flood-sys-color-focus-ring); border-style: solid; }
560
+ .flood-root .flood-input-group > .flood-input { flex: 1 1 0; align-self: stretch; inline-size: 0; min-inline-size: 0; min-block-size: calc(var(--flood-group-height) - 2 * var(--flood-group-inset)); border: 0; border-radius: 0; background: transparent; padding-inline: 0; padding-block: max(0px, calc((var(--flood-control-height) - var(--flood-control-text) * var(--flood-control-line)) / 2 - var(--flood-group-inset))); }
561
+ .flood-root .flood-input-group > .flood-input:focus-visible { outline: none; border: 0; padding-inline: 0; }
562
+ .flood-root .flood-input-group__addon { color: var(--flood-sys-color-content-subtle); display: flex; align-items: center; flex: 0 1 auto; min-inline-size: 0; max-inline-size: 40%; overflow-wrap: anywhere; font-size: var(--flood-control-text); line-height: var(--flood-control-line); }
563
+ /* Text edges retain reading padding; nested actions use the same optical inset on every edge. */
564
+ .flood-root .flood-input-group:has(> .flood-input-group__addon--start > .flood-button) { padding-inline-start: calc(var(--flood-group-inset) - var(--flood-group-stroke)); }
565
+ .flood-root .flood-input-group:has(> .flood-input-group__addon--end > .flood-button) { padding-inline-end: calc(var(--flood-group-inset) - var(--flood-group-stroke)); }
566
+ .flood-root .flood-input-group__addon > .flood-button { --flood-control-height: calc(var(--flood-group-height) - 2 * var(--flood-group-inset)); border-radius: max(0px, calc(var(--flood-sys-radius-field) - var(--flood-group-inset))); }
567
+ @media (pointer: coarse) { .flood-root .flood-input-group { --flood-group-height: max(var(--flood-control-height), calc(var(--flood-sys-size-touch) + 2 * var(--flood-group-inset))); } }
568
+ @media (forced-colors: active) {
569
+ .flood-root .flood-input-group { border-color: CanvasText; background: Canvas; color: CanvasText; }
570
+ .flood-root .flood-input-group:has(> .flood-input:focus-visible) { border-color: Highlight; }
571
+ .flood-root .flood-input-group > .flood-input { border: 0; }
572
+ }
573
+
574
+ .flood-root :is(.flood-button, .flood-input, .flood-button-group, .flood-input-group)[hidden] { display: none; }
575
+
576
+ .flood-root .flood-input-group[data-disabled="true"] > .flood-input-group__addon { color: var(--flood-sys-color-field-disabled-content); }
577
+
578
+ /* The shell and selected segment share concentric geometry; native radios own state. */
579
+ .flood-root .flood-segmented { inline-size: fit-content; max-inline-size: 100%; }
580
+ .flood-root .flood-segmented .flood-choice-group { box-sizing: border-box; inline-size: max-content; flex-wrap: nowrap; align-items: stretch; gap: var(--flood-sys-space-1); padding: calc(var(--flood-sys-space-1) - var(--flood-sys-stroke-width)); border: var(--flood-sys-stroke-width) solid var(--flood-sys-color-field-border); border-radius: var(--flood-sys-radius-field); background: var(--flood-sys-color-surface-default); }
581
+ .flood-root .flood-segmented--full { inline-size: 100%; }
582
+ .flood-root .flood-segmented--full .flood-choice-group { inline-size: 100%; }
583
+ .flood-root .flood-segmented .flood-choice { position: relative; box-sizing: border-box; flex: 1 0 auto; justify-content: center; max-inline-size: none; min-block-size: calc(var(--flood-control-height) - 2 * var(--flood-sys-space-1)); padding-block: max(0px, calc((var(--flood-control-height) - 2 * var(--flood-sys-space-1) - var(--flood-control-text) * var(--flood-control-line)) / 2)); padding-inline: var(--flood-sys-space-3); border-radius: max(0px, calc(var(--flood-sys-radius-field) - var(--flood-sys-space-1))); color: var(--flood-sys-color-content-subtle); font-size: var(--flood-control-text); line-height: var(--flood-control-line); font-weight: var(--flood-sys-type-control-weight); letter-spacing: var(--flood-sys-type-control-tracking); cursor: pointer; }
584
+ .flood-root .flood-segmented--full .flood-choice { flex: 1 1 0; min-inline-size: 0; }
585
+ .flood-root .flood-segmented .flood-choice-group[data-orientation="vertical"] > .flood-choice { inline-size: 100%; }
586
+ .flood-root .flood-segmented--icons .flood-choice { padding-inline: var(--flood-sys-space-1); min-inline-size: calc(var(--flood-control-height) - 2 * var(--flood-sys-space-1)); }
587
+ .flood-root .flood-segmented .flood-choice > span { display: inline-flex; align-items: center; justify-content: center; gap: var(--flood-control-gap); }
588
+ .flood-root .flood-segmented .flood-choice > .flood-check { position: absolute; inset: 0; inline-size: 100%; min-inline-size: 0; max-inline-size: none; block-size: 100%; margin: 0; border: 0; opacity: 0; cursor: inherit; }
589
+ .flood-root .flood-segmented .flood-choice > .flood-check::before { display: none; }
590
+ .flood-root .flood-segmented .flood-choice:has(input:checked) { background: var(--flood-sys-color-selection-background); color: var(--flood-sys-color-selection-content); }
591
+ .flood-root .flood-segmented .flood-choice:has(input:focus-visible) { outline: var(--flood-sys-focus-width) solid var(--flood-sys-color-focus-ring); outline-offset: 0; }
592
+ .flood-root .flood-segmented .flood-choice:has(input:disabled) { color: var(--flood-sys-color-field-disabled-content); cursor: default; }
593
+ .flood-root .flood-segmented__name { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
594
+ @media (pointer: coarse) { .flood-root .flood-segmented .flood-choice { min-block-size: max(calc(var(--flood-control-height) - 2 * var(--flood-sys-space-1)), var(--flood-sys-size-touch)); min-inline-size: var(--flood-sys-size-touch); } }
595
+ @media (forced-colors: active) {
596
+ .flood-root .flood-segmented .flood-choice-group { border-color: CanvasText; }
597
+ .flood-root .flood-segmented .flood-choice:has(input:checked) { forced-color-adjust: none; background: Highlight; color: HighlightText; }
598
+ .flood-root .flood-segmented .flood-choice:has(input:focus-visible) { outline-color: Highlight; }
599
+ }