baseline-foundry 0.1.3 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/README.md +568 -552
  2. package/config/experiments/ibm-plex-engine-smoke.json +115 -115
  3. package/config/experiments/ubuntu-engine-smoke.json +115 -115
  4. package/config/foundation-theme.json +110 -110
  5. package/config/tiers/app.json +116 -116
  6. package/config/tiers/documentation.json +116 -116
  7. package/config/tiers/editorial.json +116 -116
  8. package/config/tiers/os.json +116 -116
  9. package/dist/baseline-grid-overlay.js +43 -43
  10. package/dist/css-app-tier.js +73 -73
  11. package/dist/css-components/article-pagination.js +140 -140
  12. package/dist/css-components/button-actions.js +161 -161
  13. package/dist/css-components/cards-options.js +176 -176
  14. package/dist/css-components/chip-badge-status.js +158 -158
  15. package/dist/css-components/content-card.js +490 -490
  16. package/dist/css-components/control-row.js +14 -14
  17. package/dist/css-components/cta-figure-aspect.js +120 -120
  18. package/dist/css-components/document-navigation.js +390 -390
  19. package/dist/css-components/editorial-content.js +42 -42
  20. package/dist/css-components/icon.js +72 -72
  21. package/dist/css-components/interactive-feedback.js +217 -217
  22. package/dist/css-components/interactive-tables.js +155 -155
  23. package/dist/css-components/legacy-navigation.d.ts +9 -0
  24. package/dist/css-components/legacy-navigation.js +763 -0
  25. package/dist/css-components/linked-logo-site-layout.js +177 -177
  26. package/dist/css-components/list-tree.js +94 -94
  27. package/dist/css-components/logo-media.js +201 -201
  28. package/dist/css-components/navigation-layout.js +144 -144
  29. package/dist/css-components/panel.js +144 -144
  30. package/dist/css-components/search-box-and-filter.js +263 -263
  31. package/dist/css-components/sites-editorial-ports.js +243 -243
  32. package/dist/css-components/sites-foundation.js +146 -146
  33. package/dist/css-components/sites-rich-lists.js +344 -344
  34. package/dist/css-components/static-content-ports.js +182 -182
  35. package/dist/css-components/tab-section.js +82 -82
  36. package/dist/css-components/table.js +75 -75
  37. package/dist/css-components/tabs-choice-breadcrumbs.js +303 -303
  38. package/dist/css-components/tiered-list-equal-height-row.js +271 -271
  39. package/dist/css-components.js +1791 -2542
  40. package/dist/css-grid.js +172 -172
  41. package/dist/css.js +240 -240
  42. package/docs/publishing.md +30 -13
  43. package/package.json +119 -108
@@ -12,6 +12,7 @@ import { interactiveFeedbackCss } from "./css-components/interactive-feedback.js
12
12
  import { interactiveTablesCss } from "./css-components/interactive-tables.js";
13
13
  import { listCss } from "./css-components/list.js";
14
14
  import { listTreeCss } from "./css-components/list-tree.js";
15
+ import { legacyNavigationCss } from "./css-components/legacy-navigation.js";
15
16
  import { linkedLogoSiteLayoutCss } from "./css-components/linked-logo-site-layout.js";
16
17
  import { logoMediaCss } from "./css-components/logo-media.js";
17
18
  import { navigationLayoutCss } from "./css-components/navigation-layout.js";
@@ -105,112 +106,112 @@ export function componentsCss(tokens, themeSurfaces) {
105
106
  const bodyTypeStyles = typeStyles(body, { includeCase: false });
106
107
  const h6TypeStyles = typeStyles(h6, { includeCase: false });
107
108
  const buttonPadding = controlPadding(buttonBlockPaddingVar);
108
- return `:where(.bf-theme) {
109
- ${componentAlignmentVars(components)} /* Action surfaces keep comfortable command targets; field surfaces can tighten independently. */
110
- --bf-disclosure-gap: 1rem;
111
- --bf-disclosure-icon-inline-size: 1rem;
112
- --bf-input-block-padding: ${bodySelectedStartNudge};
113
- --bf-button-block-padding: ${bodySelectedStartNudge};
114
- --bf-slider-track-size: calc(var(--bf-baseline) * 0.25);
115
- --bf-slider-row-block-size: max(var(--bf-control-box-size-compact), calc(${bodySelectedStartNudge} + ${bodyLineHeight} + ${bodySelectedEndNudge}));
116
- --bf-slider-track-offset: ${alignedVisualStart(bodyLineHeight, "var(--bf-slider-track-size)", bodySelectedStartNudge)};
117
- --bf-table-row-border-size: var(--bf-border-width);
118
- --bf-table-row-padding: ${bodySelectedStartNudge};
119
- --bf-table-row-content-size: calc(${bodyLineHeight} + (var(--bf-table-row-padding) * 2) + var(--bf-table-row-border-size));
120
- --bf-table-row-block-size: calc(var(--bf-table-row-content-size) + mod(calc(var(--bf-baseline) - mod(var(--bf-table-row-content-size), var(--bf-baseline))), var(--bf-baseline)));
121
- --bf-table-row-line-height: calc(var(--bf-table-row-block-size) - (var(--bf-table-row-padding) * 2) - var(--bf-table-row-border-size));
122
- --bf-switch-row-block-size: calc(${bodySelectedStartNudge} + ${bodyLineHeight} + ${bodySelectedEndNudge});
123
- --bf-switch-track-offset: ${alignedVisualStart(bodyLineHeight, "var(--bf-control-visual-size)", bodySelectedStartNudge)};
124
- --bf-tick-row-block-size: max(var(--bf-control-box-size-compact), calc(${bodySelectedStartNudge} + ${bodyLineHeight} + ${bodySelectedEndNudge}));
125
- --bf-tick-box-offset: ${alignedVisualStart(bodyLineHeight, "var(--bf-control-visual-size)", bodySelectedStartNudge)};
126
- --bf-tick-label-offset: calc(var(--bf-control-visual-size) + var(--bf-control-inline-padding-field));
127
- --bf-radio-dot-size: calc(var(--bf-control-visual-size) * 0.375);
128
- --bf-app-drawer-width-icon: 2rem;
129
- --bf-app-drawer-width-small: 15rem;
130
- --bf-app-drawer-width-small-max: 20rem;
131
- --bf-app-drawer-width-medium: 29.0625rem;
132
- --bf-app-drawer-width-medium-max: 40rem;
133
- --bf-app-drawer-width-large: min(100vw, max(40rem, 50vw));
134
- --bf-app-aside-width: var(--bf-app-drawer-width-medium);
135
- --bf-app-aside-width-min: var(--bf-app-drawer-width-small);
136
- --bf-app-aside-width-max: var(--bf-app-drawer-width-medium-max);
137
- --bf-app-navigation-width: 15rem;
138
- --bf-app-navigation-width-collapsed: 3rem;
139
- --bf-side-navigation-icon-optical-offset-block: 0.1875rem;
140
- --bf-side-navigation-icon-gap: 0.625rem;
141
- --bf-navigation-bar-min-block-size: calc(var(--bf-baseline) * 6);
142
- --bf-authoring-accent: #f6b73c;
143
- --bf-authoring-accent-hover: #e0a030;
144
- --bf-authoring-accent-line: rgba(246, 183, 60, 0.9);
145
- --bf-authoring-accent-strong: rgba(246, 183, 60, 0.95);
146
- --bf-authoring-accent-outline: rgba(246, 183, 60, 0.4);
147
- --bf-authoring-accent-outline-strong: rgba(246, 183, 60, 0.8);
148
- --bf-authoring-accent-shadow: rgba(246, 183, 60, 0.22);
149
- --bf-authoring-accent-focus-ring: rgba(246, 183, 60, 0.55);
150
- --bf-application-resize-handle-active: var(--bf-authoring-accent-strong);
151
- --bf-application-resize-handle-focus-ring: var(--bf-authoring-accent-focus-ring);
152
- --bf-top-navigation-link-padding-inline: var(--bf-control-inline-padding-action);
153
- --bf-top-navigation-end-slot-inline-size: calc(1rem + var(--bf-control-inline-padding-field));
154
- --bf-top-navigation-search-toggle-inline-size: calc(1rem + (var(--bf-control-inline-padding-field) * 2));
155
- --bf-top-navigation-link-padding-block: max(var(--bf-body-nudge-start), calc(var(--bf-baseline) * 1.5));
156
- --bf-top-navigation-search-max-inline-size: 20rem;
157
- --bf-top-navigation-logo-tag-inline-size: 1.375rem;
158
- --bf-top-navigation-logo-tag-block-size: 2.375rem;
159
- --bf-top-navigation-logo-icon-size: 1rem;
160
- --bf-top-navigation-logo-tag-gap: 0.25rem;
161
- --bf-top-navigation-logo-icon-bottom-offset: 0.375rem;
162
- --bf-top-navigation-logo-icon-optical-offset-inline: -0.0125rem;
163
- --bf-navigation-brand-title-optical-offset-block: 0rem;
164
- --bf-icon-size-default: 1rem;
165
- --bf-icon-size-medium: 2.5rem;
166
- --bf-icon-size-large: 4rem;
167
- --bf-icon-size-x-large: 4.5rem;
168
- --bf-icon-size-xx-large: 6rem;
169
- --bf-leading-icon-size: calc(var(--bf-baseline) * 2);
170
- --bf-leading-icon-gap: calc(var(--bf-baseline) * 1);
171
- --bf-leading-icon-offset: ${alignedVisualStart(bodyLineHeight, "var(--bf-leading-icon-size)", bodySelectedStartNudge)};
172
- --bf-ui-chip-padding-inline: calc(${bodyLineHeight} * 0.4);
173
- --bf-ui-chip-padding-block: max(0rem, calc((var(--bf-control-inline-padding-action) * 0.25) - var(--bf-border-width)));
174
- --bf-ui-chip-block-size: calc(${bodyLineHeight} + (var(--bf-ui-chip-padding-block) * 2) + (var(--bf-border-width) * 2));
175
- --bf-ui-badge-padding-inline: calc(${bodyLineHeight} * 0.25);
176
- --bf-ui-badge-overhang: calc(var(--bf-ui-badge-padding-inline) * -0.75);
177
- --bf-grid-max-inline-size: var(--bf-content-max-width);
178
- --bf-application-drawer-width-icon: var(--bf-app-drawer-width-icon);
179
- --bf-application-drawer-width-small: var(--bf-app-drawer-width-small);
180
- --bf-application-drawer-width-small-max: var(--bf-app-drawer-width-small-max);
181
- --bf-application-drawer-width-medium: var(--bf-app-drawer-width-medium);
182
- --bf-application-drawer-width-medium-max: var(--bf-app-drawer-width-medium-max);
183
- --bf-application-drawer-width-large: var(--bf-app-drawer-width-large);
184
- --bf-application-aside-width: var(--bf-app-aside-width);
185
- --bf-application-aside-width-min: var(--bf-app-aside-width-min);
186
- --bf-application-aside-width-max: var(--bf-app-aside-width-max);
187
- --bf-application-navigation-width: var(--bf-app-navigation-width);
188
- --bf-application-navigation-width-collapsed: var(--bf-app-navigation-width-collapsed);
189
- ${foundryComponentColorVars("light")}
190
- --bf-ui-icon-chevron-down: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.25 6.25 8 10l3.75-3.75'/%3E%3C/svg%3E");
191
- --bf-ui-icon-close: url("data:image/svg+xml,%3Csvg width='16' height='16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.25 4.25 11.75 11.75M11.75 4.25 4.25 11.75' fill='none' stroke='%23111' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
192
- --bf-ui-icon-error-grey: url("data:image/svg+xml,%3Csvg width='16' height='16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 1.52588e-05C12.4183 1.52588e-05 16 3.58174 16 8.00002C16 12.4183 12.4183 16 8 16C3.58172 16 0 12.4183 0 8.00002C0 3.58174 3.58172 1.52588e-05 8 1.52588e-05ZM10.2821 4.63808L11.3427 5.69874L9.05007 7.99008L11.3427 10.2821L10.2821 11.3427L7.99007 9.05008L5.69873 11.3427L4.63807 10.2821L6.92907 7.99008L4.63807 5.69874L5.69873 4.63808L7.99007 6.92908L10.2821 4.63808ZM1.5 8.00002C1.5 4.41016 4.41015 1.50002 8 1.50002C11.5899 1.50002 14.5 4.41016 14.5 8.00002C14.5 11.5899 11.5899 14.5 8 14.5C4.41015 14.5 1.5 11.5899 1.5 8.00002Z' fill='%23111' fill-rule='evenodd'/%3E%3C/svg%3E");
193
- --bf-ui-icon-search: url("data:image/svg+xml,%3Csvg width='16' height='16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.964 1a5.964 5.964 0 014.709 9.623l4.303 4.305-1.06 1.06-4.306-4.305A5.964 5.964 0 116.963 1zm0 1.5a4.464 4.464 0 100 8.927 4.464 4.464 0 000-8.927z' fill='%23111' fill-rule='nonzero'/%3E%3C/svg%3E");
194
- --bf-ui-icon-success-grey: url("data:image/svg+xml,%3Csvg width='16' height='16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 0a8 8 0 110 16A8 8 0 018 0zm0 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zm2.814 2.45l1.203.897-5.537 7.43-3.485-3.694 1.09-1.03 2.259 2.394 4.47-5.997z' fill='%23111' fill-rule='nonzero'/%3E%3C/svg%3E");
195
- color: var(--bf-color-text-default);
196
- }
197
-
198
- /* DEMO ONLY — Cap-derived component nudges are unreliable (ascender ≠ cap height). */
199
- :where(.bf-theme.bf-engine-cap) {
200
- --bf-body-nudge-start: calc(var(--bf-baseline) - mod(calc((${bodyLineHeight} + 1cap) / 2), var(--bf-baseline)));
201
- --bf-body-nudge-end: calc(var(--bf-baseline) - var(--bf-body-nudge-start));
202
- --bf-h4-nudge-start: calc(var(--bf-baseline) - mod(calc((${h4LineHeight} + 1cap) / 2), var(--bf-baseline)));
203
- --bf-h4-nudge-end: calc(var(--bf-baseline) - var(--bf-h4-nudge-start));
204
- --bf-h5-nudge-start: calc(var(--bf-baseline) - mod(calc((${h5LineHeight} + 1cap) / 2), var(--bf-baseline)));
205
- --bf-h5-nudge-end: calc(var(--bf-baseline) - var(--bf-h5-nudge-start));
206
- --bf-h6-nudge-start: calc(var(--bf-baseline) - mod(calc((${h6LineHeight} + 1cap) / 2), var(--bf-baseline)));
207
- --bf-h6-nudge-end: calc(var(--bf-baseline) - var(--bf-h6-nudge-start));
208
- }
209
-
210
- :where(.bf-theme.bf-engine-cap) :where(.bf-input, input[type='text'], input[type='number'], input[type='search'], input[type='password'], input[type='email'], input[type='url'], textarea, select) {
211
- margin-bottom: ${inputMarginBottom};
212
- }
213
-
109
+ return `:where(.bf-theme) {
110
+ ${componentAlignmentVars(components)} /* Action surfaces keep comfortable command targets; field surfaces can tighten independently. */
111
+ --bf-disclosure-gap: 1rem;
112
+ --bf-disclosure-icon-inline-size: 1rem;
113
+ --bf-input-block-padding: ${bodySelectedStartNudge};
114
+ --bf-button-block-padding: ${bodySelectedStartNudge};
115
+ --bf-slider-track-size: calc(var(--bf-baseline) * 0.25);
116
+ --bf-slider-row-block-size: max(var(--bf-control-box-size-compact), calc(${bodySelectedStartNudge} + ${bodyLineHeight} + ${bodySelectedEndNudge}));
117
+ --bf-slider-track-offset: ${alignedVisualStart(bodyLineHeight, "var(--bf-slider-track-size)", bodySelectedStartNudge)};
118
+ --bf-table-row-border-size: var(--bf-border-width);
119
+ --bf-table-row-padding: ${bodySelectedStartNudge};
120
+ --bf-table-row-content-size: calc(${bodyLineHeight} + (var(--bf-table-row-padding) * 2) + var(--bf-table-row-border-size));
121
+ --bf-table-row-block-size: calc(var(--bf-table-row-content-size) + mod(calc(var(--bf-baseline) - mod(var(--bf-table-row-content-size), var(--bf-baseline))), var(--bf-baseline)));
122
+ --bf-table-row-line-height: calc(var(--bf-table-row-block-size) - (var(--bf-table-row-padding) * 2) - var(--bf-table-row-border-size));
123
+ --bf-switch-row-block-size: calc(${bodySelectedStartNudge} + ${bodyLineHeight} + ${bodySelectedEndNudge});
124
+ --bf-switch-track-offset: ${alignedVisualStart(bodyLineHeight, "var(--bf-control-visual-size)", bodySelectedStartNudge)};
125
+ --bf-tick-row-block-size: max(var(--bf-control-box-size-compact), calc(${bodySelectedStartNudge} + ${bodyLineHeight} + ${bodySelectedEndNudge}));
126
+ --bf-tick-box-offset: ${alignedVisualStart(bodyLineHeight, "var(--bf-control-visual-size)", bodySelectedStartNudge)};
127
+ --bf-tick-label-offset: calc(var(--bf-control-visual-size) + var(--bf-control-inline-padding-field));
128
+ --bf-radio-dot-size: calc(var(--bf-control-visual-size) * 0.375);
129
+ --bf-app-drawer-width-icon: 2rem;
130
+ --bf-app-drawer-width-small: 15rem;
131
+ --bf-app-drawer-width-small-max: 20rem;
132
+ --bf-app-drawer-width-medium: 29.0625rem;
133
+ --bf-app-drawer-width-medium-max: 40rem;
134
+ --bf-app-drawer-width-large: min(100vw, max(40rem, 50vw));
135
+ --bf-app-aside-width: var(--bf-app-drawer-width-medium);
136
+ --bf-app-aside-width-min: var(--bf-app-drawer-width-small);
137
+ --bf-app-aside-width-max: var(--bf-app-drawer-width-medium-max);
138
+ --bf-app-navigation-width: 15rem;
139
+ --bf-app-navigation-width-collapsed: 3rem;
140
+ --bf-side-navigation-icon-optical-offset-block: 0.1875rem;
141
+ --bf-side-navigation-icon-gap: 0.625rem;
142
+ --bf-navigation-bar-min-block-size: calc(var(--bf-baseline) * 6);
143
+ --bf-authoring-accent: #f6b73c;
144
+ --bf-authoring-accent-hover: #e0a030;
145
+ --bf-authoring-accent-line: rgba(246, 183, 60, 0.9);
146
+ --bf-authoring-accent-strong: rgba(246, 183, 60, 0.95);
147
+ --bf-authoring-accent-outline: rgba(246, 183, 60, 0.4);
148
+ --bf-authoring-accent-outline-strong: rgba(246, 183, 60, 0.8);
149
+ --bf-authoring-accent-shadow: rgba(246, 183, 60, 0.22);
150
+ --bf-authoring-accent-focus-ring: rgba(246, 183, 60, 0.55);
151
+ --bf-application-resize-handle-active: var(--bf-authoring-accent-strong);
152
+ --bf-application-resize-handle-focus-ring: var(--bf-authoring-accent-focus-ring);
153
+ --bf-top-navigation-link-padding-inline: var(--bf-control-inline-padding-action);
154
+ --bf-top-navigation-end-slot-inline-size: calc(1rem + var(--bf-control-inline-padding-field));
155
+ --bf-top-navigation-search-toggle-inline-size: calc(1rem + (var(--bf-control-inline-padding-field) * 2));
156
+ --bf-top-navigation-link-padding-block: max(var(--bf-body-nudge-start), calc(var(--bf-baseline) * 1.5));
157
+ --bf-top-navigation-search-max-inline-size: 20rem;
158
+ --bf-top-navigation-logo-tag-inline-size: 1.375rem;
159
+ --bf-top-navigation-logo-tag-block-size: 2.375rem;
160
+ --bf-top-navigation-logo-icon-size: 1rem;
161
+ --bf-top-navigation-logo-tag-gap: 0.25rem;
162
+ --bf-top-navigation-logo-icon-bottom-offset: 0.375rem;
163
+ --bf-top-navigation-logo-icon-optical-offset-inline: -0.0125rem;
164
+ --bf-navigation-brand-title-optical-offset-block: 0rem;
165
+ --bf-icon-size-default: 1rem;
166
+ --bf-icon-size-medium: 2.5rem;
167
+ --bf-icon-size-large: 4rem;
168
+ --bf-icon-size-x-large: 4.5rem;
169
+ --bf-icon-size-xx-large: 6rem;
170
+ --bf-leading-icon-size: calc(var(--bf-baseline) * 2);
171
+ --bf-leading-icon-gap: calc(var(--bf-baseline) * 1);
172
+ --bf-leading-icon-offset: ${alignedVisualStart(bodyLineHeight, "var(--bf-leading-icon-size)", bodySelectedStartNudge)};
173
+ --bf-ui-chip-padding-inline: calc(${bodyLineHeight} * 0.4);
174
+ --bf-ui-chip-padding-block: max(0rem, calc((var(--bf-control-inline-padding-action) * 0.25) - var(--bf-border-width)));
175
+ --bf-ui-chip-block-size: calc(${bodyLineHeight} + (var(--bf-ui-chip-padding-block) * 2) + (var(--bf-border-width) * 2));
176
+ --bf-ui-badge-padding-inline: calc(${bodyLineHeight} * 0.25);
177
+ --bf-ui-badge-overhang: calc(var(--bf-ui-badge-padding-inline) * -0.75);
178
+ --bf-grid-max-inline-size: var(--bf-content-max-width);
179
+ --bf-application-drawer-width-icon: var(--bf-app-drawer-width-icon);
180
+ --bf-application-drawer-width-small: var(--bf-app-drawer-width-small);
181
+ --bf-application-drawer-width-small-max: var(--bf-app-drawer-width-small-max);
182
+ --bf-application-drawer-width-medium: var(--bf-app-drawer-width-medium);
183
+ --bf-application-drawer-width-medium-max: var(--bf-app-drawer-width-medium-max);
184
+ --bf-application-drawer-width-large: var(--bf-app-drawer-width-large);
185
+ --bf-application-aside-width: var(--bf-app-aside-width);
186
+ --bf-application-aside-width-min: var(--bf-app-aside-width-min);
187
+ --bf-application-aside-width-max: var(--bf-app-aside-width-max);
188
+ --bf-application-navigation-width: var(--bf-app-navigation-width);
189
+ --bf-application-navigation-width-collapsed: var(--bf-app-navigation-width-collapsed);
190
+ ${foundryComponentColorVars("light")}
191
+ --bf-ui-icon-chevron-down: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.25 6.25 8 10l3.75-3.75'/%3E%3C/svg%3E");
192
+ --bf-ui-icon-close: url("data:image/svg+xml,%3Csvg width='16' height='16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.25 4.25 11.75 11.75M11.75 4.25 4.25 11.75' fill='none' stroke='%23111' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
193
+ --bf-ui-icon-error-grey: url("data:image/svg+xml,%3Csvg width='16' height='16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 1.52588e-05C12.4183 1.52588e-05 16 3.58174 16 8.00002C16 12.4183 12.4183 16 8 16C3.58172 16 0 12.4183 0 8.00002C0 3.58174 3.58172 1.52588e-05 8 1.52588e-05ZM10.2821 4.63808L11.3427 5.69874L9.05007 7.99008L11.3427 10.2821L10.2821 11.3427L7.99007 9.05008L5.69873 11.3427L4.63807 10.2821L6.92907 7.99008L4.63807 5.69874L5.69873 4.63808L7.99007 6.92908L10.2821 4.63808ZM1.5 8.00002C1.5 4.41016 4.41015 1.50002 8 1.50002C11.5899 1.50002 14.5 4.41016 14.5 8.00002C14.5 11.5899 11.5899 14.5 8 14.5C4.41015 14.5 1.5 11.5899 1.5 8.00002Z' fill='%23111' fill-rule='evenodd'/%3E%3C/svg%3E");
194
+ --bf-ui-icon-search: url("data:image/svg+xml,%3Csvg width='16' height='16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.964 1a5.964 5.964 0 014.709 9.623l4.303 4.305-1.06 1.06-4.306-4.305A5.964 5.964 0 116.963 1zm0 1.5a4.464 4.464 0 100 8.927 4.464 4.464 0 000-8.927z' fill='%23111' fill-rule='nonzero'/%3E%3C/svg%3E");
195
+ --bf-ui-icon-success-grey: url("data:image/svg+xml,%3Csvg width='16' height='16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 0a8 8 0 110 16A8 8 0 018 0zm0 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zm2.814 2.45l1.203.897-5.537 7.43-3.485-3.694 1.09-1.03 2.259 2.394 4.47-5.997z' fill='%23111' fill-rule='nonzero'/%3E%3C/svg%3E");
196
+ color: var(--bf-color-text-default);
197
+ }
198
+
199
+ /* DEMO ONLY — Cap-derived component nudges are unreliable (ascender ≠ cap height). */
200
+ :where(.bf-theme.bf-engine-cap) {
201
+ --bf-body-nudge-start: calc(var(--bf-baseline) - mod(calc((${bodyLineHeight} + 1cap) / 2), var(--bf-baseline)));
202
+ --bf-body-nudge-end: calc(var(--bf-baseline) - var(--bf-body-nudge-start));
203
+ --bf-h4-nudge-start: calc(var(--bf-baseline) - mod(calc((${h4LineHeight} + 1cap) / 2), var(--bf-baseline)));
204
+ --bf-h4-nudge-end: calc(var(--bf-baseline) - var(--bf-h4-nudge-start));
205
+ --bf-h5-nudge-start: calc(var(--bf-baseline) - mod(calc((${h5LineHeight} + 1cap) / 2), var(--bf-baseline)));
206
+ --bf-h5-nudge-end: calc(var(--bf-baseline) - var(--bf-h5-nudge-start));
207
+ --bf-h6-nudge-start: calc(var(--bf-baseline) - mod(calc((${h6LineHeight} + 1cap) / 2), var(--bf-baseline)));
208
+ --bf-h6-nudge-end: calc(var(--bf-baseline) - var(--bf-h6-nudge-start));
209
+ }
210
+
211
+ :where(.bf-theme.bf-engine-cap) :where(.bf-input, input[type='text'], input[type='number'], input[type='search'], input[type='password'], input[type='email'], input[type='url'], textarea, select) {
212
+ margin-bottom: ${inputMarginBottom};
213
+ }
214
+
214
215
  ${(themeSurfaces ?? []).map(surface => {
215
216
  if (!surface.className) {
216
217
  return "";
@@ -225,661 +226,661 @@ ${(themeSurfaces ?? []).map(surface => {
225
226
  ? bodySurface.nudgeTop
226
227
  : surfaceComponents.controlCompactBlockPadding;
227
228
  return `:where(.bf-theme.${surface.className}) {\n --bf-control-baseline-reserve: 0rem;\n --bf-input-block-padding: ${inputBlockPadding};\n --bf-button-block-padding: ${inputBlockPadding};\n --bf-table-row-padding: ${tableRowPadding};\n${componentAlignmentVars(surfaceComponents)}\n}\n`;
228
- }).join("\n")}
229
-
230
- :where(.bf-theme.is-dark),
231
- :where(.bf-theme.is-dark) {
232
- ${foundryComponentColorVars("dark")}
233
- --bf-ui-icon-chevron-down: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.25 6.25 8 10l3.75-3.75'/%3E%3C/svg%3E");
234
- --bf-ui-icon-close: url("data:image/svg+xml,%3Csvg width='16' height='16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.25 4.25 11.75 11.75M11.75 4.25 4.25 11.75' fill='none' stroke='%23fff' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
235
- --bf-ui-icon-error-grey: url("data:image/svg+xml,%3Csvg width='16' height='16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 1.52588e-05C12.4183 1.52588e-05 16 3.58174 16 8.00002C16 12.4183 12.4183 16 8 16C3.58172 16 0 12.4183 0 8.00002C0 3.58174 3.58172 1.52588e-05 8 1.52588e-05ZM10.2821 4.63808L11.3427 5.69874L9.05007 7.99008L11.3427 10.2821L10.2821 11.3427L7.99007 9.05008L5.69873 11.3427L4.63807 10.2821L6.92907 7.99008L4.63807 5.69874L5.69873 4.63808L7.99007 6.92908L10.2821 4.63808ZM1.5 8.00002C1.5 4.41016 4.41015 1.50002 8 1.50002C11.5899 1.50002 14.5 4.41016 14.5 8.00002C14.5 11.5899 11.5899 14.5 8 14.5C4.41015 14.5 1.5 11.5899 1.5 8.00002Z' fill='%23fff' fill-rule='evenodd'/%3E%3C/svg%3E");
236
- --bf-ui-icon-search: url("data:image/svg+xml,%3Csvg width='16' height='16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.964 1a5.964 5.964 0 014.709 9.623l4.303 4.305-1.06 1.06-4.306-4.305A5.964 5.964 0 116.963 1zm0 1.5a4.464 4.464 0 100 8.927 4.464 4.464 0 000-8.927z' fill='%23fff' fill-rule='nonzero'/%3E%3C/svg%3E");
237
- --bf-ui-icon-success-grey: url("data:image/svg+xml,%3Csvg width='16' height='16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 0a8 8 0 110 16A8 8 0 018 0zm0 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zm2.814 2.45l1.203.897-5.537 7.43-3.485-3.694 1.09-1.03 2.259 2.394 4.47-5.997z' fill='%23fff' fill-rule='nonzero'/%3E%3C/svg%3E");
238
- color-scheme: dark;
239
- }
240
-
241
- :where(.bf-theme.is-light) {
242
- color-scheme: light;
243
- }
244
-
245
- :where(.bf-theme) :where(.bf-tabs-link, .bf-button, .bf-button.is-base, .bf-accordion-tab) {
246
- margin: 0;
247
- }
248
-
249
- .bf-theme button {
250
- font: inherit;
251
- }
252
-
253
-
254
-
255
- :where(.bf-theme) :where(.bf-form-label) {
256
- ${typeStyles(body, { includeCase: false })} color: var(--bf-color-text-default);
257
- display: block;
258
- margin: 0 0 var(--bf-body-margin-bottom);
259
- overflow-wrap: anywhere;
260
- padding-block-end: 0;
261
- padding-block-start: ${bodySelectedStartNudge};
262
- text-align: start;
263
- }
264
-
265
- :where(.bf-theme) :where(.bf-form-help) {
266
- ${typeStyles(body, { includeCase: false })} color: var(--bf-color-text-muted);
267
- display: block;
268
- margin: 0 0 var(--bf-body-margin-bottom);
269
- max-inline-size: 42ch;
270
- overflow-wrap: anywhere;
271
- padding-block-end: 0;
272
- padding-block-start: ${bodySelectedStartNudge};
273
- }
274
-
275
- :where(.bf-theme) :where(.bf-form-help.is-tight) {
276
- margin-top: calc(var(--bf-baseline) * -1);
277
- }
278
-
279
- :where(.bf-theme) :where(.bf-field) {
280
- display: grid;
281
- gap: var(--bf-field-gap);
282
- margin: 0;
283
- min-inline-size: 0;
284
- }
285
-
286
- :where(.bf-theme) :where(.bf-control) {
287
- display: grid;
288
- gap: var(--bf-field-gap);
289
- min-inline-size: 0;
290
- }
291
-
292
- :where(.bf-theme) :where(.bf-field.is-range) {
293
- align-items: start;
294
- column-gap: calc(var(--bf-baseline) * 2);
295
- display: grid;
296
- grid-template-columns: max-content minmax(0, 1fr);
297
- row-gap: var(--bf-field-gap);
298
- }
299
-
300
- :where(.bf-theme) :where(.bf-field.is-range) > :where(.bf-form-label) {
301
- grid-column: 1;
302
- }
303
-
304
- :where(.bf-theme) :where(.bf-field.is-range) > :where(.bf-control) {
305
- grid-column: 2;
306
- min-inline-size: 0;
307
- }
308
-
309
- :where(.bf-theme) :where(.bf-field.is-range) > :where(.bf-form-help) {
310
- grid-column: 2;
311
- }
312
-
313
- :where(.bf-theme) :where(.bf-field.is-range.is-stacked) {
314
- grid-template-columns: minmax(0, 1fr);
315
- }
316
-
317
- :where(.bf-theme) :where(.bf-field.is-range.is-stacked) > :where(.bf-control) {
318
- min-inline-size: 0;
319
- }
320
-
321
- :where(.bf-theme) :where(.bf-field.is-checkbox) {
322
- gap: 0;
323
- }
324
-
325
- :where(.bf-theme) :where(.bf-field.is-checkbox) :where(.bf-control) {
326
- gap: 0;
327
- }
328
-
329
- :where(.bf-theme) :where(fieldset, .bf-fieldset) {
330
- border: var(--bf-border-width) solid var(--bf-color-border-default);
331
- margin: 0;
332
- min-inline-size: 0;
333
- padding-block-end: calc(var(--bf-panel-padding-block) - var(--bf-border-width));
334
- padding-inline: var(--bf-panel-padding-inline);
335
- padding-block-start: var(--bf-panel-padding-block);
336
- }
337
-
338
- :where(.bf-theme) :where(fieldset, .bf-fieldset) > :where(legend, .bf-legend) {
339
- margin-bottom: 0;
340
- padding-inline: calc(var(--bf-baseline) * 0.5);
341
- }
342
-
343
- :where(.bf-theme) :where(.bf-input, input[type='text'], input[type='number'], input[type='search'], input[type='password'], input[type='email'], input[type='url'], textarea, select) {
344
- ${typeStyles(body, { includeCase: false })} appearance: none;
345
- background-color: var(--bf-color-background-inputs);
346
- border: 0 solid transparent;
347
- border-bottom: var(--bf-border-width) solid var(--bf-color-border-high-contrast);
348
- border-top: var(--bf-border-width) solid transparent;
349
- border-radius: var(--bf-radius);
350
- color: var(--bf-color-text-default);
351
- inline-size: 100%;
352
- max-inline-size: 100%;
353
- min-inline-size: 0;
354
- margin-bottom: ${inputMarginBottom};
355
- ${controlPadding(inputBlockPaddingVar)} padding-inline: var(--bf-control-inline-padding-field);
356
- }
357
-
358
- :where(.bf-theme) :where(input[type='color'].bf-color-input) {
359
- inline-size: 4rem;
360
- min-block-size: var(--bf-control-box-size);
361
- padding: calc(var(--bf-baseline) * 0.5);
362
- }
363
-
364
- :where(.bf-theme) :where(.bf-input, input[type='text'], input[type='number'], input[type='search'], input[type='password'], input[type='email'], input[type='url'], textarea, select):hover {
365
- background-color: var(--bf-color-background-hover);
366
- }
367
-
368
- :where(.bf-theme) :where(.bf-input, input[type='text'], input[type='number'], input[type='search'], input[type='password'], input[type='email'], input[type='url'], textarea, select):focus:not(:focus-visible) {
369
- outline: none;
370
- }
371
-
372
- :where(.bf-theme) :where(.bf-input, input[type='text'], input[type='number'], input[type='search'], input[type='password'], input[type='email'], input[type='url'], textarea, select):focus-visible {
373
- background-color: var(--bf-color-background-active);
374
- outline: 2px solid var(--bf-color-focus);
375
- outline-offset: 2px;
376
- }
377
-
378
- :where(.bf-theme) :where(.bf-input, input[type='text'], input[type='number'], input[type='search'], input[type='password'], input[type='email'], input[type='url'], textarea, select):disabled {
379
- cursor: not-allowed;
380
- opacity: 0.5;
381
- }
382
-
383
- :where(.bf-theme) :where(.bf-input, input[type='text'], input[type='number'], input[type='search'], input[type='password'], input[type='email'], input[type='url'], textarea, select)[readonly] {
384
- background-color: var(--bf-color-background-alt);
385
- color: var(--bf-color-text-muted);
386
- }
387
-
388
- :where(.bf-theme) :where(textarea) {
389
- block-size: auto;
390
- min-block-size: calc(var(--bf-control-box-size) * 2);
391
- resize: vertical;
392
- }
393
-
394
- :where(.bf-theme) :where(input[type='file']) {
395
- ${typeStyles(body, { includeCase: false })} background: transparent;
396
- border: 0 solid transparent;
397
- border-bottom: var(--bf-border-width) solid var(--bf-color-border-default);
398
- border-top: var(--bf-border-width) solid transparent;
399
- color: var(--bf-color-text-default);
400
- margin-bottom: ${inputMarginBottom};
401
- max-inline-size: 100%;
402
- min-inline-size: 0;
403
- ${controlPadding(inputBlockPaddingVar)} padding-inline: 0;
404
- width: 100%;
405
- }
406
-
407
- :where(.bf-theme) :where(input[type='file'])::file-selector-button {
408
- ${typeStyles(body, { includeCase: false })} appearance: none;
409
- background: var(--bf-color-background-alt);
410
- border: var(--bf-border-width) solid var(--bf-color-border-default);
411
- border-radius: var(--bf-radius);
412
- color: var(--bf-color-text-default);
413
- cursor: pointer;
414
- margin-inline-end: var(--bf-field-gap);
415
- min-block-size: var(--bf-control-box-size-compact);
416
- ${controlPadding(controlCompactBlockPaddingVar)} padding-inline: var(--bf-control-inline-padding-action);
417
- }
418
-
419
- :where(.bf-theme) :where(input[type='file'])::file-selector-button:hover {
420
- background: var(--bf-color-background-hover);
421
- }
422
-
423
- :where(.bf-theme) :where(select) {
424
- background-image: var(--bf-ui-icon-chevron-down);
425
- background-position: right var(--bf-control-inline-padding-field) center;
426
- background-repeat: no-repeat;
427
- background-size: 1rem 1rem;
428
- padding-inline-end: calc(var(--bf-control-inline-padding-field) * 2.5);
429
- }
430
-
431
- :where(.bf-theme) :where(input[type='number'], .bf-slider-input) {
432
- font-variant-numeric: tabular-nums;
433
- }
434
-
435
- :where(.bf-theme) :where(.bf-slider-input) {
436
- flex: 0 1 5rem;
437
- inline-size: min(100%, 5rem);
438
- justify-self: end;
439
- max-inline-size: 100%;
440
- min-inline-size: 0;
441
- text-align: right;
442
- }
443
-
444
- :where(.bf-theme) :where(input[type='number'])::-webkit-inner-spin-button,
445
- :where(.bf-theme) :where(input[type='number'])::-webkit-outer-spin-button {
446
- margin: 0;
447
- }
448
-
449
- :where(.bf-theme) :where(.bf-checkbox, .bf-radio) {
450
- margin: 0;
451
- min-block-size: var(--bf-tick-row-block-size);
452
- position: relative;
453
- }
454
-
455
- :where(.bf-theme) :where(.bf-checkbox-input, .bf-radio-input) {
456
- block-size: var(--bf-control-visual-size);
457
- inline-size: var(--bf-control-visual-size);
458
- left: 0;
459
- margin: 0;
460
- opacity: 0;
461
- position: absolute;
462
- top: var(--bf-tick-box-offset);
463
- }
464
-
465
- :where(.bf-theme) :where(.bf-checkbox-label, .bf-radio-label) {
466
- ${typeStyles(body, { includeCase: false })} color: var(--bf-color-text-default);
467
- cursor: pointer;
468
- display: block;
469
- margin-bottom: 0;
470
- min-block-size: var(--bf-tick-row-block-size);
471
- padding-block-end: ${bodySelectedEndNudge};
472
- padding-block-start: ${bodySelectedStartNudge};
473
- padding-inline-start: var(--bf-tick-label-offset);
474
- position: relative;
475
- }
476
-
477
- :where(.bf-theme) :where(.bf-checkbox-label, .bf-radio-label)::before,
478
- :where(.bf-theme) :where(.bf-checkbox-label, .bf-radio-label)::after {
479
- box-sizing: border-box;
480
- content: "";
481
- position: absolute;
482
- }
483
-
484
- :where(.bf-theme) :where(.bf-checkbox-label, .bf-radio-label)::before {
485
- background: var(--bf-color-background-default);
486
- block-size: var(--bf-control-visual-size);
487
- border: var(--bf-border-width) solid var(--bf-color-border-high-contrast);
488
- inline-size: var(--bf-control-visual-size);
489
- inset-inline-start: 0;
490
- inset-block-start: var(--bf-tick-box-offset);
491
- }
492
-
493
- :where(.bf-theme) :where(.bf-checkbox-label:hover, .bf-radio-label:hover)::before {
494
- background: var(--bf-color-background-hover);
495
- }
496
-
497
- :where(.bf-theme) :where(.bf-checkbox-label)::after {
498
- block-size: calc(var(--bf-control-visual-size) * 0.35);
499
- border-bottom: calc(var(--bf-border-width) * 2) solid var(--bf-color-background-default);
500
- border-left: calc(var(--bf-border-width) * 2) solid var(--bf-color-background-default);
501
- inline-size: calc(var(--bf-control-visual-size) * 0.6);
502
- inset-inline-start: calc(var(--bf-control-visual-size) * 0.2);
503
- inset-block-start: calc(var(--bf-tick-box-offset) + (var(--bf-control-visual-size) * 0.18));
504
- opacity: 0;
505
- transform: rotate(-45deg);
506
- }
507
-
508
- :where(.bf-theme) :where(.bf-radio-label)::before {
509
- border-radius: 50%;
510
- }
511
-
512
- :where(.bf-theme) :where(.bf-radio-label)::after {
513
- background: var(--bf-color-background-default);
514
- block-size: var(--bf-radio-dot-size);
515
- border-radius: 50%;
516
- inline-size: var(--bf-radio-dot-size);
517
- inset-inline-start: calc((var(--bf-control-visual-size) - var(--bf-radio-dot-size)) * 0.5);
518
- inset-block-start: calc(var(--bf-tick-box-offset) + ((var(--bf-control-visual-size) - var(--bf-radio-dot-size)) * 0.5));
519
- opacity: 0;
520
- }
521
-
522
- :where(.bf-theme) :where(.bf-checkbox-input:checked + .bf-checkbox-label)::before {
523
- background: var(--bf-color-link-default);
524
- border-color: var(--bf-color-link-default);
525
- }
526
-
527
- :where(.bf-theme) :where(.bf-checkbox-input:checked + .bf-checkbox-label)::after {
528
- opacity: 1;
529
- }
530
-
531
- :where(.bf-theme) :where(.bf-radio-input:checked + .bf-radio-label)::before {
532
- background: var(--bf-color-link-default);
533
- border-color: var(--bf-color-link-default);
534
- }
535
-
536
- :where(.bf-theme) :where(.bf-radio-input:checked + .bf-radio-label)::after {
537
- opacity: 1;
538
- }
539
-
540
- :where(.bf-theme) :where(.bf-checkbox-input:focus-visible + .bf-checkbox-label)::before {
541
- outline: 2px solid var(--bf-color-focus);
542
- outline-offset: 2px;
543
- }
544
-
545
- :where(.bf-theme) :where(.bf-radio-input:focus-visible + .bf-radio-label)::before {
546
- outline: 2px solid var(--bf-color-focus);
547
- outline-offset: 2px;
548
- }
549
-
550
- :where(.bf-theme) :where(.bf-switch) {
551
- align-items: flex-start;
552
- display: inline-flex;
553
- gap: var(--bf-field-gap);
554
- min-block-size: var(--bf-switch-row-block-size);
555
- position: relative;
556
- }
557
-
558
- :where(.bf-theme) :where(.bf-switch-input) {
559
- block-size: var(--bf-control-visual-size);
560
- inline-size: calc(var(--bf-control-visual-size) * 2);
561
- inset-block-start: var(--bf-switch-track-offset);
562
- inset-inline-start: 0;
563
- margin: 0;
564
- opacity: 0;
565
- position: absolute;
566
- }
567
-
568
- :where(.bf-theme) :where(.bf-switch-slider) {
569
- background: var(--bf-color-border-high-contrast);
570
- block-size: var(--bf-control-visual-size);
571
- border-radius: var(--bf-control-visual-size);
572
- display: inline-block;
573
- flex: none;
574
- inline-size: calc(var(--bf-control-visual-size) * 2);
575
- margin-block-start: var(--bf-switch-track-offset);
576
- position: relative;
577
- }
578
-
579
- :where(.bf-theme) :where(.bf-switch-slider)::before {
580
- background: var(--bf-color-background-default);
581
- block-size: var(--bf-control-visual-size);
582
- box-sizing: border-box;
583
- border: var(--bf-border-width) solid var(--bf-color-border-high-contrast);
584
- border-radius: 50%;
585
- content: "";
586
- inline-size: var(--bf-control-visual-size);
587
- inset-block-start: 0;
588
- inset-inline-start: 0;
589
- position: absolute;
590
- transition: transform 160ms ease;
591
- }
592
-
593
- :where(.bf-theme) :where(.bf-switch-input:checked + .bf-switch-slider) {
594
- background: var(--bf-color-link-default);
595
- }
596
-
597
- :where(.bf-theme) :where(.bf-switch-input:checked + .bf-switch-slider)::before {
598
- border-color: var(--bf-color-link-default);
599
- transform: translateX(100%);
600
- }
601
-
602
- :where(.bf-theme) :where(.bf-switch-input:focus-visible + .bf-switch-slider) {
603
- outline: 2px solid var(--bf-color-focus);
604
- outline-offset: 2px;
605
- }
606
-
607
- :where(.bf-theme) :where(.bf-switch-input:disabled + .bf-switch-slider) {
608
- opacity: 0.6;
609
- }
610
-
611
- :where(.bf-theme) :where(.bf-switch-label) {
612
- ${typeStyles(body, { includeCase: false })} color: var(--bf-color-text-default);
613
- cursor: pointer;
614
- display: inline-block;
615
- margin: 0 0 var(--bf-body-margin-bottom);
616
- padding-block-end: 0;
617
- padding-block-start: ${bodySelectedStartNudge};
618
- }
619
-
620
- :where(.bf-theme) :where(.bf-validation-message) {
621
- ${typeStyles(body, { includeCase: false })} color: var(--bf-color-text-muted);
622
- margin: 0 0 var(--bf-body-margin-bottom);
623
- padding-block-end: 0;
624
- padding-block-start: ${bodySelectedStartNudge};
625
- padding-inline-start: calc(var(--bf-control-visual-size) + var(--bf-field-gap));
626
- position: relative;
627
- }
628
-
629
- :where(.bf-theme) :where(.bf-validation-message)::before {
630
- background: var(--bf-color-border-information);
631
- block-size: calc(var(--bf-control-visual-size) * 0.5);
632
- border-radius: 50%;
633
- content: "";
634
- inline-size: calc(var(--bf-control-visual-size) * 0.5);
635
- inset-block-start: ${alignedVisualStart(bodyLineHeight, "(var(--bf-control-visual-size) * 0.5)", bodySelectedStartNudge)};
636
- inset-inline-start: 0;
637
- position: absolute;
638
- }
639
-
640
- :where(.bf-theme) :where(.is-caution, .bf-validation.is-caution) :where(.bf-input, input[type='text'], input[type='number'], input[type='search'], input[type='password'], input[type='email'], input[type='url'], textarea, select) {
641
- background-color: var(--bf-color-background-caution-default);
642
- border-bottom-color: var(--bf-color-border-caution);
643
- }
644
-
645
- :where(.bf-theme) :where(.is-caution, .bf-validation.is-caution) :where(.bf-input, input[type='text'], input[type='number'], input[type='search'], input[type='password'], input[type='email'], input[type='url'], textarea, select):hover {
646
- background-color: var(--bf-color-background-caution-hover);
647
- }
648
-
649
- :where(.bf-theme) :where(.is-caution, .bf-validation.is-caution) :where(.bf-input, input[type='text'], input[type='number'], input[type='search'], input[type='password'], input[type='email'], input[type='url'], textarea, select):focus-visible {
650
- background-color: var(--bf-color-background-caution-active);
651
- }
652
-
653
- :where(.bf-theme) :where(.is-caution, .bf-validation.is-caution) :where(.bf-validation-message) {
654
- color: var(--bf-color-border-caution);
655
- }
656
-
657
- :where(.bf-theme) :where(.is-caution, .bf-validation.is-caution) :where(.bf-validation-message)::before {
658
- background: var(--bf-color-border-caution);
659
- }
660
-
661
- :where(.bf-theme) :where(.is-error, .bf-validation.is-error) :where(.bf-input, input[type='text'], input[type='number'], input[type='search'], input[type='password'], input[type='email'], input[type='url'], textarea, select) {
662
- background-color: var(--bf-color-background-negative-default);
663
- border-bottom-color: var(--bf-color-border-negative);
664
- }
665
-
666
- :where(.bf-theme) :where(.is-error, .bf-validation.is-error) :where(.bf-input, input[type='text'], input[type='number'], input[type='search'], input[type='password'], input[type='email'], input[type='url'], textarea, select):hover {
667
- background-color: var(--bf-color-background-negative-hover);
668
- }
669
-
670
- :where(.bf-theme) :where(.is-error, .bf-validation.is-error) :where(.bf-input, input[type='text'], input[type='number'], input[type='search'], input[type='password'], input[type='email'], input[type='url'], textarea, select):focus-visible {
671
- background-color: var(--bf-color-background-negative-active);
672
- }
673
-
674
- :where(.bf-theme) :where(.is-error, .bf-validation.is-error) :where(.bf-validation-message) {
675
- color: var(--bf-color-border-negative);
676
- }
677
-
678
- :where(.bf-theme) :where(.is-error, .bf-validation.is-error) :where(.bf-validation-message)::before {
679
- background: var(--bf-color-border-negative);
680
- }
681
-
682
- :where(.bf-theme) :where(.is-success, .bf-validation.is-success) :where(.bf-input, input[type='text'], input[type='number'], input[type='search'], input[type='password'], input[type='email'], input[type='url'], textarea, select) {
683
- background-color: var(--bf-color-background-positive-default);
684
- border-bottom-color: var(--bf-color-border-positive);
685
- }
686
-
687
- :where(.bf-theme) :where(.is-success, .bf-validation.is-success) :where(.bf-input, input[type='text'], input[type='number'], input[type='search'], input[type='password'], input[type='email'], input[type='url'], textarea, select):hover {
688
- background-color: var(--bf-color-background-positive-hover);
689
- }
690
-
691
- :where(.bf-theme) :where(.is-success, .bf-validation.is-success) :where(.bf-input, input[type='text'], input[type='number'], input[type='search'], input[type='password'], input[type='email'], input[type='url'], textarea, select):focus-visible {
692
- background-color: var(--bf-color-background-positive-active);
693
- }
694
-
695
- :where(.bf-theme) :where(.is-success, .bf-validation.is-success) :where(.bf-validation-message) {
696
- color: var(--bf-color-border-positive);
697
- }
698
-
699
- :where(.bf-theme) :where(.is-success, .bf-validation.is-success) :where(.bf-validation-message)::before {
700
- background: var(--bf-color-border-positive);
701
- }
702
-
703
- :where(.bf-theme) :where(.bf-slider) {
704
- align-items: flex-start;
705
- display: inline-flex;
706
- flex-wrap: nowrap;
707
- gap: var(--bf-field-gap);
708
- inline-size: 100%;
709
- max-inline-size: 100%;
710
- min-inline-size: 0;
711
- }
712
-
713
- :where(.bf-theme) :where(.bf-slider.is-stacked),
714
- :where(.bf-theme) :where(.bf-field.is-range.is-stacked) :where(.bf-slider) {
715
- align-items: stretch;
716
- display: grid;
717
- gap: var(--bf-field-gap);
718
- grid-template-columns: minmax(0, 1fr);
719
- }
720
-
721
- :where(.bf-theme) :where(.bf-slider) :where(input[type='range']) {
722
- align-self: flex-start;
723
- flex: 1 1 8rem;
724
- inline-size: 100%;
725
- min-inline-size: 0;
726
- }
727
-
728
- :where(.bf-theme) :where(input[type='range']) {
729
- appearance: none;
730
- background: linear-gradient(
731
- to right,
732
- var(--bf-color-link-default) 0,
733
- var(--bf-color-link-default) var(--bf-slider-fill-percent, 0%),
734
- var(--bf-color-border-default) var(--bf-slider-fill-percent, 0%),
735
- var(--bf-color-border-default) 100%
736
- );
737
- block-size: var(--bf-slider-track-size);
738
- border: 0;
739
- border-radius: var(--bf-baseline);
740
- margin: var(--bf-slider-track-offset) 0 calc(var(--bf-slider-row-block-size) - var(--bf-slider-track-offset) - var(--bf-slider-track-size));
741
- padding: 0;
742
- }
743
-
744
- :where(.bf-theme) :where(input[type='range']):focus:not(:focus-visible) {
745
- outline: none;
746
- }
747
-
748
- :where(.bf-theme) :where(input[type='range'])::-webkit-slider-runnable-track {
749
- background: transparent;
750
- block-size: var(--bf-slider-track-size);
751
- border-radius: var(--bf-baseline);
752
- }
753
-
754
- :where(.bf-theme) :where(input[type='range'])::-webkit-slider-thumb {
755
- appearance: none;
756
- background: var(--bf-color-background-default);
757
- border: var(--bf-border-width) solid var(--bf-color-border-high-contrast);
758
- block-size: var(--bf-control-visual-size);
759
- border-radius: 50%;
760
- box-shadow: 0 0 calc(var(--bf-control-visual-size) * 0.25) 1px rgba(0, 0, 0, 0.2);
761
- inline-size: var(--bf-control-visual-size);
762
- margin-top: calc((var(--bf-slider-track-size) - var(--bf-control-visual-size)) / 2);
763
- }
764
-
765
- :where(.bf-theme) :where(input[type='range']):focus-visible::-webkit-slider-thumb {
766
- outline: calc(var(--bf-baseline) * 0.25) solid var(--bf-color-focus);
767
- }
768
-
769
- :where(.bf-theme) :where(input[type='range'])::-moz-range-track {
770
- background: var(--bf-color-border-default);
771
- block-size: var(--bf-slider-track-size);
772
- border-radius: var(--bf-baseline);
773
- }
774
-
775
- :where(.bf-theme) :where(input[type='range'])::-moz-range-progress {
776
- background: var(--bf-color-link-default);
777
- block-size: var(--bf-slider-track-size);
778
- border-radius: var(--bf-baseline);
779
- }
780
-
781
- :where(.bf-theme) :where(input[type='range'])::-moz-range-thumb {
782
- background: var(--bf-color-background-default);
783
- border: var(--bf-border-width) solid var(--bf-color-border-high-contrast);
784
- block-size: var(--bf-control-visual-size);
785
- border-radius: 50%;
786
- box-shadow: 0 0 calc(var(--bf-control-visual-size) * 0.25) 1px rgba(0, 0, 0, 0.2);
787
- inline-size: var(--bf-control-visual-size);
788
- }
789
-
790
- :where(.bf-theme) :where(input[type='range'])::-moz-focus-outer {
791
- border: 0;
792
- }
793
-
794
- :where(.bf-theme) :where(input[type='range']):focus-visible::-moz-range-thumb {
795
- outline: calc(var(--bf-baseline) * 0.25) solid var(--bf-color-focus);
796
- }
797
-
798
- ${iconCss()}
799
-
800
- ${buttonActionsCss({ bodyTypeStyles, buttonMarginBottom, buttonPadding })}
801
-
802
- ${ctaFigureAspectCss()}
803
-
804
- ${editorialContentCss({ noticeTitleTypeStyles: typeStyles(h4, { includeCase: false }) })}
805
-
806
- ${staticContentPortsCss()}
807
-
808
- ${interactiveFeedbackCss()}
809
-
810
- ${interactiveTablesCss()}
811
-
812
- ${logoMediaCss()}
813
-
814
- ${linkedLogoSiteLayoutCss()}
815
-
816
- ${sitesFoundationCss()}
817
-
818
- ${sitesEditorialPortsCss()}
819
-
820
- ${sitesRichListsCss()}
821
-
229
+ }).join("\n")}
230
+
231
+ :where(.bf-theme.is-dark),
232
+ :where(.bf-theme.is-dark) {
233
+ ${foundryComponentColorVars("dark")}
234
+ --bf-ui-icon-chevron-down: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.25 6.25 8 10l3.75-3.75'/%3E%3C/svg%3E");
235
+ --bf-ui-icon-close: url("data:image/svg+xml,%3Csvg width='16' height='16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.25 4.25 11.75 11.75M11.75 4.25 4.25 11.75' fill='none' stroke='%23fff' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
236
+ --bf-ui-icon-error-grey: url("data:image/svg+xml,%3Csvg width='16' height='16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 1.52588e-05C12.4183 1.52588e-05 16 3.58174 16 8.00002C16 12.4183 12.4183 16 8 16C3.58172 16 0 12.4183 0 8.00002C0 3.58174 3.58172 1.52588e-05 8 1.52588e-05ZM10.2821 4.63808L11.3427 5.69874L9.05007 7.99008L11.3427 10.2821L10.2821 11.3427L7.99007 9.05008L5.69873 11.3427L4.63807 10.2821L6.92907 7.99008L4.63807 5.69874L5.69873 4.63808L7.99007 6.92908L10.2821 4.63808ZM1.5 8.00002C1.5 4.41016 4.41015 1.50002 8 1.50002C11.5899 1.50002 14.5 4.41016 14.5 8.00002C14.5 11.5899 11.5899 14.5 8 14.5C4.41015 14.5 1.5 11.5899 1.5 8.00002Z' fill='%23fff' fill-rule='evenodd'/%3E%3C/svg%3E");
237
+ --bf-ui-icon-search: url("data:image/svg+xml,%3Csvg width='16' height='16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.964 1a5.964 5.964 0 014.709 9.623l4.303 4.305-1.06 1.06-4.306-4.305A5.964 5.964 0 116.963 1zm0 1.5a4.464 4.464 0 100 8.927 4.464 4.464 0 000-8.927z' fill='%23fff' fill-rule='nonzero'/%3E%3C/svg%3E");
238
+ --bf-ui-icon-success-grey: url("data:image/svg+xml,%3Csvg width='16' height='16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 0a8 8 0 110 16A8 8 0 018 0zm0 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zm2.814 2.45l1.203.897-5.537 7.43-3.485-3.694 1.09-1.03 2.259 2.394 4.47-5.997z' fill='%23fff' fill-rule='nonzero'/%3E%3C/svg%3E");
239
+ color-scheme: dark;
240
+ }
241
+
242
+ :where(.bf-theme.is-light) {
243
+ color-scheme: light;
244
+ }
245
+
246
+ :where(.bf-theme) :where(.bf-tabs-link, .bf-button, .bf-button.is-base, .bf-accordion-tab) {
247
+ margin: 0;
248
+ }
249
+
250
+ .bf-theme button {
251
+ font: inherit;
252
+ }
253
+
254
+
255
+
256
+ :where(.bf-theme) :where(.bf-form-label) {
257
+ ${typeStyles(body, { includeCase: false })} color: var(--bf-color-text-default);
258
+ display: block;
259
+ margin: 0 0 var(--bf-body-margin-bottom);
260
+ overflow-wrap: anywhere;
261
+ padding-block-end: 0;
262
+ padding-block-start: ${bodySelectedStartNudge};
263
+ text-align: start;
264
+ }
265
+
266
+ :where(.bf-theme) :where(.bf-form-help) {
267
+ ${typeStyles(body, { includeCase: false })} color: var(--bf-color-text-muted);
268
+ display: block;
269
+ margin: 0 0 var(--bf-body-margin-bottom);
270
+ max-inline-size: 42ch;
271
+ overflow-wrap: anywhere;
272
+ padding-block-end: 0;
273
+ padding-block-start: ${bodySelectedStartNudge};
274
+ }
275
+
276
+ :where(.bf-theme) :where(.bf-form-help.is-tight) {
277
+ margin-top: calc(var(--bf-baseline) * -1);
278
+ }
279
+
280
+ :where(.bf-theme) :where(.bf-field) {
281
+ display: grid;
282
+ gap: var(--bf-field-gap);
283
+ margin: 0;
284
+ min-inline-size: 0;
285
+ }
286
+
287
+ :where(.bf-theme) :where(.bf-control) {
288
+ display: grid;
289
+ gap: var(--bf-field-gap);
290
+ min-inline-size: 0;
291
+ }
292
+
293
+ :where(.bf-theme) :where(.bf-field.is-range) {
294
+ align-items: start;
295
+ column-gap: calc(var(--bf-baseline) * 2);
296
+ display: grid;
297
+ grid-template-columns: max-content minmax(0, 1fr);
298
+ row-gap: var(--bf-field-gap);
299
+ }
300
+
301
+ :where(.bf-theme) :where(.bf-field.is-range) > :where(.bf-form-label) {
302
+ grid-column: 1;
303
+ }
304
+
305
+ :where(.bf-theme) :where(.bf-field.is-range) > :where(.bf-control) {
306
+ grid-column: 2;
307
+ min-inline-size: 0;
308
+ }
309
+
310
+ :where(.bf-theme) :where(.bf-field.is-range) > :where(.bf-form-help) {
311
+ grid-column: 2;
312
+ }
313
+
314
+ :where(.bf-theme) :where(.bf-field.is-range.is-stacked) {
315
+ grid-template-columns: minmax(0, 1fr);
316
+ }
317
+
318
+ :where(.bf-theme) :where(.bf-field.is-range.is-stacked) > :where(.bf-control) {
319
+ min-inline-size: 0;
320
+ }
321
+
322
+ :where(.bf-theme) :where(.bf-field.is-checkbox) {
323
+ gap: 0;
324
+ }
325
+
326
+ :where(.bf-theme) :where(.bf-field.is-checkbox) :where(.bf-control) {
327
+ gap: 0;
328
+ }
329
+
330
+ :where(.bf-theme) :where(fieldset, .bf-fieldset) {
331
+ border: var(--bf-border-width) solid var(--bf-color-border-default);
332
+ margin: 0;
333
+ min-inline-size: 0;
334
+ padding-block-end: calc(var(--bf-panel-padding-block) - var(--bf-border-width));
335
+ padding-inline: var(--bf-panel-padding-inline);
336
+ padding-block-start: var(--bf-panel-padding-block);
337
+ }
338
+
339
+ :where(.bf-theme) :where(fieldset, .bf-fieldset) > :where(legend, .bf-legend) {
340
+ margin-bottom: 0;
341
+ padding-inline: calc(var(--bf-baseline) * 0.5);
342
+ }
343
+
344
+ :where(.bf-theme) :where(.bf-input, input[type='text'], input[type='number'], input[type='search'], input[type='password'], input[type='email'], input[type='url'], textarea, select) {
345
+ ${typeStyles(body, { includeCase: false })} appearance: none;
346
+ background-color: var(--bf-color-background-inputs);
347
+ border: 0 solid transparent;
348
+ border-bottom: var(--bf-border-width) solid var(--bf-color-border-high-contrast);
349
+ border-top: var(--bf-border-width) solid transparent;
350
+ border-radius: var(--bf-radius);
351
+ color: var(--bf-color-text-default);
352
+ inline-size: 100%;
353
+ max-inline-size: 100%;
354
+ min-inline-size: 0;
355
+ margin-bottom: ${inputMarginBottom};
356
+ ${controlPadding(inputBlockPaddingVar)} padding-inline: var(--bf-control-inline-padding-field);
357
+ }
358
+
359
+ :where(.bf-theme) :where(input[type='color'].bf-color-input) {
360
+ inline-size: 4rem;
361
+ min-block-size: var(--bf-control-box-size);
362
+ padding: calc(var(--bf-baseline) * 0.5);
363
+ }
364
+
365
+ :where(.bf-theme) :where(.bf-input, input[type='text'], input[type='number'], input[type='search'], input[type='password'], input[type='email'], input[type='url'], textarea, select):hover {
366
+ background-color: var(--bf-color-background-hover);
367
+ }
368
+
369
+ :where(.bf-theme) :where(.bf-input, input[type='text'], input[type='number'], input[type='search'], input[type='password'], input[type='email'], input[type='url'], textarea, select):focus:not(:focus-visible) {
370
+ outline: none;
371
+ }
372
+
373
+ :where(.bf-theme) :where(.bf-input, input[type='text'], input[type='number'], input[type='search'], input[type='password'], input[type='email'], input[type='url'], textarea, select):focus-visible {
374
+ background-color: var(--bf-color-background-active);
375
+ outline: 2px solid var(--bf-color-focus);
376
+ outline-offset: 2px;
377
+ }
378
+
379
+ :where(.bf-theme) :where(.bf-input, input[type='text'], input[type='number'], input[type='search'], input[type='password'], input[type='email'], input[type='url'], textarea, select):disabled {
380
+ cursor: not-allowed;
381
+ opacity: 0.5;
382
+ }
383
+
384
+ :where(.bf-theme) :where(.bf-input, input[type='text'], input[type='number'], input[type='search'], input[type='password'], input[type='email'], input[type='url'], textarea, select)[readonly] {
385
+ background-color: var(--bf-color-background-alt);
386
+ color: var(--bf-color-text-muted);
387
+ }
388
+
389
+ :where(.bf-theme) :where(textarea) {
390
+ block-size: auto;
391
+ min-block-size: calc(var(--bf-control-box-size) * 2);
392
+ resize: vertical;
393
+ }
394
+
395
+ :where(.bf-theme) :where(input[type='file']) {
396
+ ${typeStyles(body, { includeCase: false })} background: transparent;
397
+ border: 0 solid transparent;
398
+ border-bottom: var(--bf-border-width) solid var(--bf-color-border-default);
399
+ border-top: var(--bf-border-width) solid transparent;
400
+ color: var(--bf-color-text-default);
401
+ margin-bottom: ${inputMarginBottom};
402
+ max-inline-size: 100%;
403
+ min-inline-size: 0;
404
+ ${controlPadding(inputBlockPaddingVar)} padding-inline: 0;
405
+ width: 100%;
406
+ }
407
+
408
+ :where(.bf-theme) :where(input[type='file'])::file-selector-button {
409
+ ${typeStyles(body, { includeCase: false })} appearance: none;
410
+ background: var(--bf-color-background-alt);
411
+ border: var(--bf-border-width) solid var(--bf-color-border-default);
412
+ border-radius: var(--bf-radius);
413
+ color: var(--bf-color-text-default);
414
+ cursor: pointer;
415
+ margin-inline-end: var(--bf-field-gap);
416
+ min-block-size: var(--bf-control-box-size-compact);
417
+ ${controlPadding(controlCompactBlockPaddingVar)} padding-inline: var(--bf-control-inline-padding-action);
418
+ }
419
+
420
+ :where(.bf-theme) :where(input[type='file'])::file-selector-button:hover {
421
+ background: var(--bf-color-background-hover);
422
+ }
423
+
424
+ :where(.bf-theme) :where(select) {
425
+ background-image: var(--bf-ui-icon-chevron-down);
426
+ background-position: right var(--bf-control-inline-padding-field) center;
427
+ background-repeat: no-repeat;
428
+ background-size: 1rem 1rem;
429
+ padding-inline-end: calc(var(--bf-control-inline-padding-field) * 2.5);
430
+ }
431
+
432
+ :where(.bf-theme) :where(input[type='number'], .bf-slider-input) {
433
+ font-variant-numeric: tabular-nums;
434
+ }
435
+
436
+ :where(.bf-theme) :where(.bf-slider-input) {
437
+ flex: 0 1 5rem;
438
+ inline-size: min(100%, 5rem);
439
+ justify-self: end;
440
+ max-inline-size: 100%;
441
+ min-inline-size: 0;
442
+ text-align: right;
443
+ }
444
+
445
+ :where(.bf-theme) :where(input[type='number'])::-webkit-inner-spin-button,
446
+ :where(.bf-theme) :where(input[type='number'])::-webkit-outer-spin-button {
447
+ margin: 0;
448
+ }
449
+
450
+ :where(.bf-theme) :where(.bf-checkbox, .bf-radio) {
451
+ margin: 0;
452
+ min-block-size: var(--bf-tick-row-block-size);
453
+ position: relative;
454
+ }
455
+
456
+ :where(.bf-theme) :where(.bf-checkbox-input, .bf-radio-input) {
457
+ block-size: var(--bf-control-visual-size);
458
+ inline-size: var(--bf-control-visual-size);
459
+ left: 0;
460
+ margin: 0;
461
+ opacity: 0;
462
+ position: absolute;
463
+ top: var(--bf-tick-box-offset);
464
+ }
465
+
466
+ :where(.bf-theme) :where(.bf-checkbox-label, .bf-radio-label) {
467
+ ${typeStyles(body, { includeCase: false })} color: var(--bf-color-text-default);
468
+ cursor: pointer;
469
+ display: block;
470
+ margin-bottom: 0;
471
+ min-block-size: var(--bf-tick-row-block-size);
472
+ padding-block-end: ${bodySelectedEndNudge};
473
+ padding-block-start: ${bodySelectedStartNudge};
474
+ padding-inline-start: var(--bf-tick-label-offset);
475
+ position: relative;
476
+ }
477
+
478
+ :where(.bf-theme) :where(.bf-checkbox-label, .bf-radio-label)::before,
479
+ :where(.bf-theme) :where(.bf-checkbox-label, .bf-radio-label)::after {
480
+ box-sizing: border-box;
481
+ content: "";
482
+ position: absolute;
483
+ }
484
+
485
+ :where(.bf-theme) :where(.bf-checkbox-label, .bf-radio-label)::before {
486
+ background: var(--bf-color-background-default);
487
+ block-size: var(--bf-control-visual-size);
488
+ border: var(--bf-border-width) solid var(--bf-color-border-high-contrast);
489
+ inline-size: var(--bf-control-visual-size);
490
+ inset-inline-start: 0;
491
+ inset-block-start: var(--bf-tick-box-offset);
492
+ }
493
+
494
+ :where(.bf-theme) :where(.bf-checkbox-label:hover, .bf-radio-label:hover)::before {
495
+ background: var(--bf-color-background-hover);
496
+ }
497
+
498
+ :where(.bf-theme) :where(.bf-checkbox-label)::after {
499
+ block-size: calc(var(--bf-control-visual-size) * 0.35);
500
+ border-bottom: calc(var(--bf-border-width) * 2) solid var(--bf-color-background-default);
501
+ border-left: calc(var(--bf-border-width) * 2) solid var(--bf-color-background-default);
502
+ inline-size: calc(var(--bf-control-visual-size) * 0.6);
503
+ inset-inline-start: calc(var(--bf-control-visual-size) * 0.2);
504
+ inset-block-start: calc(var(--bf-tick-box-offset) + (var(--bf-control-visual-size) * 0.18));
505
+ opacity: 0;
506
+ transform: rotate(-45deg);
507
+ }
508
+
509
+ :where(.bf-theme) :where(.bf-radio-label)::before {
510
+ border-radius: 50%;
511
+ }
512
+
513
+ :where(.bf-theme) :where(.bf-radio-label)::after {
514
+ background: var(--bf-color-background-default);
515
+ block-size: var(--bf-radio-dot-size);
516
+ border-radius: 50%;
517
+ inline-size: var(--bf-radio-dot-size);
518
+ inset-inline-start: calc((var(--bf-control-visual-size) - var(--bf-radio-dot-size)) * 0.5);
519
+ inset-block-start: calc(var(--bf-tick-box-offset) + ((var(--bf-control-visual-size) - var(--bf-radio-dot-size)) * 0.5));
520
+ opacity: 0;
521
+ }
522
+
523
+ :where(.bf-theme) :where(.bf-checkbox-input:checked + .bf-checkbox-label)::before {
524
+ background: var(--bf-color-link-default);
525
+ border-color: var(--bf-color-link-default);
526
+ }
527
+
528
+ :where(.bf-theme) :where(.bf-checkbox-input:checked + .bf-checkbox-label)::after {
529
+ opacity: 1;
530
+ }
531
+
532
+ :where(.bf-theme) :where(.bf-radio-input:checked + .bf-radio-label)::before {
533
+ background: var(--bf-color-link-default);
534
+ border-color: var(--bf-color-link-default);
535
+ }
536
+
537
+ :where(.bf-theme) :where(.bf-radio-input:checked + .bf-radio-label)::after {
538
+ opacity: 1;
539
+ }
540
+
541
+ :where(.bf-theme) :where(.bf-checkbox-input:focus-visible + .bf-checkbox-label)::before {
542
+ outline: 2px solid var(--bf-color-focus);
543
+ outline-offset: 2px;
544
+ }
545
+
546
+ :where(.bf-theme) :where(.bf-radio-input:focus-visible + .bf-radio-label)::before {
547
+ outline: 2px solid var(--bf-color-focus);
548
+ outline-offset: 2px;
549
+ }
550
+
551
+ :where(.bf-theme) :where(.bf-switch) {
552
+ align-items: flex-start;
553
+ display: inline-flex;
554
+ gap: var(--bf-field-gap);
555
+ min-block-size: var(--bf-switch-row-block-size);
556
+ position: relative;
557
+ }
558
+
559
+ :where(.bf-theme) :where(.bf-switch-input) {
560
+ block-size: var(--bf-control-visual-size);
561
+ inline-size: calc(var(--bf-control-visual-size) * 2);
562
+ inset-block-start: var(--bf-switch-track-offset);
563
+ inset-inline-start: 0;
564
+ margin: 0;
565
+ opacity: 0;
566
+ position: absolute;
567
+ }
568
+
569
+ :where(.bf-theme) :where(.bf-switch-slider) {
570
+ background: var(--bf-color-border-high-contrast);
571
+ block-size: var(--bf-control-visual-size);
572
+ border-radius: var(--bf-control-visual-size);
573
+ display: inline-block;
574
+ flex: none;
575
+ inline-size: calc(var(--bf-control-visual-size) * 2);
576
+ margin-block-start: var(--bf-switch-track-offset);
577
+ position: relative;
578
+ }
579
+
580
+ :where(.bf-theme) :where(.bf-switch-slider)::before {
581
+ background: var(--bf-color-background-default);
582
+ block-size: var(--bf-control-visual-size);
583
+ box-sizing: border-box;
584
+ border: var(--bf-border-width) solid var(--bf-color-border-high-contrast);
585
+ border-radius: 50%;
586
+ content: "";
587
+ inline-size: var(--bf-control-visual-size);
588
+ inset-block-start: 0;
589
+ inset-inline-start: 0;
590
+ position: absolute;
591
+ transition: transform 160ms ease;
592
+ }
593
+
594
+ :where(.bf-theme) :where(.bf-switch-input:checked + .bf-switch-slider) {
595
+ background: var(--bf-color-link-default);
596
+ }
597
+
598
+ :where(.bf-theme) :where(.bf-switch-input:checked + .bf-switch-slider)::before {
599
+ border-color: var(--bf-color-link-default);
600
+ transform: translateX(100%);
601
+ }
602
+
603
+ :where(.bf-theme) :where(.bf-switch-input:focus-visible + .bf-switch-slider) {
604
+ outline: 2px solid var(--bf-color-focus);
605
+ outline-offset: 2px;
606
+ }
607
+
608
+ :where(.bf-theme) :where(.bf-switch-input:disabled + .bf-switch-slider) {
609
+ opacity: 0.6;
610
+ }
611
+
612
+ :where(.bf-theme) :where(.bf-switch-label) {
613
+ ${typeStyles(body, { includeCase: false })} color: var(--bf-color-text-default);
614
+ cursor: pointer;
615
+ display: inline-block;
616
+ margin: 0 0 var(--bf-body-margin-bottom);
617
+ padding-block-end: 0;
618
+ padding-block-start: ${bodySelectedStartNudge};
619
+ }
620
+
621
+ :where(.bf-theme) :where(.bf-validation-message) {
622
+ ${typeStyles(body, { includeCase: false })} color: var(--bf-color-text-muted);
623
+ margin: 0 0 var(--bf-body-margin-bottom);
624
+ padding-block-end: 0;
625
+ padding-block-start: ${bodySelectedStartNudge};
626
+ padding-inline-start: calc(var(--bf-control-visual-size) + var(--bf-field-gap));
627
+ position: relative;
628
+ }
629
+
630
+ :where(.bf-theme) :where(.bf-validation-message)::before {
631
+ background: var(--bf-color-border-information);
632
+ block-size: calc(var(--bf-control-visual-size) * 0.5);
633
+ border-radius: 50%;
634
+ content: "";
635
+ inline-size: calc(var(--bf-control-visual-size) * 0.5);
636
+ inset-block-start: ${alignedVisualStart(bodyLineHeight, "(var(--bf-control-visual-size) * 0.5)", bodySelectedStartNudge)};
637
+ inset-inline-start: 0;
638
+ position: absolute;
639
+ }
640
+
641
+ :where(.bf-theme) :where(.is-caution, .bf-validation.is-caution) :where(.bf-input, input[type='text'], input[type='number'], input[type='search'], input[type='password'], input[type='email'], input[type='url'], textarea, select) {
642
+ background-color: var(--bf-color-background-caution-default);
643
+ border-bottom-color: var(--bf-color-border-caution);
644
+ }
645
+
646
+ :where(.bf-theme) :where(.is-caution, .bf-validation.is-caution) :where(.bf-input, input[type='text'], input[type='number'], input[type='search'], input[type='password'], input[type='email'], input[type='url'], textarea, select):hover {
647
+ background-color: var(--bf-color-background-caution-hover);
648
+ }
649
+
650
+ :where(.bf-theme) :where(.is-caution, .bf-validation.is-caution) :where(.bf-input, input[type='text'], input[type='number'], input[type='search'], input[type='password'], input[type='email'], input[type='url'], textarea, select):focus-visible {
651
+ background-color: var(--bf-color-background-caution-active);
652
+ }
653
+
654
+ :where(.bf-theme) :where(.is-caution, .bf-validation.is-caution) :where(.bf-validation-message) {
655
+ color: var(--bf-color-border-caution);
656
+ }
657
+
658
+ :where(.bf-theme) :where(.is-caution, .bf-validation.is-caution) :where(.bf-validation-message)::before {
659
+ background: var(--bf-color-border-caution);
660
+ }
661
+
662
+ :where(.bf-theme) :where(.is-error, .bf-validation.is-error) :where(.bf-input, input[type='text'], input[type='number'], input[type='search'], input[type='password'], input[type='email'], input[type='url'], textarea, select) {
663
+ background-color: var(--bf-color-background-negative-default);
664
+ border-bottom-color: var(--bf-color-border-negative);
665
+ }
666
+
667
+ :where(.bf-theme) :where(.is-error, .bf-validation.is-error) :where(.bf-input, input[type='text'], input[type='number'], input[type='search'], input[type='password'], input[type='email'], input[type='url'], textarea, select):hover {
668
+ background-color: var(--bf-color-background-negative-hover);
669
+ }
670
+
671
+ :where(.bf-theme) :where(.is-error, .bf-validation.is-error) :where(.bf-input, input[type='text'], input[type='number'], input[type='search'], input[type='password'], input[type='email'], input[type='url'], textarea, select):focus-visible {
672
+ background-color: var(--bf-color-background-negative-active);
673
+ }
674
+
675
+ :where(.bf-theme) :where(.is-error, .bf-validation.is-error) :where(.bf-validation-message) {
676
+ color: var(--bf-color-border-negative);
677
+ }
678
+
679
+ :where(.bf-theme) :where(.is-error, .bf-validation.is-error) :where(.bf-validation-message)::before {
680
+ background: var(--bf-color-border-negative);
681
+ }
682
+
683
+ :where(.bf-theme) :where(.is-success, .bf-validation.is-success) :where(.bf-input, input[type='text'], input[type='number'], input[type='search'], input[type='password'], input[type='email'], input[type='url'], textarea, select) {
684
+ background-color: var(--bf-color-background-positive-default);
685
+ border-bottom-color: var(--bf-color-border-positive);
686
+ }
687
+
688
+ :where(.bf-theme) :where(.is-success, .bf-validation.is-success) :where(.bf-input, input[type='text'], input[type='number'], input[type='search'], input[type='password'], input[type='email'], input[type='url'], textarea, select):hover {
689
+ background-color: var(--bf-color-background-positive-hover);
690
+ }
691
+
692
+ :where(.bf-theme) :where(.is-success, .bf-validation.is-success) :where(.bf-input, input[type='text'], input[type='number'], input[type='search'], input[type='password'], input[type='email'], input[type='url'], textarea, select):focus-visible {
693
+ background-color: var(--bf-color-background-positive-active);
694
+ }
695
+
696
+ :where(.bf-theme) :where(.is-success, .bf-validation.is-success) :where(.bf-validation-message) {
697
+ color: var(--bf-color-border-positive);
698
+ }
699
+
700
+ :where(.bf-theme) :where(.is-success, .bf-validation.is-success) :where(.bf-validation-message)::before {
701
+ background: var(--bf-color-border-positive);
702
+ }
703
+
704
+ :where(.bf-theme) :where(.bf-slider) {
705
+ align-items: flex-start;
706
+ display: inline-flex;
707
+ flex-wrap: nowrap;
708
+ gap: var(--bf-field-gap);
709
+ inline-size: 100%;
710
+ max-inline-size: 100%;
711
+ min-inline-size: 0;
712
+ }
713
+
714
+ :where(.bf-theme) :where(.bf-slider.is-stacked),
715
+ :where(.bf-theme) :where(.bf-field.is-range.is-stacked) :where(.bf-slider) {
716
+ align-items: stretch;
717
+ display: grid;
718
+ gap: var(--bf-field-gap);
719
+ grid-template-columns: minmax(0, 1fr);
720
+ }
721
+
722
+ :where(.bf-theme) :where(.bf-slider) :where(input[type='range']) {
723
+ align-self: flex-start;
724
+ flex: 1 1 8rem;
725
+ inline-size: 100%;
726
+ min-inline-size: 0;
727
+ }
728
+
729
+ :where(.bf-theme) :where(input[type='range']) {
730
+ appearance: none;
731
+ background: linear-gradient(
732
+ to right,
733
+ var(--bf-color-link-default) 0,
734
+ var(--bf-color-link-default) var(--bf-slider-fill-percent, 0%),
735
+ var(--bf-color-border-default) var(--bf-slider-fill-percent, 0%),
736
+ var(--bf-color-border-default) 100%
737
+ );
738
+ block-size: var(--bf-slider-track-size);
739
+ border: 0;
740
+ border-radius: var(--bf-baseline);
741
+ margin: var(--bf-slider-track-offset) 0 calc(var(--bf-slider-row-block-size) - var(--bf-slider-track-offset) - var(--bf-slider-track-size));
742
+ padding: 0;
743
+ }
744
+
745
+ :where(.bf-theme) :where(input[type='range']):focus:not(:focus-visible) {
746
+ outline: none;
747
+ }
748
+
749
+ :where(.bf-theme) :where(input[type='range'])::-webkit-slider-runnable-track {
750
+ background: transparent;
751
+ block-size: var(--bf-slider-track-size);
752
+ border-radius: var(--bf-baseline);
753
+ }
754
+
755
+ :where(.bf-theme) :where(input[type='range'])::-webkit-slider-thumb {
756
+ appearance: none;
757
+ background: var(--bf-color-background-default);
758
+ border: var(--bf-border-width) solid var(--bf-color-border-high-contrast);
759
+ block-size: var(--bf-control-visual-size);
760
+ border-radius: 50%;
761
+ box-shadow: 0 0 calc(var(--bf-control-visual-size) * 0.25) 1px rgba(0, 0, 0, 0.2);
762
+ inline-size: var(--bf-control-visual-size);
763
+ margin-top: calc((var(--bf-slider-track-size) - var(--bf-control-visual-size)) / 2);
764
+ }
765
+
766
+ :where(.bf-theme) :where(input[type='range']):focus-visible::-webkit-slider-thumb {
767
+ outline: calc(var(--bf-baseline) * 0.25) solid var(--bf-color-focus);
768
+ }
769
+
770
+ :where(.bf-theme) :where(input[type='range'])::-moz-range-track {
771
+ background: var(--bf-color-border-default);
772
+ block-size: var(--bf-slider-track-size);
773
+ border-radius: var(--bf-baseline);
774
+ }
775
+
776
+ :where(.bf-theme) :where(input[type='range'])::-moz-range-progress {
777
+ background: var(--bf-color-link-default);
778
+ block-size: var(--bf-slider-track-size);
779
+ border-radius: var(--bf-baseline);
780
+ }
781
+
782
+ :where(.bf-theme) :where(input[type='range'])::-moz-range-thumb {
783
+ background: var(--bf-color-background-default);
784
+ border: var(--bf-border-width) solid var(--bf-color-border-high-contrast);
785
+ block-size: var(--bf-control-visual-size);
786
+ border-radius: 50%;
787
+ box-shadow: 0 0 calc(var(--bf-control-visual-size) * 0.25) 1px rgba(0, 0, 0, 0.2);
788
+ inline-size: var(--bf-control-visual-size);
789
+ }
790
+
791
+ :where(.bf-theme) :where(input[type='range'])::-moz-focus-outer {
792
+ border: 0;
793
+ }
794
+
795
+ :where(.bf-theme) :where(input[type='range']):focus-visible::-moz-range-thumb {
796
+ outline: calc(var(--bf-baseline) * 0.25) solid var(--bf-color-focus);
797
+ }
798
+
799
+ ${iconCss()}
800
+
801
+ ${buttonActionsCss({ bodyTypeStyles, buttonMarginBottom, buttonPadding })}
802
+
803
+ ${ctaFigureAspectCss()}
804
+
805
+ ${editorialContentCss({ noticeTitleTypeStyles: typeStyles(h4, { includeCase: false }) })}
806
+
807
+ ${staticContentPortsCss()}
808
+
809
+ ${interactiveFeedbackCss()}
810
+
811
+ ${interactiveTablesCss()}
812
+
813
+ ${logoMediaCss()}
814
+
815
+ ${linkedLogoSiteLayoutCss()}
816
+
817
+ ${sitesFoundationCss()}
818
+
819
+ ${sitesEditorialPortsCss()}
820
+
821
+ ${sitesRichListsCss()}
822
+
822
823
  ${panelCss({
823
824
  bodyTypeStyles,
824
825
  h4TypeStyles: typeStyles(h4, { includeCase: false })
825
- })}
826
-
826
+ })}
827
+
827
828
  ${cardsOptionsCss({
828
829
  bodyStrongTypeStyles: typeStyles(body, { fontWeight: 600, includeCase: false }),
829
830
  bodyTypeStyles
830
- })}
831
-
832
- ${contentCardCss()}
833
-
831
+ })}
832
+
833
+ ${contentCardCss()}
834
+
834
835
  ${tabsChoiceBreadcrumbsCss({
835
836
  bodyCaseTypeStyles: typeStyles(body),
836
837
  bodyStrongTypeStyles: typeStyles(body, { fontWeight: 600, includeCase: false }),
837
838
  bodyTypeStyles,
838
839
  buttonMarginBottom,
839
840
  buttonPadding,
840
- })}
841
-
842
- ${tabSectionCss()}
843
-
841
+ })}
842
+
843
+ ${tabSectionCss()}
844
+
844
845
  ${articlePaginationCss({
845
846
  bodyCaseTypeStyles: typeStyles(body),
846
847
  titleTypeStyles: typeStyles(h5, { includeCase: false })
847
848
  })}
848
849
 
849
850
  ${listCss({ bodyTypeStyles })}
850
-
851
- :where(.bf-theme) :where(.bf-skip-link) {
852
- ${typeStyles(body, { includeCase: false })} background: var(--bf-color-background-alt);
853
- color: var(--bf-color-link-default);
854
- display: block;
855
- left: -999px;
856
- max-inline-size: calc(100vw - var(--bf-baseline));
857
- position: absolute;
858
- text-decoration: none;
859
- top: -999px;
860
- }
861
-
862
- :where(.bf-theme) :where(.bf-skip-link:hover) {
863
- text-decoration: underline;
864
- }
865
-
866
- :where(.bf-theme) :where(.bf-skip-link:focus, .bf-skip-link:focus-visible) {
867
- left: calc(var(--bf-baseline) * 0.5);
868
- outline: 2px solid var(--bf-color-focus);
869
- outline-offset: 0;
870
- padding-block: calc(var(--bf-baseline) * 1.5);
871
- padding-inline: calc(var(--bf-baseline) * 1.5);
872
- position: fixed;
873
- top: calc(var(--bf-baseline) * 0.5);
874
- z-index: 999999;
875
- }
876
-
851
+
852
+ :where(.bf-theme) :where(.bf-skip-link) {
853
+ ${typeStyles(body, { includeCase: false })} background: var(--bf-color-background-alt);
854
+ color: var(--bf-color-link-default);
855
+ display: block;
856
+ left: -999px;
857
+ max-inline-size: calc(100vw - var(--bf-baseline));
858
+ position: absolute;
859
+ text-decoration: none;
860
+ top: -999px;
861
+ }
862
+
863
+ :where(.bf-theme) :where(.bf-skip-link:hover) {
864
+ text-decoration: underline;
865
+ }
866
+
867
+ :where(.bf-theme) :where(.bf-skip-link:focus, .bf-skip-link:focus-visible) {
868
+ left: calc(var(--bf-baseline) * 0.5);
869
+ outline: 2px solid var(--bf-color-focus);
870
+ outline-offset: 0;
871
+ padding-block: calc(var(--bf-baseline) * 1.5);
872
+ padding-inline: calc(var(--bf-baseline) * 1.5);
873
+ position: fixed;
874
+ top: calc(var(--bf-baseline) * 0.5);
875
+ z-index: 999999;
876
+ }
877
+
877
878
  ${tableCss({
878
879
  bodyLineHeight,
879
880
  bodyMediumTypeStyles: typeStyles(body, { fontWeight: 500, includeCase: false }),
880
881
  bodyTypeStyles,
881
- })}
882
-
882
+ })}
883
+
883
884
  ${chipBadgeStatusCss({
884
885
  bodyCaseTypeStyles: typeStyles(body),
885
886
  bodyLineHeight,
@@ -887,1815 +888,1063 @@ ${chipBadgeStatusCss({
887
888
  h5SelectedEndNudge,
888
889
  h5SelectedStartNudge,
889
890
  bodyTypeStyles,
890
- })}
891
-
892
- :where(.bf-theme) :where(.bf-chip-dismiss, .bf-search-box-reset, .bf-search-and-filter-clear) {
893
- appearance: none;
894
- background: transparent;
895
- border: 0;
896
- color: var(--bf-color-text-default);
897
- cursor: pointer;
898
- flex: 0 0 auto;
899
- margin: 0;
900
- padding: 0;
901
- position: relative;
902
- text-indent: -9999px;
903
- }
904
-
905
- :where(.bf-theme) :where(.bf-chip-dismiss) {
906
- block-size: 1rem;
907
- inline-size: 1rem;
908
- margin-inline-start: var(--bf-ui-badge-padding-inline);
909
- }
910
-
911
- :where(.bf-theme) :where(.bf-chip-dismiss, .bf-search-box-reset, .bf-search-and-filter-clear)::before,
912
- :where(.bf-theme) :where(.bf-chip-dismiss, .bf-search-box-reset, .bf-search-and-filter-clear)::after {
913
- background: currentColor;
914
- block-size: 2px;
915
- content: "";
916
- inline-size: 0.75rem;
917
- left: 50%;
918
- position: absolute;
919
- top: 50%;
920
- }
921
-
922
- :where(.bf-theme) :where(.bf-chip-dismiss, .bf-search-box-reset, .bf-search-and-filter-clear)::before {
923
- transform: translate(-50%, -50%) rotate(45deg);
924
- }
925
-
926
- :where(.bf-theme) :where(.bf-chip-dismiss, .bf-search-box-reset, .bf-search-and-filter-clear)::after {
927
- transform: translate(-50%, -50%) rotate(-45deg);
928
- }
929
-
930
-
891
+ })}
892
+
893
+ :where(.bf-theme) :where(.bf-chip-dismiss, .bf-search-box-reset, .bf-search-and-filter-clear) {
894
+ appearance: none;
895
+ background: transparent;
896
+ border: 0;
897
+ color: var(--bf-color-text-default);
898
+ cursor: pointer;
899
+ flex: 0 0 auto;
900
+ margin: 0;
901
+ padding: 0;
902
+ position: relative;
903
+ text-indent: -9999px;
904
+ }
905
+
906
+ :where(.bf-theme) :where(.bf-chip-dismiss) {
907
+ block-size: 1rem;
908
+ inline-size: 1rem;
909
+ margin-inline-start: var(--bf-ui-badge-padding-inline);
910
+ }
911
+
912
+ :where(.bf-theme) :where(.bf-chip-dismiss, .bf-search-box-reset, .bf-search-and-filter-clear)::before,
913
+ :where(.bf-theme) :where(.bf-chip-dismiss, .bf-search-box-reset, .bf-search-and-filter-clear)::after {
914
+ background: currentColor;
915
+ block-size: 2px;
916
+ content: "";
917
+ inline-size: 0.75rem;
918
+ left: 50%;
919
+ position: absolute;
920
+ top: 50%;
921
+ }
922
+
923
+ :where(.bf-theme) :where(.bf-chip-dismiss, .bf-search-box-reset, .bf-search-and-filter-clear)::before {
924
+ transform: translate(-50%, -50%) rotate(45deg);
925
+ }
926
+
927
+ :where(.bf-theme) :where(.bf-chip-dismiss, .bf-search-box-reset, .bf-search-and-filter-clear)::after {
928
+ transform: translate(-50%, -50%) rotate(-45deg);
929
+ }
930
+
931
+
931
932
  ${searchBoxAndFilterCss({
932
933
  bodySelectedStartNudge,
933
934
  bodyTypeStyles,
934
935
  buttonBlockPaddingVar,
935
936
  h6TypeStyles,
936
937
  inputMarginBottom,
937
- })}
938
-
939
- ${controlRowCss()}
940
-
941
- ${listTreeCss({ bodyTypeStyles })}
942
-
943
- :where(.bf-theme) :where(.bf-side-navigation, .bf-side-navigation.is-icons, .bf-side-navigation.is-accordion, .bf-side-navigation.is-raw-html) {
944
- color: var(--bf-color-text-inactive);
945
- display: block;
946
- inline-size: 100%;
947
- }
948
-
949
- :where(.bf-theme) :where(.bf-side-navigation-drawer) {
950
- background: var(--bf-color-background-default);
951
- bottom: 0;
952
- color: var(--bf-color-text-default);
953
- inline-size: 100%;
954
- left: 0;
955
- overflow: auto;
956
- position: fixed;
957
- top: 0;
958
- transform: translateX(-100%);
959
- transition: transform 160ms ease, visibility 160ms ease, box-shadow 160ms ease;
960
- visibility: visible;
961
- z-index: 102;
962
- }
963
-
964
- :where(.bf-theme) :where(.bf-side-navigation, .bf-side-navigation.is-icons, .bf-side-navigation.is-accordion, .bf-side-navigation.is-raw-html):where(.is-drawer-expanded) :where(.bf-side-navigation-drawer) {
965
- box-shadow: 0 24px 72px rgba(0, 0, 0, 0.38);
966
- transform: translateX(0);
967
- }
968
-
969
- :where(.bf-theme) :where(.bf-side-navigation, .bf-side-navigation.is-icons, .bf-side-navigation.is-accordion, .bf-side-navigation.is-raw-html):where(.is-drawer-hidden) :where(.bf-side-navigation-drawer) {
970
- display: none;
971
- }
972
-
973
- :where(.bf-theme) :where(.bf-side-navigation-overlay) {
974
- background: var(--bf-color-background-overlay);
975
- inset: 0;
976
- opacity: 0;
977
- pointer-events: none;
978
- position: fixed;
979
- transition: opacity 160ms ease, visibility 160ms ease;
980
- visibility: hidden;
981
- z-index: 101;
982
- }
983
-
984
- :where(.bf-theme) :where(.bf-side-navigation, .bf-side-navigation.is-icons, .bf-side-navigation.is-accordion, .bf-side-navigation.is-raw-html):where(.is-drawer-expanded) :where(.bf-side-navigation-overlay) {
985
- opacity: 1;
986
- pointer-events: auto;
987
- visibility: visible;
988
- }
989
-
990
- :where(.bf-theme) :where(.bf-side-navigation-drawer-header) {
991
- background: var(--bf-color-background-default);
992
- border-bottom: var(--bf-border-width) solid var(--bf-color-border-low-contrast);
993
- margin-bottom: calc(var(--bf-baseline) * 2);
994
- padding-bottom: calc(var(--bf-panel-padding-block) - var(--bf-border-width));
995
- padding-inline: var(--bf-panel-padding-inline);
996
- padding-top: var(--bf-panel-padding-block);
997
- position: sticky;
998
- top: 0;
999
- z-index: 1;
1000
- }
1001
-
1002
- :where(.bf-theme) :where(.bf-side-navigation-toggle, .bf-side-navigation-toggle.is-in-drawer) {
1003
- ${typeStyles(body, { includeCase: false })} align-items: center;
1004
- appearance: none;
1005
- background: var(--bf-color-background-default);
1006
- border: var(--bf-border-width) solid var(--bf-color-border-high-contrast);
1007
- border-radius: var(--bf-radius);
1008
- color: var(--bf-color-text-default);
1009
- cursor: pointer;
1010
- display: inline-flex;
1011
- gap: calc(var(--bf-baseline) * 0.5);
1012
- justify-content: center;
1013
- margin: 0 0 ${buttonMarginBottom};
1014
- ${controlPadding(buttonBlockPaddingVar)} padding-inline: var(--bf-control-inline-padding-action);
1015
- text-decoration: none;
1016
- }
1017
-
1018
- :where(.bf-theme) :where(.bf-side-navigation-toggle)::before {
1019
- background-image: var(--bf-ui-icon-chevron-down);
1020
- background-position: center;
1021
- background-repeat: no-repeat;
1022
- background-size: 1rem 1rem;
1023
- block-size: 1rem;
1024
- content: "";
1025
- inline-size: 1rem;
1026
- transform: rotate(-90deg);
1027
- }
1028
-
1029
- :where(.bf-theme) :where(.bf-side-navigation-toggle.is-in-drawer)::before {
1030
- background-image: var(--bf-ui-icon-chevron-down);
1031
- background-position: center;
1032
- background-repeat: no-repeat;
1033
- background-size: 1rem 1rem;
1034
- block-size: 1rem;
1035
- content: "";
1036
- inline-size: 1rem;
1037
- transform: rotate(90deg);
1038
- }
1039
-
1040
- :where(.bf-theme) :where(.bf-side-navigation-toggle:hover) {
1041
- background: var(--bf-color-background-hover);
1042
- }
1043
-
1044
- :where(.bf-theme) :where(.bf-side-navigation-toggle:focus:not(:focus-visible)) {
1045
- outline: none;
1046
- }
1047
-
1048
- :where(.bf-theme) :where(.bf-side-navigation-toggle:focus-visible) {
1049
- outline: 2px solid var(--bf-color-focus);
1050
- outline-offset: -2px;
1051
- }
1052
-
1053
- :where(.bf-theme) :where(.bf-side-navigation-heading, .bf-side-navigation-heading.is-linked) {
1054
- ${typeStyles(body, { fontWeight: 600, includeCase: false })} display: block;
1055
- margin: 0 0 var(--bf-body-margin-bottom);
1056
- padding-block: var(--bf-body-nudge-start) 0;
1057
- }
1058
-
1059
- :where(.bf-theme) :where(.bf-side-navigation-list) {
1060
- border-bottom: var(--bf-border-width) solid var(--bf-color-border-low-contrast);
1061
- list-style: none;
1062
- margin: 0 0 calc(var(--bf-baseline) * 2);
1063
- padding: 0 0 calc((var(--bf-baseline) * 2) - var(--bf-border-width));
1064
- }
1065
-
1066
- :where(.bf-theme) :where(.bf-side-navigation-list:last-of-type) {
1067
- border-bottom: 0;
1068
- margin-bottom: 0;
1069
- padding-bottom: 0;
1070
- }
1071
-
1072
- :where(.bf-theme) :where(.bf-side-navigation-item, .bf-side-navigation-item.is-title) {
1073
- margin: 0;
1074
- position: relative;
1075
- }
1076
-
1077
- :where(.bf-theme) :where(.bf-side-navigation-link, .bf-side-navigation-text, .bf-side-navigation-accordion-button) {
1078
- ${typeStyles(body, { includeCase: false })} align-items: center;
1079
- background: transparent;
1080
- border: 0;
1081
- color: var(--bf-color-text-inactive);
1082
- display: flex;
1083
- gap: calc(var(--bf-baseline) * 0.5);
1084
- inline-size: 100%;
1085
- justify-content: flex-start;
1086
- margin: 0;
1087
- min-block-size: var(--bf-control-box-size-compact);
1088
- ${controlPadding(controlCompactBlockPaddingVar, "0rem")} padding-inline: var(--bf-panel-padding-inline);
1089
- position: relative;
1090
- text-align: left;
1091
- text-decoration: none;
1092
- }
1093
-
1094
- :where(.bf-theme) :where(.bf-side-navigation-accordion-button) {
1095
- gap: var(--bf-disclosure-gap);
1096
- }
1097
-
1098
- :where(.bf-theme) :where(.bf-side-navigation-item.is-title) > :where(.bf-side-navigation-link, .bf-side-navigation-text) {
1099
- color: var(--bf-color-text-default);
1100
- font-weight: 600;
1101
- }
1102
-
1103
- :where(.bf-theme) :where(.bf-side-navigation-heading, .bf-side-navigation-heading.is-linked),
1104
- :where(.bf-theme) :where(.bf-side-navigation-list) > :where(.bf-side-navigation-item, .bf-side-navigation-item.is-title) > :where(.bf-side-navigation-link, .bf-side-navigation-text, .bf-side-navigation-accordion-button) {
1105
- padding-inline-start: var(--bf-panel-padding-inline);
1106
- }
1107
-
1108
- :where(.bf-theme) :where(.bf-side-navigation-item, .bf-side-navigation-item.is-title)
1109
- :where(.bf-side-navigation-item, .bf-side-navigation-item.is-title)
1110
- > :where(.bf-side-navigation-link, .bf-side-navigation-text, .bf-side-navigation-accordion-button) {
1111
- padding-inline-start: calc(var(--bf-panel-padding-inline) + (var(--bf-baseline) * 2));
1112
- }
1113
-
1114
- :where(.bf-theme) :where(.bf-side-navigation-item, .bf-side-navigation-item.is-title)
1115
- :where(.bf-side-navigation-item, .bf-side-navigation-item.is-title)
1116
- :where(.bf-side-navigation-item, .bf-side-navigation-item.is-title)
1117
- > :where(.bf-side-navigation-link, .bf-side-navigation-text, .bf-side-navigation-accordion-button) {
1118
- padding-inline-start: calc(var(--bf-panel-padding-inline) + (var(--bf-baseline) * 4));
1119
- }
1120
-
1121
- :where(.bf-theme) :where(.bf-side-navigation-item, .bf-side-navigation-item.is-title)
1122
- :where(.bf-side-navigation-item, .bf-side-navigation-item.is-title)
1123
- :where(.bf-side-navigation-item, .bf-side-navigation-item.is-title)
1124
- :where(.bf-side-navigation-item, .bf-side-navigation-item.is-title)
1125
- > :where(.bf-side-navigation-link, .bf-side-navigation-text, .bf-side-navigation-accordion-button) {
1126
- padding-inline-start: calc(var(--bf-panel-padding-inline) + (var(--bf-baseline) * 6));
1127
- }
1128
-
1129
- :where(.bf-theme) :where(.bf-side-navigation-link:hover, .bf-side-navigation-accordion-button:hover) {
1130
- background: var(--bf-color-background-hover);
1131
- color: var(--bf-color-text-default);
1132
- text-decoration: none;
1133
- }
1134
-
1135
- :where(.bf-theme) :where(.bf-side-navigation-link:focus:not(:focus-visible), .bf-side-navigation-accordion-button:focus:not(:focus-visible)) {
1136
- outline: none;
1137
- }
1138
-
1139
- :where(.bf-theme) :where(.bf-side-navigation-link:focus-visible, .bf-side-navigation-accordion-button:focus-visible) {
1140
- outline: 2px solid var(--bf-color-focus);
1141
- outline-offset: -2px;
1142
- }
1143
-
1144
- :where(.bf-theme) :where(.bf-side-navigation-link.is-active, .bf-side-navigation-link[aria-current='page'], .bf-side-navigation-link[aria-current='true']) {
1145
- background: var(--bf-color-background-active);
1146
- box-shadow: inset var(--bf-bar-thickness) 0 0 var(--bf-color-text-default);
1147
- color: var(--bf-color-text-default);
1148
- cursor: default;
1149
- }
1150
-
1151
- :where(.bf-theme) :where(.bf-top-navigation) {
1152
- background: var(--bf-color-background-default);
1153
- box-shadow: inset 0 calc(var(--bf-border-width) * -1) 0 var(--bf-color-border-low-contrast);
1154
- color: var(--bf-color-text-default);
1155
- isolation: isolate;
1156
- position: relative;
1157
- z-index: 50;
1158
- }
1159
-
1160
- :where(.bf-theme) :where(.bf-top-navigation.is-sticky) {
1161
- position: sticky;
1162
- top: 0;
1163
- z-index: 98;
1164
- }
1165
-
1166
- :where(.bf-theme) :where(.bf-top-navigation-row) {
1167
- display: flex;
1168
- flex-direction: column;
1169
- min-block-size: var(--bf-navigation-bar-min-block-size);
1170
- min-inline-size: 0;
1171
- padding-block: calc(var(--bf-baseline) / 2);
1172
- padding-inline: var(--bf-panel-padding-inline);
1173
- position: relative;
1174
- z-index: 1;
1175
- }
1176
-
1177
- :where(.bf-theme) :where(.bf-top-navigation) :where(.bf-fixed-width) > :where(.bf-top-navigation-row) {
1178
- padding-inline: 0;
1179
- }
1180
-
1181
- :where(.bf-theme) :where(.bf-top-navigation-banner) {
1182
- align-items: stretch;
1183
- display: flex;
1184
- justify-content: space-between;
1185
- min-inline-size: 0;
1186
- }
1187
-
1188
- :where(.bf-theme) :where(.bf-top-navigation-logo) {
1189
- align-items: stretch;
1190
- display: flex;
1191
- min-inline-size: 0;
1192
- }
1193
-
1194
- :where(.bf-theme) :where(.bf-top-navigation-logo) > :where(.bf-top-navigation-link) {
1195
- ${typeStyles(body, { fontWeight: 500, includeCase: false })} align-items: center;
1196
- color: var(--bf-color-text-default);
1197
- column-gap: calc(var(--bf-baseline) * 1.5);
1198
- display: inline-flex;
1199
- inline-size: auto;
1200
- justify-content: flex-start;
1201
- margin: 0;
1202
- min-inline-size: 0;
1203
- padding-block: var(--bf-top-navigation-link-padding-block);
1204
- padding-inline: 0;
1205
- text-decoration: none;
1206
- }
1207
-
1208
- :where(.bf-theme) :where(.bf-top-navigation-logo) > :where(.bf-top-navigation-link:hover) {
1209
- background: transparent;
1210
- text-decoration: none;
1211
- }
1212
-
1213
- :where(.bf-theme) :where(.bf-top-navigation-logo-tag) {
1214
- align-items: center;
1215
- background: var(--bf-color-accent);
1216
- block-size: var(--bf-top-navigation-logo-tag-block-size);
1217
- color: #ffffff;
1218
- display: inline-flex;
1219
- flex: 0 0 auto;
1220
- inline-size: var(--bf-top-navigation-logo-tag-inline-size);
1221
- justify-content: center;
1222
- }
1223
-
1224
- :where(.bf-theme) :where(.bf-top-navigation-logo-icon) {
1225
- block-size: var(--bf-top-navigation-logo-icon-size);
1226
- inline-size: var(--bf-top-navigation-logo-icon-size);
1227
- }
1228
-
1229
- :where(.bf-theme) :where(.bf-top-navigation-logo-title) {
1230
- min-inline-size: 0;
1231
- overflow: hidden;
1232
- text-overflow: ellipsis;
1233
- white-space: nowrap;
1234
- }
1235
-
1236
- :where(.bf-theme) :where(.bf-top-navigation-nav) {
1237
- display: none;
1238
- flex-direction: column;
1239
- min-inline-size: 0;
1240
- }
1241
-
1242
- :where(.bf-theme) :where(.bf-top-navigation-nav[aria-hidden='false']) {
1243
- display: flex;
1244
- }
1245
-
1246
- :where(.bf-theme) :where(.bf-top-navigation-list) {
1247
- display: flex;
1248
- flex-direction: column;
1249
- list-style: none;
1250
- margin: 0;
1251
- min-inline-size: 0;
1252
- padding: 0;
1253
- }
1254
-
1255
- :where(.bf-theme) :where(.bf-top-navigation-list.is-banner-actions) {
1256
- align-items: stretch;
1257
- display: flex;
1258
- flex: 0 0 auto;
1259
- flex-direction: row;
1260
- }
1261
-
1262
- :where(.bf-theme) :where(.bf-top-navigation-item) {
1263
- margin: 0;
1264
- min-inline-size: 0;
1265
- position: relative;
1266
- }
1267
-
1268
- :where(.bf-theme) :where(.bf-top-navigation-nav) :where(.bf-top-navigation-item) {
1269
- border-top: var(--bf-border-width) solid var(--bf-color-border-low-contrast);
1270
- }
1271
-
1272
- :where(.bf-theme) :where(.bf-top-navigation-item.is-right-shifted) {
1273
- margin-inline-start: auto;
1274
- }
1275
-
1276
- :where(.bf-theme) :where(.bf-top-navigation-link, .bf-top-navigation-menu-toggle, .bf-top-navigation-search-toggle) {
1277
- ${typeStyles(body, { includeCase: false })} align-items: center;
1278
- appearance: none;
1279
- background: transparent;
1280
- border: 0;
1281
- color: var(--bf-color-text-default);
1282
- cursor: pointer;
1283
- display: inline-flex;
1284
- gap: calc(var(--bf-baseline) * 1);
1285
- inline-size: 100%;
1286
- justify-content: flex-start;
1287
- margin: 0;
1288
- min-inline-size: 0;
1289
- padding-block: var(--bf-top-navigation-link-padding-block);
1290
- padding-inline: var(--bf-top-navigation-link-padding-inline);
1291
- position: relative;
1292
- text-align: left;
1293
- text-decoration: none;
1294
- white-space: nowrap;
1295
- }
1296
-
1297
- :where(.bf-theme) :where(.bf-top-navigation-link:hover, .bf-top-navigation-menu-toggle:hover, .bf-top-navigation-search-toggle:hover) {
1298
- background: var(--bf-color-background-hover);
1299
- text-decoration: none;
1300
- }
1301
-
1302
- :where(.bf-theme) :where(.bf-top-navigation-link:focus:not(:focus-visible), .bf-top-navigation-menu-toggle:focus:not(:focus-visible), .bf-top-navigation-search-toggle:focus:not(:focus-visible)) {
1303
- outline: none;
1304
- }
1305
-
1306
- :where(.bf-theme) :where(.bf-top-navigation-link:focus-visible, .bf-top-navigation-menu-toggle:focus-visible, .bf-top-navigation-search-toggle:focus-visible) {
1307
- outline: 2px solid var(--bf-color-focus);
1308
- outline-offset: -2px;
1309
- }
1310
-
1311
- :where(.bf-theme) :where(.bf-top-navigation-item.is-selected) > :where(.bf-top-navigation-link),
1312
- :where(.bf-theme) :where(.bf-top-navigation-item.is-dropdown-toggle.is-active) > :where(.bf-top-navigation-link),
1313
- :where(.bf-theme) :where(.bf-top-navigation-link[aria-current='page']) {
1314
- background: var(--bf-color-background-hover);
1315
- box-shadow: inset var(--bf-bar-thickness) 0 0 var(--bf-color-text-default);
1316
- color: var(--bf-color-text-default);
1317
- }
1318
-
1319
- :where(.bf-theme) :where(.bf-top-navigation-menu-toggle) {
1320
- display: inline-flex;
1321
- }
1322
-
1323
- :where(.bf-theme) :where(.bf-top-navigation-search-toggle) {
1324
- justify-content: center;
1325
- min-inline-size: var(--bf-top-navigation-search-toggle-inline-size);
1326
- }
1327
-
1328
- :where(.bf-theme) :where(.bf-top-navigation-dropdown-toggle) {
1329
- padding-inline-end: calc(var(--bf-top-navigation-link-padding-inline) + var(--bf-top-navigation-end-slot-inline-size));
1330
- }
1331
-
1332
- :where(.bf-theme) :where(.bf-top-navigation-dropdown-toggle)::after {
1333
- background-image: var(--bf-ui-icon-chevron-down);
1334
- background-position: center;
1335
- background-repeat: no-repeat;
1336
- background-size: 1rem 1rem;
1337
- block-size: 1rem;
1338
- bottom: 0;
1339
- content: "";
1340
- inline-size: 1rem;
1341
- margin-block: auto;
1342
- pointer-events: none;
1343
- position: absolute;
1344
- right: var(--bf-top-navigation-link-padding-inline);
1345
- top: 0;
1346
- transform: rotate(0deg);
1347
- transition: transform 160ms ease;
1348
- }
1349
-
1350
- :where(.bf-theme) :where(.bf-top-navigation-item.is-dropdown-toggle.is-active) > :where(.bf-top-navigation-dropdown-toggle)::after {
1351
- transform: rotate(180deg);
1352
- }
1353
-
1354
- :where(.bf-theme) :where(.bf-top-navigation-dropdown) {
1355
- background: var(--bf-color-background-default);
1356
- border-top: var(--bf-border-width) solid var(--bf-color-border-low-contrast);
1357
- display: none;
1358
- list-style: none;
1359
- margin: 0;
1360
- min-inline-size: 100%;
1361
- padding: 0;
1362
- }
1363
-
1364
- :where(.bf-theme) :where(.bf-top-navigation-item.is-dropdown-toggle.is-active) > :where(.bf-top-navigation-dropdown) {
1365
- display: block;
1366
- }
1367
-
1368
- :where(.bf-theme) :where(.bf-top-navigation-dropdown-item) {
1369
- ${typeStyles(body, { includeCase: false })} align-items: center;
1370
- color: var(--bf-color-text-default);
1371
- display: flex;
1372
- gap: calc(var(--bf-baseline) * 2);
1373
- inline-size: 100%;
1374
- justify-content: space-between;
1375
- min-inline-size: 0;
1376
- padding-block: var(--bf-top-navigation-link-padding-block);
1377
- padding-inline: calc(var(--bf-top-navigation-link-padding-inline) + (var(--bf-baseline) * 2)) var(--bf-top-navigation-link-padding-inline);
1378
- text-align: left;
1379
- text-decoration: none;
1380
- white-space: nowrap;
1381
- }
1382
-
1383
- :where(.bf-theme) :where(button.bf-top-navigation-dropdown-item) {
1384
- appearance: none;
1385
- background: transparent;
1386
- border: 0;
1387
- cursor: pointer;
1388
- font: inherit;
1389
- }
1390
-
1391
- :where(.bf-theme) :where(.bf-top-navigation-dropdown-item-label) {
1392
- min-inline-size: 0;
1393
- overflow: hidden;
1394
- text-overflow: ellipsis;
1395
- }
1396
-
1397
- :where(.bf-theme) :where(.bf-top-navigation-dropdown-item-shortcut) {
1398
- color: var(--bf-color-text-muted);
1399
- flex: 0 0 auto;
1400
- white-space: nowrap;
1401
- }
1402
-
1403
- :where(.bf-theme) :where(button.bf-top-navigation-dropdown-item:disabled) {
1404
- color: var(--bf-color-text-muted);
1405
- cursor: default;
1406
- }
1407
-
1408
- :where(.bf-theme) :where(.bf-top-navigation-dropdown > li.is-divider) {
1409
- border-top: var(--bf-border-width) solid var(--bf-color-border-default);
1410
- margin-block: calc(var(--bf-baseline) * 0.5);
1411
- }
1412
-
1413
- :where(.bf-theme) :where(.bf-top-navigation-dropdown > li + li) > :where(.bf-top-navigation-dropdown-item) {
1414
- border-top: var(--bf-border-width) solid var(--bf-color-border-low-contrast);
1415
- }
1416
-
1417
- :where(.bf-theme) :where(.bf-top-navigation-dropdown-item:hover) {
1418
- background: var(--bf-color-background-hover);
1419
- text-decoration: none;
1420
- }
1421
-
1422
- :where(.bf-theme) :where(.bf-top-navigation-dropdown-item:focus:not(:focus-visible)) {
1423
- outline: none;
1424
- }
1425
-
1426
- :where(.bf-theme) :where(.bf-top-navigation-dropdown-item:focus-visible) {
1427
- outline: 2px solid var(--bf-color-focus);
1428
- outline-offset: -2px;
1429
- }
1430
-
1431
- :where(.bf-theme) :where(.bf-top-navigation-search-label) {
1432
- display: none;
1433
- }
1434
-
1435
- :where(.bf-theme) :where(.bf-top-navigation-search-toggle)::after {
1436
- background-image: var(--bf-ui-icon-search);
1437
- background-position: center;
1438
- background-repeat: no-repeat;
1439
- background-size: 1rem 1rem;
1440
- block-size: 1rem;
1441
- content: "";
1442
- flex: 0 0 1rem;
1443
- inline-size: 1rem;
1444
- }
1445
-
1446
- :where(.bf-theme) :where(.bf-top-navigation-search-toggle[aria-pressed='true'])::after {
1447
- background-image: var(--bf-ui-icon-close);
1448
- }
1449
-
1450
- :where(.bf-theme) :where(.bf-top-navigation-nav) :where(.bf-top-navigation-search-toggle) {
1451
- display: none;
1452
- }
1453
-
1454
- :where(.bf-theme) :where(.bf-top-navigation-search) {
1455
- border-top: var(--bf-border-width) solid var(--bf-color-border-low-contrast);
1456
- display: none;
1457
- min-inline-size: 0;
1458
- padding-block: var(--bf-top-navigation-link-padding-block);
1459
- padding-inline: var(--bf-top-navigation-link-padding-inline);
1460
- }
1461
-
1462
- :where(.bf-theme) :where(.bf-top-navigation-search[aria-hidden='false']) {
1463
- display: block;
1464
- }
1465
-
1466
- :where(.bf-theme) :where(.bf-top-navigation:has(.bf-top-navigation-search[aria-hidden='false'])) :where(.bf-top-navigation-nav) > :where(.bf-top-navigation-list) {
1467
- display: none;
1468
- }
1469
-
1470
- :where(.bf-theme) :where(.bf-top-navigation-search) :where(.bf-search-box) {
1471
- margin-bottom: 0;
1472
- }
1473
-
1474
- :where(.bf-theme) :where(.bf-top-navigation-search-overlay) {
1475
- display: none;
1476
- }
1477
-
1478
- @media (min-width: 64.75rem) {
1479
- :where(.bf-theme) :where(.bf-top-navigation-row) {
1480
- align-items: stretch;
1481
- flex-direction: row;
1482
- gap: calc(var(--bf-baseline) * 2);
1483
- }
1484
-
1485
- :where(.bf-theme) :where(.bf-top-navigation-banner) {
1486
- flex: 0 0 auto;
1487
- }
1488
-
1489
- :where(.bf-theme) :where(.bf-top-navigation-nav) {
1490
- align-items: stretch;
1491
- display: flex;
1492
- flex: 1 1 auto;
1493
- flex-direction: row;
1494
- justify-content: space-between;
1495
- }
1496
-
1497
- :where(.bf-theme) :where(.bf-top-navigation-list) {
1498
- align-items: stretch;
1499
- flex-direction: row;
1500
- flex-wrap: wrap;
1501
- }
1502
-
1503
- :where(.bf-theme) :where(.bf-top-navigation-nav) :where(.bf-top-navigation-item) {
1504
- border-top: 0;
1505
- }
1506
-
1507
- :where(.bf-theme) :where(.bf-top-navigation-link, .bf-top-navigation-search-toggle) {
1508
- inline-size: auto;
1509
- }
1510
-
1511
- :where(.bf-theme) :where(.bf-top-navigation-list.is-banner-actions) {
1512
- display: none;
1513
- }
1514
-
1515
- :where(.bf-theme) :where(.bf-top-navigation-nav) :where(.bf-top-navigation-search-toggle) {
1516
- display: inline-flex;
1517
- }
1518
-
1519
- :where(.bf-theme) :where(.bf-top-navigation-search-toggle) {
1520
- justify-content: flex-start;
1521
- min-inline-size: 0;
1522
- }
1523
-
1524
- :where(.bf-theme) :where(.bf-top-navigation-search-label) {
1525
- display: inline;
1526
- }
1527
-
1528
- :where(.bf-theme) :where(.bf-top-navigation-item.is-selected) > :where(.bf-top-navigation-link),
1529
- :where(.bf-theme) :where(.bf-top-navigation-item.is-dropdown-toggle.is-active) > :where(.bf-top-navigation-link),
1530
- :where(.bf-theme) :where(.bf-top-navigation-link[aria-current='page']) {
1531
- box-shadow: inset 0 calc(var(--bf-bar-thickness) * -1) 0 var(--bf-color-text-default);
1532
- }
1533
-
1534
- :where(.bf-theme) :where(.bf-top-navigation-dropdown) {
1535
- border-top: 0;
1536
- box-shadow: 0 0 0 var(--bf-border-width) var(--bf-color-border-low-contrast), 0 calc(var(--bf-baseline) * 0.5) calc(var(--bf-baseline) * 2) rgba(0, 0, 0, 0.16);
1537
- left: 0;
1538
- min-inline-size: max(100%, 12rem);
1539
- position: absolute;
1540
- top: calc((var(--bf-top-navigation-link-padding-block) * 2) + var(--bf-body-line-height));
1541
- z-index: 5;
1542
- }
1543
-
1544
- :where(.bf-theme) :where(.bf-top-navigation-dropdown.is-right) {
1545
- left: auto;
1546
- right: 0;
1547
- }
1548
-
1549
- :where(.bf-theme) :where(.bf-top-navigation-dropdown-item) {
1550
- padding-inline: var(--bf-top-navigation-link-padding-inline);
1551
- }
1552
-
1553
- :where(.bf-theme) :where(.bf-top-navigation-search) {
1554
- align-items: center;
1555
- border-top: 0;
1556
- flex: 1 1 auto;
1557
- justify-content: flex-end;
1558
- padding-block: var(--bf-top-navigation-link-padding-block);
1559
- padding-inline: 0;
1560
- }
1561
-
1562
- :where(.bf-theme) :where(.bf-top-navigation-search) :where(.bf-search-box) {
1563
- inline-size: min(100%, var(--bf-top-navigation-search-max-inline-size));
1564
- }
1565
-
1566
- :where(.bf-theme) :where(.bf-top-navigation-search-overlay) {
1567
- background: var(--bf-color-background-overlay);
1568
- display: block;
1569
- inset: 0;
1570
- opacity: 0;
1571
- pointer-events: none;
1572
- position: fixed;
1573
- transition: opacity 160ms ease, visibility 160ms ease;
1574
- visibility: hidden;
1575
- z-index: 0;
1576
- }
1577
-
1578
- :where(.bf-theme) :where(.bf-top-navigation-search-overlay[aria-hidden='false']) {
1579
- opacity: 0.5;
1580
- pointer-events: auto;
1581
- visibility: visible;
1582
- }
1583
- }
1584
-
1585
- :where(.bf-theme) :where(.bf-side-navigation-item:has(> .bf-side-navigation-list [aria-current='page']), .bf-side-navigation-item:has(> .bf-side-navigation-list [aria-current='true'])) > :where(.bf-side-navigation-link, .bf-side-navigation-accordion-button) {
1586
- color: var(--bf-color-text-default);
1587
- }
1588
-
1589
- :where(.bf-theme) :where(.bf-side-navigation-accordion-button)::before,
1590
- :where(.bf-theme) :where(.bf-side-navigation-expand)::before {
1591
- background-image: var(--bf-ui-icon-chevron-down);
1592
- background-position: center;
1593
- background-repeat: no-repeat;
1594
- background-size: var(--bf-disclosure-icon-inline-size) var(--bf-disclosure-icon-inline-size);
1595
- block-size: var(--bf-disclosure-icon-inline-size);
1596
- content: "";
1597
- flex: 0 0 var(--bf-disclosure-icon-inline-size);
1598
- inline-size: var(--bf-disclosure-icon-inline-size);
1599
- transition: transform 120ms ease;
1600
- }
1601
-
1602
- :where(.bf-theme) :where(.bf-side-navigation-accordion-button[aria-expanded='false'], .bf-side-navigation-expand[aria-expanded='false'])::before {
1603
- transform: rotate(-90deg);
1604
- }
1605
-
1606
- :where(.bf-theme) :where(.bf-side-navigation-expand) {
1607
- ${typeStyles(body, { includeCase: false })} background: transparent;
1608
- border: 0;
1609
- color: inherit;
1610
- cursor: pointer;
1611
- inset-block-start: 0;
1612
- margin: 0;
1613
- min-block-size: var(--bf-control-box-size-compact);
1614
- padding-inline: calc(var(--bf-baseline) * 0.5);
1615
- position: absolute;
1616
- right: 0;
1617
- }
1618
-
1619
- :where(.bf-theme) :where(.bf-side-navigation-list[aria-expanded='false']) {
1620
- block-size: 0;
1621
- margin-bottom: 0;
1622
- opacity: 0;
1623
- overflow: hidden;
1624
- padding-bottom: 0;
1625
- transform: translate3d(0, calc(var(--bf-baseline) * -0.5), 0);
1626
- visibility: hidden;
1627
- }
1628
-
1629
- :where(.bf-theme) :where(.bf-side-navigation-list[aria-expanded='true']) {
1630
- block-size: auto;
1631
- opacity: 1;
1632
- transform: translate3d(0, 0, 0);
1633
- visibility: visible;
1634
- }
1635
-
1636
- :where(.bf-theme) :where(.bf-side-navigation-label) {
1637
- display: block;
1638
- min-inline-size: 0;
1639
- overflow: hidden;
1640
- text-overflow: ellipsis;
1641
- }
1642
-
1643
- :where(.bf-theme) :where(.bf-side-navigation-status) {
1644
- align-items: center;
1645
- display: inline-flex;
1646
- margin-inline-start: auto;
1647
- }
1648
-
1649
- :where(.bf-theme) :where(.bf-side-navigation.is-icons) :where(.bf-side-navigation-icon) {
1650
- align-items: center;
1651
- display: inline-flex;
1652
- flex: 0 0 1rem;
1653
- inline-size: 1rem;
1654
- justify-content: center;
1655
- transform: translateY(var(--bf-side-navigation-icon-optical-offset-block));
1656
- }
1657
-
1658
- :where(.bf-theme) :where(.bf-navigation.is-collapsed) :where(.bf-side-navigation-icon) {
1659
- transform: none;
1660
- }
1661
-
1662
- :where(.bf-theme) :where(.bf-side-navigation.is-icons) :where(.bf-side-navigation-link, .bf-side-navigation-text, .bf-side-navigation-accordion-button) {
1663
- align-items: baseline;
1664
- column-gap: var(--bf-side-navigation-icon-gap);
1665
- }
1666
-
1667
- /* Icon-navigation headings share the label edge, not the icon edge. This
1668
- keeps section names aligned with both the menu copy and a tagged wordmark. */
1669
- :where(.bf-theme) :where(.bf-side-navigation.is-icons) :where(.bf-side-navigation-heading, .bf-side-navigation-heading.is-linked) {
1670
- padding-inline-start: calc(var(--bf-panel-padding-inline) + 1rem + var(--bf-side-navigation-icon-gap));
1671
- }
1672
-
1673
- :where(.bf-theme) :where(.bf-side-navigation-icon) > svg {
1674
- block-size: 1rem;
1675
- display: block;
1676
- inline-size: 1rem;
1677
- }
1678
-
1679
- @media (min-width: 64.75rem) {
1680
- :where(.bf-theme) :where(.bf-side-navigation-toggle),
1681
- :where(.bf-theme) :where(.bf-side-navigation-drawer-header),
1682
- :where(.bf-theme) :where(.bf-side-navigation-overlay) {
1683
- display: none;
1684
- }
1685
-
1686
- :where(.bf-theme) :where(.bf-side-navigation-drawer),
1687
- :where(.bf-theme) :where(.bf-side-navigation, .bf-side-navigation.is-icons, .bf-side-navigation.is-accordion, .bf-side-navigation.is-raw-html):where(.is-drawer-expanded) :where(.bf-side-navigation-drawer) {
1688
- box-shadow: none;
1689
- display: block;
1690
- max-inline-size: none;
1691
- overflow: visible;
1692
- position: static;
1693
- transform: translateX(0);
1694
- }
1695
-
1696
- :where(.bf-theme) :where(.bf-side-navigation.is-sticky) {
1697
- max-block-size: 100dvh;
1698
- overflow-y: auto;
1699
- position: sticky;
1700
- top: 0;
1701
- }
1702
- }
1703
-
1704
- :where(.bf-theme) :where(.bf-contextual-menu, .bf-contextual-menu.is-left, .bf-contextual-menu.is-center) {
1705
- display: inline-block;
1706
- margin: 0;
1707
- position: relative;
1708
- vertical-align: top;
1709
- }
1710
-
1711
- :where(.bf-theme) :where(.bf-contextual-menu-dropdown) {
1712
- background: var(--bf-color-background-default);
1713
- border: var(--bf-border-width) solid var(--bf-color-border-default);
1714
- box-shadow: 0 12px 32px rgba(0, 0, 0, 0.28);
1715
- display: none;
1716
- list-style: none;
1717
- margin: 0;
1718
- max-inline-size: 21rem;
1719
- min-inline-size: 10rem;
1720
- padding: 0;
1721
- position: absolute;
1722
- right: 0;
1723
- top: calc(100% - var(--bf-border-width));
1724
- width: fit-content;
1725
- z-index: 9;
1726
- }
1727
-
1728
- :where(.bf-theme) :where(.bf-contextual-menu-dropdown[aria-hidden='false']) {
1729
- display: block;
1730
- }
1731
-
1732
- :where(.bf-theme) :where(.bf-contextual-menu.is-left) :where(.bf-contextual-menu-dropdown) {
1733
- left: 0;
1734
- right: auto;
1735
- }
1736
-
1737
- :where(.bf-theme) :where(.bf-contextual-menu.is-center) :where(.bf-contextual-menu-dropdown) {
1738
- left: 50%;
1739
- right: auto;
1740
- transform: translateX(-50%);
1741
- }
1742
-
1743
- :where(.bf-theme) :where(.bf-contextual-menu-group) {
1744
- display: block;
1745
- }
1746
-
1747
- :where(.bf-theme) :where(.bf-contextual-menu-group) + :where(.bf-contextual-menu-group) {
1748
- box-shadow: inset 0 1px 0 var(--bf-color-border-default);
1749
- }
1750
-
1751
- :where(.bf-theme) :where(.bf-contextual-menu-link) {
1752
- ${typeStyles(body, { includeCase: false })} background: transparent;
1753
- border: 0;
1754
- clear: both;
1755
- color: var(--bf-color-text-default);
1756
- cursor: pointer;
1757
- display: block;
1758
- margin: 0;
1759
- overflow: hidden;
1760
- padding-block: var(--bf-control-block-padding-compact);
1761
- padding-inline: var(--bf-panel-padding-inline);
1762
- text-align: left;
1763
- text-decoration: none;
1764
- text-overflow: ellipsis;
1765
- white-space: nowrap;
1766
- width: 100%;
1767
- }
1768
-
1769
- :where(.bf-theme) :where(.bf-contextual-menu-link):visited {
1770
- color: var(--bf-color-text-default);
1771
- }
1772
-
1773
- :where(.bf-theme) :where(.bf-contextual-menu-link):hover {
1774
- background: var(--bf-color-background-hover);
1775
- text-decoration: none;
1776
- }
1777
-
1778
- :where(.bf-theme) :where(.bf-contextual-menu-link):active {
1779
- background: var(--bf-color-background-active);
1780
- }
1781
-
1782
- :where(.bf-theme) :where(.bf-contextual-menu-link):focus:not(:focus-visible) {
1783
- outline: none;
1784
- }
1785
-
1786
- :where(.bf-theme) :where(.bf-contextual-menu-link):focus-visible {
1787
- outline: 2px solid var(--bf-color-focus);
1788
- outline-offset: -2px;
1789
- }
1790
-
1791
- :where(.bf-theme) :where(.bf-contextual-menu-link.is-disabled, .bf-contextual-menu-link[disabled]) {
1792
- color: var(--bf-color-text-muted);
1793
- cursor: default;
1794
- pointer-events: none;
1795
- }
1796
-
1797
- :where(.bf-theme) :where(.bf-tooltip) {
1798
- display: inline-flex;
1799
- position: relative;
1800
- text-decoration: inherit;
1801
- }
1802
-
1803
- :where(.bf-theme) :where(.bf-tooltip.is-detached) {
1804
- display: inline-grid;
1805
- gap: var(--bf-field-gap);
1806
- position: relative;
1807
- }
1808
-
1809
- :where(.bf-theme) :where(.bf-tooltip-message) {
1810
- ${typeStyles(body, { includeCase: false })} background-color: var(--bf-color-background-alt);
1811
- box-shadow: inset 0 0 0 var(--bf-border-width) var(--bf-color-border-default), 0 12px 32px rgba(0, 0, 0, 0.24);
1812
- color: var(--bf-color-text-default);
1813
- inline-size: max-content;
1814
- left: 0;
1815
- margin: 0;
1816
- max-inline-size: min(20rem, calc(100vw - (var(--bf-baseline) * 4)));
1817
- opacity: 0;
1818
- padding-block-end: ${bodySelectedEndNudge};
1819
- padding-block-start: ${bodySelectedStartNudge};
1820
- padding-inline: var(--bf-panel-padding-inline);
1821
- pointer-events: none;
1822
- position: absolute;
1823
- top: 100%;
1824
- transform: translateY(calc(var(--bf-baseline) - var(--bf-border-width)));
1825
- visibility: hidden;
1826
- white-space: normal;
1827
- z-index: 12;
1828
- }
1829
-
1830
- :where(.bf-theme) :where(.bf-tooltip):is(:hover, :focus-within) > :where(.bf-tooltip-message),
1831
- :where(.bf-theme) :where(.bf-tooltip.is-detached) > :where(.bf-tooltip-message) {
1832
- opacity: 1;
1833
- visibility: visible;
1834
- }
1835
-
1836
- :where(.bf-theme) :where(.bf-tooltip-message)::before {
1837
- block-size: 0;
1838
- border-bottom: calc(var(--bf-baseline) * 0.5) solid var(--bf-color-background-alt);
1839
- border-inline: calc(var(--bf-baseline) * 0.5) solid transparent;
1840
- bottom: 100%;
1841
- content: "";
1842
- inline-size: 0;
1843
- left: calc(var(--bf-baseline) * 0.75);
1844
- position: absolute;
1845
- }
1846
-
1847
- :where(.bf-theme) :where(.bf-tooltip.is-detached) > :where(.bf-tooltip-message) {
1848
- left: auto;
1849
- pointer-events: auto;
1850
- position: static;
1851
- top: auto;
1852
- transform: none;
1853
- }
1854
-
1855
- :where(.bf-theme) :where(.bf-tooltip.is-detached) > :where(.bf-tooltip-message)::before {
1856
- content: none;
1857
- }
1858
-
1859
- :where(.bf-theme) :where(.bf-tooltip.is-btm-center) > :where(.bf-tooltip-message) {
1860
- left: 50%;
1861
- transform: translate(-50%, calc(var(--bf-baseline) - var(--bf-border-width)));
1862
- }
1863
-
1864
- :where(.bf-theme) :where(.bf-tooltip.is-btm-center) > :where(.bf-tooltip-message)::before {
1865
- left: 50%;
1866
- transform: translateX(-50%);
1867
- }
1868
-
1869
- :where(.bf-theme) :where(.bf-tooltip.is-btm-right) > :where(.bf-tooltip-message) {
1870
- left: auto;
1871
- right: 0;
1872
- }
1873
-
1874
- :where(.bf-theme) :where(.bf-tooltip.is-btm-right) > :where(.bf-tooltip-message)::before {
1875
- left: auto;
1876
- right: calc(var(--bf-baseline) * 0.75);
1877
- }
1878
-
1879
- :where(.bf-theme) :where(.bf-tooltip.is-top-left, .bf-tooltip.is-top-center, .bf-tooltip.is-top-right) > :where(.bf-tooltip-message) {
1880
- bottom: 100%;
1881
- top: auto;
1882
- transform: translateY(calc(var(--bf-baseline) * -1));
1883
- }
1884
-
1885
- :where(.bf-theme) :where(.bf-tooltip.is-top-left, .bf-tooltip.is-top-center, .bf-tooltip.is-top-right) > :where(.bf-tooltip-message)::before {
1886
- border-bottom: 0;
1887
- border-inline: calc(var(--bf-baseline) * 0.5) solid transparent;
1888
- border-top: calc(var(--bf-baseline) * 0.5) solid var(--bf-color-background-alt);
1889
- bottom: auto;
1890
- top: 100%;
1891
- }
1892
-
1893
- :where(.bf-theme) :where(.bf-tooltip.is-top-center) > :where(.bf-tooltip-message) {
1894
- left: 50%;
1895
- transform: translate(-50%, calc(var(--bf-baseline) * -1));
1896
- }
1897
-
1898
- :where(.bf-theme) :where(.bf-tooltip.is-top-center) > :where(.bf-tooltip-message)::before {
1899
- left: 50%;
1900
- transform: translateX(-50%);
1901
- }
1902
-
1903
- :where(.bf-theme) :where(.bf-tooltip.is-top-right) > :where(.bf-tooltip-message) {
1904
- left: auto;
1905
- right: 0;
1906
- }
1907
-
1908
- :where(.bf-theme) :where(.bf-tooltip.is-top-right) > :where(.bf-tooltip-message)::before {
1909
- left: auto;
1910
- right: calc(var(--bf-baseline) * 0.75);
1911
- }
1912
-
1913
- :where(.bf-theme) :where(nav.bf-pagination) {
1914
- display: block;
1915
- }
1916
-
1917
- :where(.bf-theme) :where(.bf-pagination-items) {
1918
- align-items: flex-start;
1919
- display: flex;
1920
- flex-direction: row;
1921
- flex-wrap: wrap;
1922
- gap: var(--bf-field-gap);
1923
- list-style: none;
1924
- margin: 0;
1925
- min-inline-size: 0;
1926
- padding: 0;
1927
- }
1928
-
1929
- :where(.bf-theme) :where(.bf-pagination-item) {
1930
- align-items: flex-start;
1931
- display: flex;
1932
- margin: 0;
1933
- min-inline-size: 0;
1934
- padding: 0;
1935
- }
1936
-
1937
- :where(.bf-theme) :where(.bf-pagination-item.is-truncation) {
1938
- ${typeStyles(body, { includeCase: false })} color: var(--bf-color-text-muted);
1939
- min-block-size: var(--bf-control-box-size);
1940
- padding-block: var(--bf-control-block-padding);
1941
- padding-inline: calc(var(--bf-baseline) * 0.5);
1942
- }
1943
-
1944
- :where(.bf-theme) :where(.bf-pagination-link, .bf-pagination-link.is-previous, .bf-pagination-link.is-next) {
1945
- ${typeStyles(body, { includeCase: false })} align-items: center;
1946
- background-color: var(--bf-color-background-default);
1947
- border: var(--bf-border-width) solid var(--bf-color-border-high-contrast);
1948
- border-radius: var(--bf-radius);
1949
- color: var(--bf-color-text-default);
1950
- cursor: pointer;
1951
- display: inline-flex;
1952
- gap: calc(var(--bf-baseline) * 0.5);
1953
- justify-content: center;
1954
- margin-bottom: ${buttonMarginBottom};
1955
- min-inline-size: var(--bf-control-box-size);
1956
- ${controlPadding(buttonBlockPaddingVar)} padding-inline: var(--bf-control-inline-padding-action);
1957
- text-align: center;
1958
- text-decoration: none;
1959
- }
1960
-
1961
- :where(.bf-theme) :where(.bf-pagination-link:hover, .bf-pagination-link.is-previous:hover, .bf-pagination-link.is-next:hover) {
1962
- background-color: var(--bf-color-background-hover);
1963
- }
1964
-
1965
- :where(.bf-theme) :where(.bf-pagination-link:focus:not(:focus-visible), .bf-pagination-link.is-previous:focus:not(:focus-visible), .bf-pagination-link.is-next:focus:not(:focus-visible)) {
1966
- outline: none;
1967
- }
1968
-
1969
- :where(.bf-theme) :where(.bf-pagination-link:focus-visible, .bf-pagination-link.is-previous:focus-visible, .bf-pagination-link.is-next:focus-visible) {
1970
- outline: 2px solid var(--bf-color-focus);
1971
- outline-offset: 2px;
1972
- }
1973
-
1974
- :where(.bf-theme) :where(.bf-pagination-link.is-active, .bf-pagination-link[aria-current='page'], .bf-pagination-link[aria-current='true']) {
1975
- background-color: var(--bf-color-background-active);
1976
- }
1977
-
1978
- :where(.bf-theme) :where(.bf-pagination-link.is-previous, .bf-pagination-link.is-next)::before,
1979
- :where(.bf-theme) :where(.bf-pagination-link.is-previous, .bf-pagination-link.is-next)::after {
1980
- background-image: var(--bf-ui-icon-chevron-down);
1981
- background-position: center;
1982
- background-repeat: no-repeat;
1983
- background-size: 1rem 1rem;
1984
- block-size: 1rem;
1985
- content: "";
1986
- display: inline-block;
1987
- inline-size: 1rem;
1988
- }
1989
-
1990
- :where(.bf-theme) :where(.bf-pagination-link.is-previous)::before {
1991
- transform: rotate(90deg);
1992
- }
1993
-
1994
- :where(.bf-theme) :where(.bf-pagination-link.is-previous)::after {
1995
- display: none;
1996
- }
1997
-
1998
- :where(.bf-theme) :where(.bf-pagination-link.is-next)::after {
1999
- transform: rotate(-90deg);
2000
- }
2001
-
2002
- :where(.bf-theme) :where(.bf-pagination-link.is-next)::before {
2003
- display: none;
2004
- }
2005
-
2006
- :where(.bf-theme) :where(.bf-pagination-link.is-disabled, .bf-pagination-link.is-previous.is-disabled, .bf-pagination-link.is-next.is-disabled, .bf-pagination-link[aria-disabled='true'], .bf-pagination-link.is-previous[aria-disabled='true'], .bf-pagination-link.is-next[aria-disabled='true']) {
2007
- cursor: not-allowed;
2008
- opacity: 0.5;
2009
- pointer-events: none;
2010
- }
2011
-
2012
- :where(.bf-theme) :where(.bf-accordion) {
2013
- display: grid;
2014
- min-inline-size: 0;
2015
- }
2016
-
2017
- :where(.bf-theme) :where(.bf-accordion-list) {
2018
- list-style: none;
2019
- margin: 0;
2020
- padding: 0;
2021
- }
2022
-
2023
- :where(.bf-theme) :where(.bf-accordion-group) {
2024
- position: relative;
2025
- }
2026
-
2027
- :where(.bf-theme) :where(.bf-accordion-group) + :where(.bf-accordion-group)::after {
2028
- background-color: var(--bf-color-border-default);
2029
- block-size: var(--bf-border-width);
2030
- content: "";
2031
- inset-inline: 0;
2032
- position: absolute;
2033
- top: 0;
2034
- }
2035
-
2036
- :where(.bf-theme) :where(.bf-accordion-heading) {
2037
- margin-bottom: 0;
2038
- }
2039
-
2040
- :where(.bf-theme) :where(.bf-accordion-tab) {
2041
- ${typeStyles(body, { includeCase: false })} align-items: center;
2042
- appearance: none;
2043
- background: transparent;
2044
- border: 0;
2045
- color: var(--bf-color-text-default);
2046
- cursor: pointer;
2047
- display: flex;
2048
- gap: var(--bf-disclosure-gap);
2049
- inline-size: 100%;
2050
- justify-content: flex-start;
2051
- min-block-size: var(--bf-control-box-size);
2052
- padding-block: var(--bf-control-block-padding);
2053
- padding-inline: 0;
2054
- text-align: left;
2055
- }
2056
-
2057
- :where(.bf-theme) :where(.bf-accordion-tab):focus:not(:focus-visible) {
2058
- outline: none;
2059
- }
2060
-
2061
- :where(.bf-theme) :where(.bf-accordion-tab):focus-visible {
2062
- outline: 2px solid var(--bf-color-focus);
2063
- outline-offset: 2px;
2064
- }
2065
-
2066
- :where(.bf-theme) :where(.bf-accordion-tab)::before {
2067
- background-image: var(--bf-ui-icon-chevron-down);
2068
- background-position: center;
2069
- background-repeat: no-repeat;
2070
- background-size: var(--bf-disclosure-icon-inline-size) var(--bf-disclosure-icon-inline-size);
2071
- block-size: var(--bf-disclosure-icon-inline-size);
2072
- content: "";
2073
- display: inline-block;
2074
- flex: none;
2075
- inline-size: var(--bf-disclosure-icon-inline-size);
2076
- transition: transform 120ms ease;
2077
- }
2078
-
2079
- :where(.bf-theme) :where(.bf-accordion-tab[aria-expanded='false'])::before {
2080
- transform: rotate(-90deg);
2081
- }
2082
-
2083
- :where(.bf-theme) :where(.bf-accordion-panel) {
2084
- margin: 0;
2085
- overflow: hidden;
2086
- padding-block-start: var(--bf-baseline);
2087
- padding-inline-start: calc(var(--bf-accordion-indent) + ${roleFontSizeVar("body", body.fontSize)} + var(--bf-baseline));
2088
- }
2089
-
2090
- :where(.bf-theme) :where(.bf-accordion-panel[aria-hidden='true']) {
2091
- block-size: 0;
2092
- opacity: 0;
2093
- padding-block-start: 0;
2094
- visibility: hidden;
2095
- }
2096
-
2097
- :where(.bf-theme) :where(.bf-accordion-panel[aria-hidden='false']) {
2098
- block-size: auto;
2099
- opacity: 1;
2100
- visibility: visible;
2101
- }
2102
-
2103
- :where(.bf-theme) :where(.bf-modal) {
2104
- background: transparent;
2105
- border: 0;
2106
- inset: 0;
2107
- margin: auto;
2108
- max-inline-size: min(100vw - (var(--bf-baseline) * 8), 36rem);
2109
- padding: 0;
2110
- }
2111
-
2112
- :where(.bf-theme) :where(.bf-modal.is-workflow) {
2113
- --bf-modal-workflow-viewport-gap: calc(var(--bf-baseline) * 4);
2114
- --bf-modal-workflow-max-inline-size: 42rem;
2115
- --bf-modal-workflow-min-inline-size: 32rem;
2116
- --bf-modal-workflow-max-block-size: 40rem;
2117
- --bf-modal-workflow-min-block-size: 24rem;
2118
- block-size: min(calc(100dvh - var(--bf-modal-workflow-viewport-gap)), var(--bf-modal-workflow-max-block-size));
2119
- inline-size: min(calc(100vw - var(--bf-modal-workflow-viewport-gap)), var(--bf-modal-workflow-max-inline-size));
2120
- max-block-size: calc(100dvh - var(--bf-modal-workflow-viewport-gap));
2121
- max-inline-size: calc(100vw - var(--bf-modal-workflow-viewport-gap));
2122
- min-block-size: min(calc(100dvh - var(--bf-modal-workflow-viewport-gap)), var(--bf-modal-workflow-min-block-size));
2123
- min-inline-size: min(calc(100vw - var(--bf-modal-workflow-viewport-gap)), var(--bf-modal-workflow-min-inline-size));
2124
- overflow: hidden;
2125
- }
2126
-
2127
- :where(.bf-theme) :where(.bf-modal.is-workflow.is-resizable) {
2128
- resize: both;
2129
- }
2130
-
2131
- :where(.bf-theme) :where(.bf-modal)::backdrop {
2132
- background: var(--bf-color-background-overlay);
2133
- }
2134
-
2135
- :where(.bf-theme) :where(.bf-modal-dialog) {
2136
- background: var(--bf-color-background-default);
2137
- border: var(--bf-border-width) solid var(--bf-color-border-default);
2138
- display: grid;
2139
- gap: 0;
2140
- }
2141
-
2142
- :where(.bf-theme) :where(.bf-modal.is-workflow > .bf-modal-dialog) {
2143
- block-size: 100%;
2144
- grid-template-rows: auto minmax(0, 1fr) auto;
2145
- inline-size: 100%;
2146
- min-block-size: 0;
2147
- overflow: hidden;
2148
- }
2149
-
2150
- :where(.bf-theme) :where(.bf-modal-header, .bf-modal-body, .bf-modal-footer) {
2151
- padding-block-end: calc(var(--bf-panel-padding-block) - var(--bf-border-width));
2152
- padding-block-start: calc(var(--bf-panel-padding-block) - var(--bf-border-width));
2153
- padding-inline: var(--bf-panel-padding-inline);
2154
- }
2155
-
2156
- :where(.bf-theme) :where(.bf-modal-header) {
2157
- align-items: start;
2158
- border-bottom: var(--bf-border-width) solid var(--bf-color-border-default);
2159
- display: flex;
2160
- gap: var(--bf-field-gap);
2161
- justify-content: space-between;
2162
- }
2163
-
2164
- :where(.bf-theme) :where(.bf-modal-body) {
2165
- padding-block-end: var(--bf-panel-padding-block);
2166
- padding-block-start: var(--bf-panel-padding-block);
2167
- }
2168
-
2169
- :where(.bf-theme) :where(.bf-modal.is-workflow) :where(.bf-modal-header, .bf-modal-footer) {
2170
- background: var(--bf-color-background-default);
2171
- }
2172
-
2173
- :where(.bf-theme) :where(.bf-modal.is-workflow) :where(.bf-modal-body) {
2174
- min-block-size: 0;
2175
- overflow: auto;
2176
- overscroll-behavior: contain;
2177
- }
2178
-
2179
- :where(.bf-theme) :where(.bf-modal-title) {
2180
- ${typeStyles(h4, { includeCase: false })} margin: 0 0 var(--bf-h4-margin-bottom);
2181
- padding-block-end: 0;
2182
- padding-block-start: var(--bf-h4-nudge-start);
2183
- }
2184
-
2185
- :where(.bf-theme) :where(.bf-modal-footer) {
2186
- align-items: start;
2187
- border-top: var(--bf-border-width) solid var(--bf-color-border-default);
2188
- display: flex;
2189
- flex-wrap: wrap;
2190
- gap: var(--bf-field-gap);
2191
- justify-content: flex-end;
2192
- }
2193
-
2194
- :where(.bf-theme) :where(.bf-modal-close) {
2195
- ${typeStyles(body, { includeCase: false })} appearance: none;
2196
- background: transparent;
2197
- border: 0;
2198
- color: var(--bf-color-text-default);
2199
- cursor: pointer;
2200
- padding: 0;
2201
- }
2202
-
2203
- :where(.bf-theme) :where(.bf-code-snippet) {
2204
- display: grid;
2205
- gap: 0;
2206
- margin: 0;
2207
- min-inline-size: 0;
2208
- }
2209
-
2210
- :where(.bf-theme) :where(.bf-code-snippet.is-bordered) {
2211
- box-shadow: inset 0 0 0 var(--bf-border-width) var(--bf-color-border-default);
2212
- }
2213
-
2214
- :where(.bf-theme) :where(.bf-code-snippet-header) {
2215
- align-items: start;
2216
- background: var(--bf-color-background-active);
2217
- box-shadow: inset 0 -1px 0 var(--bf-color-border-default);
2218
- display: flex;
2219
- flex-wrap: wrap;
2220
- justify-content: space-between;
2221
- min-inline-size: 0;
2222
- }
2223
-
2224
- :where(.bf-theme) :where(.bf-code-snippet-header.is-stacked) {
2225
- flex-direction: column;
2226
- }
2227
-
2228
- :where(.bf-theme) :where(.bf-code-snippet-title) {
2229
- ${typeStyles(h6, { includeCase: false })} color: var(--bf-color-text-default);
2230
- flex: 1 1 14rem;
2231
- margin: 0;
2232
- overflow-wrap: anywhere;
2233
- padding-block: var(--bf-panel-padding-block);
2234
- padding-inline: var(--bf-panel-padding-inline);
2235
- }
2236
-
2237
- :where(.bf-theme) :where(.bf-code-snippet-dropdowns) {
2238
- display: flex;
2239
- flex: 1 0 auto;
2240
- flex-wrap: wrap;
2241
- justify-content: flex-end;
2242
- margin-inline-start: auto;
2243
- min-inline-size: 0;
2244
- }
2245
-
2246
- :where(.bf-theme) :where(.bf-code-snippet-header.is-stacked) :where(.bf-code-snippet-dropdowns) {
2247
- justify-content: stretch;
2248
- margin-inline-start: 0;
2249
- box-shadow: inset 0 1px 0 var(--bf-color-border-default);
2250
- width: 100%;
2251
- }
2252
-
2253
- :where(.bf-theme) :where(.bf-code-snippet-dropdown) {
2254
- ${typeStyles(body, { includeCase: false })} appearance: none;
2255
- background: transparent;
2256
- border: 0;
2257
- color: var(--bf-color-text-default);
2258
- cursor: pointer;
2259
- margin: 0;
2260
- min-block-size: calc(${bodyLineHeight} + (var(--bf-panel-padding-block) * 2));
2261
- min-inline-size: 0;
2262
- padding-block: var(--bf-panel-padding-block);
2263
- padding-inline: var(--bf-panel-padding-inline);
2264
- text-align: start;
2265
- }
2266
-
2267
- :where(.bf-theme) :where(.bf-code-snippet-dropdown) + :where(.bf-code-snippet-dropdown) {
2268
- box-shadow: inset 1px 0 0 var(--bf-color-border-default);
2269
- }
2270
-
2271
- :where(.bf-theme) :where(.bf-code-snippet-dropdown):focus:not(:focus-visible) {
2272
- outline: none;
2273
- }
2274
-
2275
- :where(.bf-theme) :where(.bf-code-snippet-dropdown):focus-visible {
2276
- outline: 2px solid var(--bf-color-focus);
2277
- outline-offset: -2px;
2278
- }
2279
-
2280
- :where(.bf-theme) :where(.bf-code-snippet-block, .bf-code-snippet-block.is-icon, .bf-code-snippet-block.is-numbered) {
2281
- background: var(--bf-color-background-alt);
2282
- color: var(--bf-color-text-default);
2283
- display: block;
2284
- font-family: "Ubuntu Sans Mono", "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
2285
- font-size: ${roleFontSizeVar("body", body.fontSize)};
2286
- line-height: ${bodyLineHeight};
2287
- margin: 0;
2288
- max-inline-size: 100%;
2289
- min-inline-size: 0;
2290
- overflow-x: auto;
2291
- padding-block: var(--bf-panel-padding-block);
2292
- padding-inline: var(--bf-panel-padding-inline);
2293
- tab-size: 2;
2294
- white-space: pre;
2295
- }
2296
-
2297
- :where(.bf-theme) :where(.bf-code-snippet-block, .bf-code-snippet-block.is-icon, .bf-code-snippet-block.is-numbered) > :where(code) {
2298
- display: block;
2299
- font: inherit;
2300
- }
2301
-
2302
- :where(.bf-theme) :where(.bf-code-snippet-block.is-wrapped, .bf-code-snippet-block.is-icon.is-wrapped) {
2303
- white-space: pre-wrap;
2304
- }
2305
-
2306
- :where(.bf-theme) :where(.bf-code-snippet-block.is-icon) {
2307
- cursor: copy;
2308
- padding-inline-start: calc(var(--bf-panel-padding-inline) + (var(--bf-baseline) * 3));
2309
- position: relative;
2310
- }
2311
-
2312
- :where(.bf-theme) :where(.bf-code-snippet-block.is-icon)::before {
2313
- ${typeStyles(h6, { includeCase: false })} color: var(--bf-color-text-muted);
2314
- content: "$";
2315
- inset-inline-start: var(--bf-panel-padding-inline);
2316
- inset-block-start: var(--bf-panel-padding-block);
2317
- position: absolute;
2318
- }
2319
-
2320
- :where(.bf-theme) :where(.bf-code-snippet-block.is-icon.is-windows-prompt)::before {
2321
- content: ">";
2322
- }
2323
-
2324
- :where(.bf-theme) :where(.bf-code-snippet-block.is-icon.is-url)::before {
2325
- content: "\\1F517";
2326
- }
2327
-
2328
- :where(.bf-theme) :where(.bf-code-snippet-block.is-icon.is-copied) {
2329
- background: color-mix(in srgb, var(--bf-color-background-alt) 78%, var(--bf-color-background-information-default));
2330
- box-shadow: inset 0 0 0 1px var(--bf-color-border-information);
2331
- }
2332
-
2333
- :where(.bf-theme) :where(.bf-code-snippet-block.is-icon):focus:not(:focus-visible) {
2334
- outline: none;
2335
- }
2336
-
2337
- :where(.bf-theme) :where(.bf-code-snippet-block.is-icon):focus-visible {
2338
- outline: 2px solid var(--bf-color-focus);
2339
- outline-offset: -2px;
2340
- }
2341
-
2342
- :where(.bf-theme) :where(.bf-code-snippet-block.is-numbered) {
2343
- counter-reset: code-line;
2344
- }
2345
-
2346
- :where(.bf-theme) :where(.bf-code-snippet-line) {
2347
- counter-increment: code-line;
2348
- display: block;
2349
- min-block-size: ${bodyLineHeight};
2350
- }
2351
-
2352
- :where(.bf-theme) :where(.bf-code-snippet-block.is-numbered) :where(.bf-code-snippet-line)::before {
2353
- color: var(--bf-color-text-muted);
2354
- content: counter(code-line);
2355
- display: inline-block;
2356
- font-variant-numeric: tabular-nums;
2357
- min-inline-size: calc(var(--bf-baseline) * 5);
2358
- padding-inline-end: var(--bf-panel-padding-inline);
2359
- text-align: right;
2360
- user-select: none;
2361
- }
2362
-
2363
- :where(.bf-theme) :where(.bf-application) {
2364
- background: var(--bf-color-background-default);
2365
- display: grid;
2366
- grid-template-areas:
2367
- "main"
2368
- "aside";
2369
- grid-template-columns: minmax(0, 1fr);
2370
- grid-template-rows: minmax(0, 1fr) min-content;
2371
- min-block-size: 100%;
2372
- overflow: hidden;
2373
- position: relative;
2374
- width: 100%;
2375
- }
2376
-
2377
- :where(.bf-theme) :where(.bf-application.is-fill) {
2378
- block-size: 100dvb;
2379
- max-block-size: 100dvb;
2380
- min-block-size: 100dvb;
2381
- }
2382
-
2383
- :where(.bf-theme) :where(.bf-application:has(> .bf-navigation)) {
2384
- grid-template-areas:
2385
- "navigation-bar"
2386
- "main"
2387
- "aside";
2388
- grid-template-rows: min-content minmax(0, 1fr) min-content;
2389
- }
2390
-
2391
- :where(.bf-theme) :where(.bf-navigation-bar) {
2392
- background: var(--bf-color-background-alt);
2393
- border-bottom: var(--bf-border-width) solid var(--bf-color-border-low-contrast);
2394
- grid-area: navigation-bar;
2395
- min-block-size: var(--bf-navigation-bar-min-block-size);
2396
- min-inline-size: 0;
2397
- position: relative;
2398
- z-index: 40;
2399
- }
2400
-
2401
- :where(.bf-theme) :where(.bf-navigation) {
2402
- grid-column: 1 / -1;
2403
- grid-row: 1 / -1;
2404
- min-block-size: 0;
2405
- min-inline-size: 0;
2406
- pointer-events: none;
2407
- position: relative;
2408
- z-index: 41;
2409
- }
2410
-
2411
- :where(.bf-theme) :where(.bf-navigation-overlay) {
2412
- background: var(--bf-color-background-overlay);
2413
- inset: 0;
2414
- opacity: 0;
2415
- pointer-events: none;
2416
- position: fixed;
2417
- transition: opacity 160ms ease, visibility 160ms ease;
2418
- visibility: hidden;
2419
- z-index: 41;
2420
- }
2421
-
2422
- :where(.bf-theme) :where(.bf-navigation:not(.is-collapsed)) > :where(.bf-navigation-overlay) {
2423
- opacity: 1;
2424
- pointer-events: auto;
2425
- visibility: visible;
2426
- }
2427
-
2428
- :where(.bf-theme) :where(.bf-navigation-drawer) {
2429
- background: var(--bf-color-background-alt);
2430
- block-size: 100dvh;
2431
- border-inline-end: var(--bf-border-width) solid var(--bf-color-border-low-contrast);
2432
- bottom: 0;
2433
- inline-size: min(100%, var(--bf-application-navigation-width));
2434
- left: 0;
2435
- max-inline-size: 100%;
2436
- overflow: auto;
2437
- pointer-events: auto;
2438
- position: fixed;
2439
- top: 0;
2440
- transform: translateX(-100%);
2441
- transition: transform 160ms ease, box-shadow 160ms ease, visibility 160ms ease;
2442
- visibility: hidden;
2443
- z-index: 42;
2444
- }
2445
-
2446
- :where(.bf-theme) :where(.bf-navigation:not(.is-collapsed)) > :where(.bf-navigation-drawer) {
2447
- box-shadow: 0 24px 72px rgba(0, 0, 0, 0.38);
2448
- transform: translateX(0);
2449
- visibility: visible;
2450
- }
2451
-
2452
- :where(.bf-theme) :where(.bf-navigation.is-collapsed) :where(.is-fading-when-collapsed, .bf-side-navigation-heading, .bf-side-navigation-status) {
2453
- display: none;
2454
- }
2455
-
2456
- :where(.bf-theme) :where(.bf-navigation.is-collapsed) :where(.bf-side-navigation-label) {
2457
- block-size: 1px;
2458
- clip-path: inset(50%);
2459
- inline-size: 1px;
2460
- max-inline-size: 1px;
2461
- opacity: 0;
2462
- overflow: hidden;
2463
- pointer-events: none;
2464
- position: absolute;
2465
- white-space: nowrap;
2466
- }
2467
-
2468
- :where(.bf-theme) :where(.bf-navigation.is-collapsed) :where(.bf-side-navigation-list .bf-side-navigation-list) {
2469
- display: none;
2470
- }
2471
-
2472
- :where(.bf-theme) :where(.bf-navigation.is-collapsed) :where(.bf-side-navigation-link, .bf-side-navigation-text) {
2473
- align-items: center;
2474
- justify-content: center;
2475
- padding-inline: calc(var(--bf-baseline) * 1.25);
2476
- }
2477
-
2478
- :where(.bf-theme) :where(.bf-navigation.is-collapsed) :where(.bf-side-navigation-list) {
2479
- border-bottom-color: transparent;
2480
- }
2481
-
2482
- :where(.bf-theme) :where(.bf-navigation.is-collapsed) :where(.bf-side-navigation-item.is-title > .bf-side-navigation-link, .bf-side-navigation-item.is-title > .bf-side-navigation-text) {
2483
- padding-inline: calc(var(--bf-baseline) * 1.25);
2484
- }
2485
-
2486
- :where(.bf-theme) :where(.bf-application:has(> .bf-aside.is-pinned:not(.is-collapsed))) {
2487
- grid-template-areas: "main aside";
2488
- grid-template-columns: minmax(0, 1fr) minmax(0, var(--bf-application-aside-width));
2489
- grid-template-rows: minmax(0, 1fr);
2490
- }
2491
-
2492
- :where(.bf-theme) :where(.bf-main) {
2493
- grid-area: main;
2494
- min-block-size: 0;
2495
- min-inline-size: 0;
2496
- overflow: auto;
2497
- }
2498
-
2499
- :where(.bf-theme) :where(.bf-application-overlay) {
2500
- background: var(--bf-color-background-overlay);
2501
- inset: 0;
2502
- opacity: 0;
2503
- pointer-events: none;
2504
- position: absolute;
2505
- transition: opacity 160ms ease, visibility 160ms ease;
2506
- visibility: hidden;
2507
- z-index: 20;
2508
- }
2509
-
2510
- :where(.bf-theme) :where(.bf-application.is-drawer-expanded) > :where(.bf-application-overlay) {
2511
- opacity: 1;
2512
- pointer-events: auto;
2513
- visibility: visible;
2514
- }
2515
-
2516
- :where(.bf-theme) :where(.bf-aside) {
2517
- background: var(--bf-color-background-default);
2518
- border-inline-start: var(--bf-border-width) solid var(--bf-color-border-default);
2519
- grid-area: aside;
2520
- inline-size: 100%;
2521
- min-block-size: 0;
2522
- min-inline-size: 0;
2523
- overflow: auto;
2524
- position: relative;
2525
- }
2526
-
2527
- :where(.bf-theme) :where(.bf-aside.is-overlay, .bf-aside.is-drawer) {
2528
- align-self: stretch;
2529
- block-size: auto;
2530
- box-shadow: 0 24px 72px rgba(0, 0, 0, 0.38);
2531
- bottom: 0;
2532
- grid-column: 1 / -1;
2533
- grid-row: 1 / -1;
2534
- inline-size: min(100%, var(--bf-application-aside-width));
2535
- justify-self: end;
2536
- left: auto;
2537
- max-inline-size: 100%;
2538
- min-block-size: 100%;
2539
- pointer-events: none;
2540
- position: absolute;
2541
- right: 0;
2542
- top: 0;
2543
- transform: translateX(100%);
2544
- transition: transform 160ms ease, visibility 160ms ease, box-shadow 160ms ease;
2545
- visibility: hidden;
2546
- z-index: 30;
2547
- }
2548
-
2549
- :where(.bf-theme) :where(.bf-aside.is-overlay.is-icon, .bf-aside.is-drawer.is-icon) {
2550
- inline-size: min(100%, var(--bf-application-drawer-width-icon));
2551
- }
2552
-
2553
- :where(.bf-theme) :where(.bf-aside.is-overlay.is-small, .bf-aside.is-drawer.is-small) {
2554
- inline-size: min(100%, var(--bf-application-drawer-width-small-max));
2555
- }
2556
-
2557
- :where(.bf-theme) :where(.bf-aside.is-overlay.is-medium, .bf-aside.is-drawer.is-medium) {
2558
- inline-size: min(100%, var(--bf-application-drawer-width-medium-max));
2559
- }
2560
-
2561
- :where(.bf-theme) :where(.bf-aside.is-overlay.is-large, .bf-aside.is-drawer.is-large) {
2562
- inline-size: min(100%, var(--bf-application-drawer-width-large));
2563
- }
2564
-
2565
- :where(.bf-theme) :where(.bf-application:has(> .bf-aside.is-pinned.is-small)) {
2566
- --bf-application-aside-width: var(--bf-application-drawer-width-small-max);
2567
- }
2568
-
2569
- :where(.bf-theme) :where(.bf-application:has(> .bf-aside.is-pinned.is-medium)) {
2570
- --bf-application-aside-width: var(--bf-application-drawer-width-medium);
2571
- }
2572
-
2573
- :where(.bf-theme) :where(.bf-application:has(> .bf-aside.is-pinned.is-large)) {
2574
- --bf-application-aside-width: min(var(--bf-application-drawer-width-large), var(--bf-application-drawer-width-medium-max));
2575
- }
2576
-
2577
- :where(.bf-theme) :where(.bf-application.is-drawer-expanded) > :where(.bf-aside.is-overlay, .bf-aside.is-drawer),
2578
- :where(.bf-theme) :where(.bf-aside.is-overlay.is-open, .bf-aside.is-drawer.is-open) {
2579
- pointer-events: auto;
2580
- transform: translateX(0);
2581
- visibility: visible;
2582
- }
2583
-
2584
- :where(.bf-theme) :where(.bf-aside.is-collapsed) {
2585
- display: none;
2586
- }
2587
-
2588
- :where(.bf-theme) :where(.bf-aside.is-pinned) {
2589
- display: block;
2590
- }
2591
-
2592
- :where(.bf-theme) :where(.bf-aside.is-overlay, .bf-aside.is-drawer) :where(.bf-application-aside-resize-handle) {
2593
- display: none;
2594
- }
2595
-
2596
- :where(.bf-theme) :where(.bf-application-aside-resize-handle) {
2597
- background: transparent;
2598
- border: 0;
2599
- cursor: ew-resize;
2600
- display: none;
2601
- inset-block: 0;
2602
- inset-inline-start: calc(var(--bf-baseline) * -3);
2603
- outline: none;
2604
- position: absolute;
2605
- touch-action: none;
2606
- user-select: none;
2607
- -webkit-user-select: none;
2608
- width: calc(var(--bf-baseline) * 6);
2609
- z-index: 3;
2610
- }
2611
-
2612
- :where(.bf-theme) :where(.bf-application:has(> .bf-aside.is-pinned:not(.is-collapsed)))
2613
- :where(.bf-aside.is-pinned:not(.is-collapsed))
2614
- > :where(.bf-application-aside-resize-handle) {
2615
- display: block;
2616
- }
2617
-
2618
- :where(.bf-theme) :where(.bf-application-aside-resize-handle)::after {
2619
- background: var(--bf-color-border-default);
2620
- border-radius: 999px;
2621
- content: "";
2622
- inset-block: var(--bf-panel-padding-block);
2623
- inset-inline-start: calc(50% - 1px);
2624
- opacity: 0.95;
2625
- position: absolute;
2626
- transition: background-color 120ms ease, opacity 120ms ease;
2627
- width: 2px;
2628
- }
2629
-
2630
- :where(.bf-theme) :where(.bf-application-aside-resize-handle):hover::after,
2631
- :where(.bf-theme) :where(.bf-application-aside-resize-handle):focus-visible::after,
2632
- :where(.bf-theme) :where(.bf-application.is-resizing-aside) :where(.bf-application-aside-resize-handle)::after {
2633
- background: var(--bf-application-resize-handle-active);
2634
- }
2635
-
2636
- :where(.bf-theme) :where(.bf-application-aside-resize-handle):focus-visible {
2637
- outline: 2px solid var(--bf-application-resize-handle-focus-ring);
2638
- outline-offset: -2px;
2639
- }
2640
-
2641
- @media (min-width: 64.75rem) {
2642
- :where(.bf-theme) :where(.bf-application:has(> .bf-navigation)) {
2643
- grid-template-areas:
2644
- "navigation-bar navigation-bar"
2645
- "navigation main";
2646
- grid-template-columns: minmax(0, var(--bf-application-navigation-width)) minmax(0, 1fr);
2647
- grid-template-rows: min-content minmax(0, 1fr);
2648
- }
2649
-
2650
- :where(.bf-theme) :where(.bf-application:has(> .bf-navigation)):has(> .bf-aside.is-pinned:not(.is-collapsed)) {
2651
- grid-template-areas:
2652
- "navigation-bar navigation-bar navigation-bar"
2653
- "navigation main aside";
2654
- grid-template-columns: minmax(0, var(--bf-application-navigation-width)) minmax(0, 1fr) minmax(0, var(--bf-application-aside-width));
2655
- }
2656
-
2657
- :where(.bf-theme) :where(.bf-application:has(> .bf-navigation.is-collapsed)) {
2658
- --bf-application-navigation-width: var(--bf-application-navigation-width-collapsed);
2659
- }
2660
-
2661
- :where(.bf-theme) :where(.bf-navigation.is-collapsed) :where(.bf-navigation-drawer > .bf-panel > .bf-panel-header) {
2662
- display: none;
2663
- }
2664
-
2665
- :where(.bf-theme) :where(.bf-navigation) {
2666
- grid-area: navigation;
2667
- pointer-events: auto;
2668
- }
2669
-
2670
- :where(.bf-theme) :where(.bf-navigation-overlay) {
2671
- display: none;
2672
- }
2673
-
2674
- :where(.bf-theme) :where(.bf-navigation-drawer),
2675
- :where(.bf-theme) :where(.bf-navigation:not(.is-collapsed)) > :where(.bf-navigation-drawer) {
2676
- block-size: 100%;
2677
- box-shadow: none;
2678
- inline-size: 100%;
2679
- min-block-size: 0;
2680
- position: static;
2681
- transform: translateX(0);
2682
- visibility: visible;
2683
- }
2684
-
2685
- :where(.bf-theme) :where(.bf-navigation.is-pinned) {
2686
- position: sticky;
2687
- top: 0;
2688
- }
2689
- }
2690
-
2691
- ${navigationLayoutCss()}
2692
-
2693
- ${documentNavigationCss({
2694
- bodyCaseTypeStyles: typeStyles(body),
938
+ })}
939
+
940
+ ${controlRowCss()}
941
+
942
+ ${listTreeCss({ bodyTypeStyles })}
943
+
944
+ ${legacyNavigationCss({
945
+ bodyMediumTypeStyles: typeStyles(body, { fontWeight: 500, includeCase: false }),
946
+ bodySemiboldTypeStyles: typeStyles(body, { fontWeight: 600, includeCase: false }),
2695
947
  bodyTypeStyles,
2696
- headingTypeStyles: typeStyles(h6, { includeCase: false })
2697
- })}
2698
-
2699
- ${tieredListEqualHeightRowCss()}
948
+ buttonMarginBottom,
949
+ buttonPadding,
950
+ compactButtonPadding: controlPadding(controlCompactBlockPaddingVar, "0rem")
951
+ })}
952
+
953
+ :where(.bf-theme) :where(.bf-contextual-menu, .bf-contextual-menu.is-left, .bf-contextual-menu.is-center) {
954
+ display: inline-block;
955
+ margin: 0;
956
+ position: relative;
957
+ vertical-align: top;
958
+ }
959
+
960
+ :where(.bf-theme) :where(.bf-contextual-menu-dropdown) {
961
+ background: var(--bf-color-background-default);
962
+ border: var(--bf-border-width) solid var(--bf-color-border-default);
963
+ box-shadow: 0 12px 32px rgba(0, 0, 0, 0.28);
964
+ display: none;
965
+ list-style: none;
966
+ margin: 0;
967
+ max-inline-size: 21rem;
968
+ min-inline-size: 10rem;
969
+ padding: 0;
970
+ position: absolute;
971
+ right: 0;
972
+ top: calc(100% - var(--bf-border-width));
973
+ width: fit-content;
974
+ z-index: 9;
975
+ }
976
+
977
+ :where(.bf-theme) :where(.bf-contextual-menu-dropdown[aria-hidden='false']) {
978
+ display: block;
979
+ }
980
+
981
+ :where(.bf-theme) :where(.bf-contextual-menu.is-left) :where(.bf-contextual-menu-dropdown) {
982
+ left: 0;
983
+ right: auto;
984
+ }
985
+
986
+ :where(.bf-theme) :where(.bf-contextual-menu.is-center) :where(.bf-contextual-menu-dropdown) {
987
+ left: 50%;
988
+ right: auto;
989
+ transform: translateX(-50%);
990
+ }
991
+
992
+ :where(.bf-theme) :where(.bf-contextual-menu-group) {
993
+ display: block;
994
+ }
995
+
996
+ :where(.bf-theme) :where(.bf-contextual-menu-group) + :where(.bf-contextual-menu-group) {
997
+ box-shadow: inset 0 1px 0 var(--bf-color-border-default);
998
+ }
999
+
1000
+ :where(.bf-theme) :where(.bf-contextual-menu-link) {
1001
+ ${typeStyles(body, { includeCase: false })} background: transparent;
1002
+ border: 0;
1003
+ clear: both;
1004
+ color: var(--bf-color-text-default);
1005
+ cursor: pointer;
1006
+ display: block;
1007
+ margin: 0;
1008
+ overflow: hidden;
1009
+ padding-block: var(--bf-control-block-padding-compact);
1010
+ padding-inline: var(--bf-panel-padding-inline);
1011
+ text-align: left;
1012
+ text-decoration: none;
1013
+ text-overflow: ellipsis;
1014
+ white-space: nowrap;
1015
+ width: 100%;
1016
+ }
1017
+
1018
+ :where(.bf-theme) :where(.bf-contextual-menu-link):visited {
1019
+ color: var(--bf-color-text-default);
1020
+ }
1021
+
1022
+ :where(.bf-theme) :where(.bf-contextual-menu-link):hover {
1023
+ background: var(--bf-color-background-hover);
1024
+ text-decoration: none;
1025
+ }
1026
+
1027
+ :where(.bf-theme) :where(.bf-contextual-menu-link):active {
1028
+ background: var(--bf-color-background-active);
1029
+ }
1030
+
1031
+ :where(.bf-theme) :where(.bf-contextual-menu-link):focus:not(:focus-visible) {
1032
+ outline: none;
1033
+ }
1034
+
1035
+ :where(.bf-theme) :where(.bf-contextual-menu-link):focus-visible {
1036
+ outline: 2px solid var(--bf-color-focus);
1037
+ outline-offset: -2px;
1038
+ }
1039
+
1040
+ :where(.bf-theme) :where(.bf-contextual-menu-link.is-disabled, .bf-contextual-menu-link[disabled]) {
1041
+ color: var(--bf-color-text-muted);
1042
+ cursor: default;
1043
+ pointer-events: none;
1044
+ }
1045
+
1046
+ :where(.bf-theme) :where(.bf-tooltip) {
1047
+ display: inline-flex;
1048
+ position: relative;
1049
+ text-decoration: inherit;
1050
+ }
1051
+
1052
+ :where(.bf-theme) :where(.bf-tooltip.is-detached) {
1053
+ display: inline-grid;
1054
+ gap: var(--bf-field-gap);
1055
+ position: relative;
1056
+ }
1057
+
1058
+ :where(.bf-theme) :where(.bf-tooltip-message) {
1059
+ ${typeStyles(body, { includeCase: false })} background-color: var(--bf-color-background-alt);
1060
+ box-shadow: inset 0 0 0 var(--bf-border-width) var(--bf-color-border-default), 0 12px 32px rgba(0, 0, 0, 0.24);
1061
+ color: var(--bf-color-text-default);
1062
+ inline-size: max-content;
1063
+ left: 0;
1064
+ margin: 0;
1065
+ max-inline-size: min(20rem, calc(100vw - (var(--bf-baseline) * 4)));
1066
+ opacity: 0;
1067
+ padding-block-end: ${bodySelectedEndNudge};
1068
+ padding-block-start: ${bodySelectedStartNudge};
1069
+ padding-inline: var(--bf-panel-padding-inline);
1070
+ pointer-events: none;
1071
+ position: absolute;
1072
+ top: 100%;
1073
+ transform: translateY(calc(var(--bf-baseline) - var(--bf-border-width)));
1074
+ visibility: hidden;
1075
+ white-space: normal;
1076
+ z-index: 12;
1077
+ }
1078
+
1079
+ :where(.bf-theme) :where(.bf-tooltip):is(:hover, :focus-within) > :where(.bf-tooltip-message),
1080
+ :where(.bf-theme) :where(.bf-tooltip.is-detached) > :where(.bf-tooltip-message) {
1081
+ opacity: 1;
1082
+ visibility: visible;
1083
+ }
1084
+
1085
+ :where(.bf-theme) :where(.bf-tooltip-message)::before {
1086
+ block-size: 0;
1087
+ border-bottom: calc(var(--bf-baseline) * 0.5) solid var(--bf-color-background-alt);
1088
+ border-inline: calc(var(--bf-baseline) * 0.5) solid transparent;
1089
+ bottom: 100%;
1090
+ content: "";
1091
+ inline-size: 0;
1092
+ left: calc(var(--bf-baseline) * 0.75);
1093
+ position: absolute;
1094
+ }
1095
+
1096
+ :where(.bf-theme) :where(.bf-tooltip.is-detached) > :where(.bf-tooltip-message) {
1097
+ left: auto;
1098
+ pointer-events: auto;
1099
+ position: static;
1100
+ top: auto;
1101
+ transform: none;
1102
+ }
1103
+
1104
+ :where(.bf-theme) :where(.bf-tooltip.is-detached) > :where(.bf-tooltip-message)::before {
1105
+ content: none;
1106
+ }
1107
+
1108
+ :where(.bf-theme) :where(.bf-tooltip.is-btm-center) > :where(.bf-tooltip-message) {
1109
+ left: 50%;
1110
+ transform: translate(-50%, calc(var(--bf-baseline) - var(--bf-border-width)));
1111
+ }
1112
+
1113
+ :where(.bf-theme) :where(.bf-tooltip.is-btm-center) > :where(.bf-tooltip-message)::before {
1114
+ left: 50%;
1115
+ transform: translateX(-50%);
1116
+ }
1117
+
1118
+ :where(.bf-theme) :where(.bf-tooltip.is-btm-right) > :where(.bf-tooltip-message) {
1119
+ left: auto;
1120
+ right: 0;
1121
+ }
1122
+
1123
+ :where(.bf-theme) :where(.bf-tooltip.is-btm-right) > :where(.bf-tooltip-message)::before {
1124
+ left: auto;
1125
+ right: calc(var(--bf-baseline) * 0.75);
1126
+ }
1127
+
1128
+ :where(.bf-theme) :where(.bf-tooltip.is-top-left, .bf-tooltip.is-top-center, .bf-tooltip.is-top-right) > :where(.bf-tooltip-message) {
1129
+ bottom: 100%;
1130
+ top: auto;
1131
+ transform: translateY(calc(var(--bf-baseline) * -1));
1132
+ }
1133
+
1134
+ :where(.bf-theme) :where(.bf-tooltip.is-top-left, .bf-tooltip.is-top-center, .bf-tooltip.is-top-right) > :where(.bf-tooltip-message)::before {
1135
+ border-bottom: 0;
1136
+ border-inline: calc(var(--bf-baseline) * 0.5) solid transparent;
1137
+ border-top: calc(var(--bf-baseline) * 0.5) solid var(--bf-color-background-alt);
1138
+ bottom: auto;
1139
+ top: 100%;
1140
+ }
1141
+
1142
+ :where(.bf-theme) :where(.bf-tooltip.is-top-center) > :where(.bf-tooltip-message) {
1143
+ left: 50%;
1144
+ transform: translate(-50%, calc(var(--bf-baseline) * -1));
1145
+ }
1146
+
1147
+ :where(.bf-theme) :where(.bf-tooltip.is-top-center) > :where(.bf-tooltip-message)::before {
1148
+ left: 50%;
1149
+ transform: translateX(-50%);
1150
+ }
1151
+
1152
+ :where(.bf-theme) :where(.bf-tooltip.is-top-right) > :where(.bf-tooltip-message) {
1153
+ left: auto;
1154
+ right: 0;
1155
+ }
1156
+
1157
+ :where(.bf-theme) :where(.bf-tooltip.is-top-right) > :where(.bf-tooltip-message)::before {
1158
+ left: auto;
1159
+ right: calc(var(--bf-baseline) * 0.75);
1160
+ }
1161
+
1162
+ :where(.bf-theme) :where(nav.bf-pagination) {
1163
+ display: block;
1164
+ }
1165
+
1166
+ :where(.bf-theme) :where(.bf-pagination-items) {
1167
+ align-items: flex-start;
1168
+ display: flex;
1169
+ flex-direction: row;
1170
+ flex-wrap: wrap;
1171
+ gap: var(--bf-field-gap);
1172
+ list-style: none;
1173
+ margin: 0;
1174
+ min-inline-size: 0;
1175
+ padding: 0;
1176
+ }
1177
+
1178
+ :where(.bf-theme) :where(.bf-pagination-item) {
1179
+ align-items: flex-start;
1180
+ display: flex;
1181
+ margin: 0;
1182
+ min-inline-size: 0;
1183
+ padding: 0;
1184
+ }
1185
+
1186
+ :where(.bf-theme) :where(.bf-pagination-item.is-truncation) {
1187
+ ${typeStyles(body, { includeCase: false })} color: var(--bf-color-text-muted);
1188
+ min-block-size: var(--bf-control-box-size);
1189
+ padding-block: var(--bf-control-block-padding);
1190
+ padding-inline: calc(var(--bf-baseline) * 0.5);
1191
+ }
1192
+
1193
+ :where(.bf-theme) :where(.bf-pagination-link, .bf-pagination-link.is-previous, .bf-pagination-link.is-next) {
1194
+ ${typeStyles(body, { includeCase: false })} align-items: center;
1195
+ background-color: var(--bf-color-background-default);
1196
+ border: var(--bf-border-width) solid var(--bf-color-border-high-contrast);
1197
+ border-radius: var(--bf-radius);
1198
+ color: var(--bf-color-text-default);
1199
+ cursor: pointer;
1200
+ display: inline-flex;
1201
+ gap: calc(var(--bf-baseline) * 0.5);
1202
+ justify-content: center;
1203
+ margin-bottom: ${buttonMarginBottom};
1204
+ min-inline-size: var(--bf-control-box-size);
1205
+ ${controlPadding(buttonBlockPaddingVar)} padding-inline: var(--bf-control-inline-padding-action);
1206
+ text-align: center;
1207
+ text-decoration: none;
1208
+ }
1209
+
1210
+ :where(.bf-theme) :where(.bf-pagination-link:hover, .bf-pagination-link.is-previous:hover, .bf-pagination-link.is-next:hover) {
1211
+ background-color: var(--bf-color-background-hover);
1212
+ }
1213
+
1214
+ :where(.bf-theme) :where(.bf-pagination-link:focus:not(:focus-visible), .bf-pagination-link.is-previous:focus:not(:focus-visible), .bf-pagination-link.is-next:focus:not(:focus-visible)) {
1215
+ outline: none;
1216
+ }
1217
+
1218
+ :where(.bf-theme) :where(.bf-pagination-link:focus-visible, .bf-pagination-link.is-previous:focus-visible, .bf-pagination-link.is-next:focus-visible) {
1219
+ outline: 2px solid var(--bf-color-focus);
1220
+ outline-offset: 2px;
1221
+ }
1222
+
1223
+ :where(.bf-theme) :where(.bf-pagination-link.is-active, .bf-pagination-link[aria-current='page'], .bf-pagination-link[aria-current='true']) {
1224
+ background-color: var(--bf-color-background-active);
1225
+ }
1226
+
1227
+ :where(.bf-theme) :where(.bf-pagination-link.is-previous, .bf-pagination-link.is-next)::before,
1228
+ :where(.bf-theme) :where(.bf-pagination-link.is-previous, .bf-pagination-link.is-next)::after {
1229
+ background-image: var(--bf-ui-icon-chevron-down);
1230
+ background-position: center;
1231
+ background-repeat: no-repeat;
1232
+ background-size: 1rem 1rem;
1233
+ block-size: 1rem;
1234
+ content: "";
1235
+ display: inline-block;
1236
+ inline-size: 1rem;
1237
+ }
1238
+
1239
+ :where(.bf-theme) :where(.bf-pagination-link.is-previous)::before {
1240
+ transform: rotate(90deg);
1241
+ }
1242
+
1243
+ :where(.bf-theme) :where(.bf-pagination-link.is-previous)::after {
1244
+ display: none;
1245
+ }
1246
+
1247
+ :where(.bf-theme) :where(.bf-pagination-link.is-next)::after {
1248
+ transform: rotate(-90deg);
1249
+ }
1250
+
1251
+ :where(.bf-theme) :where(.bf-pagination-link.is-next)::before {
1252
+ display: none;
1253
+ }
1254
+
1255
+ :where(.bf-theme) :where(.bf-pagination-link.is-disabled, .bf-pagination-link.is-previous.is-disabled, .bf-pagination-link.is-next.is-disabled, .bf-pagination-link[aria-disabled='true'], .bf-pagination-link.is-previous[aria-disabled='true'], .bf-pagination-link.is-next[aria-disabled='true']) {
1256
+ cursor: not-allowed;
1257
+ opacity: 0.5;
1258
+ pointer-events: none;
1259
+ }
1260
+
1261
+ :where(.bf-theme) :where(.bf-accordion) {
1262
+ display: grid;
1263
+ min-inline-size: 0;
1264
+ }
1265
+
1266
+ :where(.bf-theme) :where(.bf-accordion-list) {
1267
+ list-style: none;
1268
+ margin: 0;
1269
+ padding: 0;
1270
+ }
1271
+
1272
+ :where(.bf-theme) :where(.bf-accordion-group) {
1273
+ position: relative;
1274
+ }
1275
+
1276
+ :where(.bf-theme) :where(.bf-accordion-group) + :where(.bf-accordion-group)::after {
1277
+ background-color: var(--bf-color-border-default);
1278
+ block-size: var(--bf-border-width);
1279
+ content: "";
1280
+ inset-inline: 0;
1281
+ position: absolute;
1282
+ top: 0;
1283
+ }
1284
+
1285
+ :where(.bf-theme) :where(.bf-accordion-heading) {
1286
+ margin-bottom: 0;
1287
+ }
1288
+
1289
+ :where(.bf-theme) :where(.bf-accordion-tab) {
1290
+ ${typeStyles(body, { includeCase: false })} align-items: center;
1291
+ appearance: none;
1292
+ background: transparent;
1293
+ border: 0;
1294
+ color: var(--bf-color-text-default);
1295
+ cursor: pointer;
1296
+ display: flex;
1297
+ gap: var(--bf-disclosure-gap);
1298
+ inline-size: 100%;
1299
+ justify-content: flex-start;
1300
+ min-block-size: var(--bf-control-box-size);
1301
+ padding-block: var(--bf-control-block-padding);
1302
+ padding-inline: 0;
1303
+ text-align: left;
1304
+ }
1305
+
1306
+ :where(.bf-theme) :where(.bf-accordion-tab):focus:not(:focus-visible) {
1307
+ outline: none;
1308
+ }
1309
+
1310
+ :where(.bf-theme) :where(.bf-accordion-tab):focus-visible {
1311
+ outline: 2px solid var(--bf-color-focus);
1312
+ outline-offset: 2px;
1313
+ }
1314
+
1315
+ :where(.bf-theme) :where(.bf-accordion-tab)::before {
1316
+ background-image: var(--bf-ui-icon-chevron-down);
1317
+ background-position: center;
1318
+ background-repeat: no-repeat;
1319
+ background-size: var(--bf-disclosure-icon-inline-size) var(--bf-disclosure-icon-inline-size);
1320
+ block-size: var(--bf-disclosure-icon-inline-size);
1321
+ content: "";
1322
+ display: inline-block;
1323
+ flex: none;
1324
+ inline-size: var(--bf-disclosure-icon-inline-size);
1325
+ transition: transform 120ms ease;
1326
+ }
1327
+
1328
+ :where(.bf-theme) :where(.bf-accordion-tab[aria-expanded='false'])::before {
1329
+ transform: rotate(-90deg);
1330
+ }
1331
+
1332
+ :where(.bf-theme) :where(.bf-accordion-panel) {
1333
+ margin: 0;
1334
+ overflow: hidden;
1335
+ padding-block-start: var(--bf-baseline);
1336
+ padding-inline-start: calc(var(--bf-accordion-indent) + ${roleFontSizeVar("body", body.fontSize)} + var(--bf-baseline));
1337
+ }
1338
+
1339
+ :where(.bf-theme) :where(.bf-accordion-panel[aria-hidden='true']) {
1340
+ block-size: 0;
1341
+ opacity: 0;
1342
+ padding-block-start: 0;
1343
+ visibility: hidden;
1344
+ }
1345
+
1346
+ :where(.bf-theme) :where(.bf-accordion-panel[aria-hidden='false']) {
1347
+ block-size: auto;
1348
+ opacity: 1;
1349
+ visibility: visible;
1350
+ }
1351
+
1352
+ :where(.bf-theme) :where(.bf-modal) {
1353
+ background: transparent;
1354
+ border: 0;
1355
+ inset: 0;
1356
+ margin: auto;
1357
+ max-inline-size: min(100vw - (var(--bf-baseline) * 8), 36rem);
1358
+ padding: 0;
1359
+ }
1360
+
1361
+ :where(.bf-theme) :where(.bf-modal.is-workflow) {
1362
+ --bf-modal-workflow-viewport-gap: calc(var(--bf-baseline) * 4);
1363
+ --bf-modal-workflow-max-inline-size: 42rem;
1364
+ --bf-modal-workflow-min-inline-size: 32rem;
1365
+ --bf-modal-workflow-max-block-size: 40rem;
1366
+ --bf-modal-workflow-min-block-size: 24rem;
1367
+ block-size: min(calc(100dvh - var(--bf-modal-workflow-viewport-gap)), var(--bf-modal-workflow-max-block-size));
1368
+ inline-size: min(calc(100vw - var(--bf-modal-workflow-viewport-gap)), var(--bf-modal-workflow-max-inline-size));
1369
+ max-block-size: calc(100dvh - var(--bf-modal-workflow-viewport-gap));
1370
+ max-inline-size: calc(100vw - var(--bf-modal-workflow-viewport-gap));
1371
+ min-block-size: min(calc(100dvh - var(--bf-modal-workflow-viewport-gap)), var(--bf-modal-workflow-min-block-size));
1372
+ min-inline-size: min(calc(100vw - var(--bf-modal-workflow-viewport-gap)), var(--bf-modal-workflow-min-inline-size));
1373
+ overflow: hidden;
1374
+ }
1375
+
1376
+ :where(.bf-theme) :where(.bf-modal.is-workflow.is-resizable) {
1377
+ resize: both;
1378
+ }
1379
+
1380
+ :where(.bf-theme) :where(.bf-modal)::backdrop {
1381
+ background: var(--bf-color-background-overlay);
1382
+ }
1383
+
1384
+ :where(.bf-theme) :where(.bf-modal-dialog) {
1385
+ background: var(--bf-color-background-default);
1386
+ border: var(--bf-border-width) solid var(--bf-color-border-default);
1387
+ display: grid;
1388
+ gap: 0;
1389
+ }
1390
+
1391
+ :where(.bf-theme) :where(.bf-modal.is-workflow > .bf-modal-dialog) {
1392
+ block-size: 100%;
1393
+ grid-template-rows: auto minmax(0, 1fr) auto;
1394
+ inline-size: 100%;
1395
+ min-block-size: 0;
1396
+ overflow: hidden;
1397
+ }
1398
+
1399
+ :where(.bf-theme) :where(.bf-modal-header, .bf-modal-body, .bf-modal-footer) {
1400
+ padding-block-end: calc(var(--bf-panel-padding-block) - var(--bf-border-width));
1401
+ padding-block-start: calc(var(--bf-panel-padding-block) - var(--bf-border-width));
1402
+ padding-inline: var(--bf-panel-padding-inline);
1403
+ }
1404
+
1405
+ :where(.bf-theme) :where(.bf-modal-header) {
1406
+ align-items: start;
1407
+ border-bottom: var(--bf-border-width) solid var(--bf-color-border-default);
1408
+ display: flex;
1409
+ gap: var(--bf-field-gap);
1410
+ justify-content: space-between;
1411
+ }
1412
+
1413
+ :where(.bf-theme) :where(.bf-modal-body) {
1414
+ padding-block-end: var(--bf-panel-padding-block);
1415
+ padding-block-start: var(--bf-panel-padding-block);
1416
+ }
1417
+
1418
+ :where(.bf-theme) :where(.bf-modal.is-workflow) :where(.bf-modal-header, .bf-modal-footer) {
1419
+ background: var(--bf-color-background-default);
1420
+ }
1421
+
1422
+ :where(.bf-theme) :where(.bf-modal.is-workflow) :where(.bf-modal-body) {
1423
+ min-block-size: 0;
1424
+ overflow: auto;
1425
+ overscroll-behavior: contain;
1426
+ }
1427
+
1428
+ :where(.bf-theme) :where(.bf-modal-title) {
1429
+ ${typeStyles(h4, { includeCase: false })} margin: 0 0 var(--bf-h4-margin-bottom);
1430
+ padding-block-end: 0;
1431
+ padding-block-start: var(--bf-h4-nudge-start);
1432
+ }
1433
+
1434
+ :where(.bf-theme) :where(.bf-modal-footer) {
1435
+ align-items: start;
1436
+ border-top: var(--bf-border-width) solid var(--bf-color-border-default);
1437
+ display: flex;
1438
+ flex-wrap: wrap;
1439
+ gap: var(--bf-field-gap);
1440
+ justify-content: flex-end;
1441
+ }
1442
+
1443
+ :where(.bf-theme) :where(.bf-modal-close) {
1444
+ ${typeStyles(body, { includeCase: false })} appearance: none;
1445
+ background: transparent;
1446
+ border: 0;
1447
+ color: var(--bf-color-text-default);
1448
+ cursor: pointer;
1449
+ padding: 0;
1450
+ }
1451
+
1452
+ :where(.bf-theme) :where(.bf-code-snippet) {
1453
+ display: grid;
1454
+ gap: 0;
1455
+ margin: 0;
1456
+ min-inline-size: 0;
1457
+ }
1458
+
1459
+ :where(.bf-theme) :where(.bf-code-snippet.is-bordered) {
1460
+ box-shadow: inset 0 0 0 var(--bf-border-width) var(--bf-color-border-default);
1461
+ }
1462
+
1463
+ :where(.bf-theme) :where(.bf-code-snippet-header) {
1464
+ align-items: start;
1465
+ background: var(--bf-color-background-active);
1466
+ box-shadow: inset 0 -1px 0 var(--bf-color-border-default);
1467
+ display: flex;
1468
+ flex-wrap: wrap;
1469
+ justify-content: space-between;
1470
+ min-inline-size: 0;
1471
+ }
1472
+
1473
+ :where(.bf-theme) :where(.bf-code-snippet-header.is-stacked) {
1474
+ flex-direction: column;
1475
+ }
1476
+
1477
+ :where(.bf-theme) :where(.bf-code-snippet-title) {
1478
+ ${typeStyles(h6, { includeCase: false })} color: var(--bf-color-text-default);
1479
+ flex: 1 1 14rem;
1480
+ margin: 0;
1481
+ overflow-wrap: anywhere;
1482
+ padding-block: var(--bf-panel-padding-block);
1483
+ padding-inline: var(--bf-panel-padding-inline);
1484
+ }
1485
+
1486
+ :where(.bf-theme) :where(.bf-code-snippet-dropdowns) {
1487
+ display: flex;
1488
+ flex: 1 0 auto;
1489
+ flex-wrap: wrap;
1490
+ justify-content: flex-end;
1491
+ margin-inline-start: auto;
1492
+ min-inline-size: 0;
1493
+ }
1494
+
1495
+ :where(.bf-theme) :where(.bf-code-snippet-header.is-stacked) :where(.bf-code-snippet-dropdowns) {
1496
+ justify-content: stretch;
1497
+ margin-inline-start: 0;
1498
+ box-shadow: inset 0 1px 0 var(--bf-color-border-default);
1499
+ width: 100%;
1500
+ }
1501
+
1502
+ :where(.bf-theme) :where(.bf-code-snippet-dropdown) {
1503
+ ${typeStyles(body, { includeCase: false })} appearance: none;
1504
+ background: transparent;
1505
+ border: 0;
1506
+ color: var(--bf-color-text-default);
1507
+ cursor: pointer;
1508
+ margin: 0;
1509
+ min-block-size: calc(${bodyLineHeight} + (var(--bf-panel-padding-block) * 2));
1510
+ min-inline-size: 0;
1511
+ padding-block: var(--bf-panel-padding-block);
1512
+ padding-inline: var(--bf-panel-padding-inline);
1513
+ text-align: start;
1514
+ }
1515
+
1516
+ :where(.bf-theme) :where(.bf-code-snippet-dropdown) + :where(.bf-code-snippet-dropdown) {
1517
+ box-shadow: inset 1px 0 0 var(--bf-color-border-default);
1518
+ }
1519
+
1520
+ :where(.bf-theme) :where(.bf-code-snippet-dropdown):focus:not(:focus-visible) {
1521
+ outline: none;
1522
+ }
1523
+
1524
+ :where(.bf-theme) :where(.bf-code-snippet-dropdown):focus-visible {
1525
+ outline: 2px solid var(--bf-color-focus);
1526
+ outline-offset: -2px;
1527
+ }
1528
+
1529
+ :where(.bf-theme) :where(.bf-code-snippet-block, .bf-code-snippet-block.is-icon, .bf-code-snippet-block.is-numbered) {
1530
+ background: var(--bf-color-background-alt);
1531
+ color: var(--bf-color-text-default);
1532
+ display: block;
1533
+ font-family: "Ubuntu Sans Mono", "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
1534
+ font-size: ${roleFontSizeVar("body", body.fontSize)};
1535
+ line-height: ${bodyLineHeight};
1536
+ margin: 0;
1537
+ max-inline-size: 100%;
1538
+ min-inline-size: 0;
1539
+ overflow-x: auto;
1540
+ padding-block: var(--bf-panel-padding-block);
1541
+ padding-inline: var(--bf-panel-padding-inline);
1542
+ tab-size: 2;
1543
+ white-space: pre;
1544
+ }
1545
+
1546
+ :where(.bf-theme) :where(.bf-code-snippet-block, .bf-code-snippet-block.is-icon, .bf-code-snippet-block.is-numbered) > :where(code) {
1547
+ display: block;
1548
+ font: inherit;
1549
+ }
1550
+
1551
+ :where(.bf-theme) :where(.bf-code-snippet-block.is-wrapped, .bf-code-snippet-block.is-icon.is-wrapped) {
1552
+ white-space: pre-wrap;
1553
+ }
1554
+
1555
+ :where(.bf-theme) :where(.bf-code-snippet-block.is-icon) {
1556
+ cursor: copy;
1557
+ padding-inline-start: calc(var(--bf-panel-padding-inline) + (var(--bf-baseline) * 3));
1558
+ position: relative;
1559
+ }
1560
+
1561
+ :where(.bf-theme) :where(.bf-code-snippet-block.is-icon)::before {
1562
+ ${typeStyles(h6, { includeCase: false })} color: var(--bf-color-text-muted);
1563
+ content: "$";
1564
+ inset-inline-start: var(--bf-panel-padding-inline);
1565
+ inset-block-start: var(--bf-panel-padding-block);
1566
+ position: absolute;
1567
+ }
1568
+
1569
+ :where(.bf-theme) :where(.bf-code-snippet-block.is-icon.is-windows-prompt)::before {
1570
+ content: ">";
1571
+ }
1572
+
1573
+ :where(.bf-theme) :where(.bf-code-snippet-block.is-icon.is-url)::before {
1574
+ content: "\\1F517";
1575
+ }
1576
+
1577
+ :where(.bf-theme) :where(.bf-code-snippet-block.is-icon.is-copied) {
1578
+ background: color-mix(in srgb, var(--bf-color-background-alt) 78%, var(--bf-color-background-information-default));
1579
+ box-shadow: inset 0 0 0 1px var(--bf-color-border-information);
1580
+ }
1581
+
1582
+ :where(.bf-theme) :where(.bf-code-snippet-block.is-icon):focus:not(:focus-visible) {
1583
+ outline: none;
1584
+ }
1585
+
1586
+ :where(.bf-theme) :where(.bf-code-snippet-block.is-icon):focus-visible {
1587
+ outline: 2px solid var(--bf-color-focus);
1588
+ outline-offset: -2px;
1589
+ }
1590
+
1591
+ :where(.bf-theme) :where(.bf-code-snippet-block.is-numbered) {
1592
+ counter-reset: code-line;
1593
+ }
1594
+
1595
+ :where(.bf-theme) :where(.bf-code-snippet-line) {
1596
+ counter-increment: code-line;
1597
+ display: block;
1598
+ min-block-size: ${bodyLineHeight};
1599
+ }
1600
+
1601
+ :where(.bf-theme) :where(.bf-code-snippet-block.is-numbered) :where(.bf-code-snippet-line)::before {
1602
+ color: var(--bf-color-text-muted);
1603
+ content: counter(code-line);
1604
+ display: inline-block;
1605
+ font-variant-numeric: tabular-nums;
1606
+ min-inline-size: calc(var(--bf-baseline) * 5);
1607
+ padding-inline-end: var(--bf-panel-padding-inline);
1608
+ text-align: right;
1609
+ user-select: none;
1610
+ }
1611
+
1612
+ :where(.bf-theme) :where(.bf-application) {
1613
+ background: var(--bf-color-background-default);
1614
+ display: grid;
1615
+ grid-template-areas:
1616
+ "main"
1617
+ "aside";
1618
+ grid-template-columns: minmax(0, 1fr);
1619
+ grid-template-rows: minmax(0, 1fr) min-content;
1620
+ min-block-size: 100%;
1621
+ overflow: hidden;
1622
+ position: relative;
1623
+ width: 100%;
1624
+ }
1625
+
1626
+ :where(.bf-theme) :where(.bf-application.is-fill) {
1627
+ block-size: 100dvb;
1628
+ max-block-size: 100dvb;
1629
+ min-block-size: 100dvb;
1630
+ }
1631
+
1632
+ :where(.bf-theme) :where(.bf-application:has(> .bf-navigation)) {
1633
+ grid-template-areas:
1634
+ "navigation-bar"
1635
+ "main"
1636
+ "aside";
1637
+ grid-template-rows: min-content minmax(0, 1fr) min-content;
1638
+ }
1639
+
1640
+ :where(.bf-theme) :where(.bf-navigation-bar) {
1641
+ background: var(--bf-color-background-alt);
1642
+ border-bottom: var(--bf-border-width) solid var(--bf-color-border-low-contrast);
1643
+ grid-area: navigation-bar;
1644
+ min-block-size: var(--bf-navigation-bar-min-block-size);
1645
+ min-inline-size: 0;
1646
+ position: relative;
1647
+ z-index: 40;
1648
+ }
1649
+
1650
+ :where(.bf-theme) :where(.bf-navigation) {
1651
+ grid-column: 1 / -1;
1652
+ grid-row: 1 / -1;
1653
+ min-block-size: 0;
1654
+ min-inline-size: 0;
1655
+ pointer-events: none;
1656
+ position: relative;
1657
+ z-index: 41;
1658
+ }
1659
+
1660
+ :where(.bf-theme) :where(.bf-navigation-overlay) {
1661
+ background: var(--bf-color-background-overlay);
1662
+ inset: 0;
1663
+ opacity: 0;
1664
+ pointer-events: none;
1665
+ position: fixed;
1666
+ transition: opacity 160ms ease, visibility 160ms ease;
1667
+ visibility: hidden;
1668
+ z-index: 41;
1669
+ }
1670
+
1671
+ :where(.bf-theme) :where(.bf-navigation:not(.is-collapsed)) > :where(.bf-navigation-overlay) {
1672
+ opacity: 1;
1673
+ pointer-events: auto;
1674
+ visibility: visible;
1675
+ }
1676
+
1677
+ :where(.bf-theme) :where(.bf-navigation-drawer) {
1678
+ background: var(--bf-color-background-alt);
1679
+ block-size: 100dvh;
1680
+ border-inline-end: var(--bf-border-width) solid var(--bf-color-border-low-contrast);
1681
+ bottom: 0;
1682
+ inline-size: min(100%, var(--bf-application-navigation-width));
1683
+ left: 0;
1684
+ max-inline-size: 100%;
1685
+ overflow: auto;
1686
+ pointer-events: auto;
1687
+ position: fixed;
1688
+ top: 0;
1689
+ transform: translateX(-100%);
1690
+ transition: transform 160ms ease, box-shadow 160ms ease, visibility 160ms ease;
1691
+ visibility: hidden;
1692
+ z-index: 42;
1693
+ }
1694
+
1695
+ :where(.bf-theme) :where(.bf-navigation:not(.is-collapsed)) > :where(.bf-navigation-drawer) {
1696
+ box-shadow: 0 24px 72px rgba(0, 0, 0, 0.38);
1697
+ transform: translateX(0);
1698
+ visibility: visible;
1699
+ }
1700
+
1701
+ :where(.bf-theme) :where(.bf-navigation.is-collapsed) :where(.is-fading-when-collapsed, .bf-side-navigation-heading, .bf-side-navigation-status) {
1702
+ display: none;
1703
+ }
1704
+
1705
+ :where(.bf-theme) :where(.bf-navigation.is-collapsed) :where(.bf-side-navigation-label) {
1706
+ block-size: 1px;
1707
+ clip-path: inset(50%);
1708
+ inline-size: 1px;
1709
+ max-inline-size: 1px;
1710
+ opacity: 0;
1711
+ overflow: hidden;
1712
+ pointer-events: none;
1713
+ position: absolute;
1714
+ white-space: nowrap;
1715
+ }
1716
+
1717
+ :where(.bf-theme) :where(.bf-navigation.is-collapsed) :where(.bf-side-navigation-list .bf-side-navigation-list) {
1718
+ display: none;
1719
+ }
1720
+
1721
+ :where(.bf-theme) :where(.bf-navigation.is-collapsed) :where(.bf-side-navigation-link, .bf-side-navigation-text) {
1722
+ align-items: center;
1723
+ justify-content: center;
1724
+ padding-inline: calc(var(--bf-baseline) * 1.25);
1725
+ }
1726
+
1727
+ :where(.bf-theme) :where(.bf-navigation.is-collapsed) :where(.bf-side-navigation-list) {
1728
+ border-bottom-color: transparent;
1729
+ }
1730
+
1731
+ :where(.bf-theme) :where(.bf-navigation.is-collapsed) :where(.bf-side-navigation-item.is-title > .bf-side-navigation-link, .bf-side-navigation-item.is-title > .bf-side-navigation-text) {
1732
+ padding-inline: calc(var(--bf-baseline) * 1.25);
1733
+ }
1734
+
1735
+ :where(.bf-theme) :where(.bf-application:has(> .bf-aside.is-pinned:not(.is-collapsed))) {
1736
+ grid-template-areas: "main aside";
1737
+ grid-template-columns: minmax(0, 1fr) minmax(0, var(--bf-application-aside-width));
1738
+ grid-template-rows: minmax(0, 1fr);
1739
+ }
1740
+
1741
+ :where(.bf-theme) :where(.bf-main) {
1742
+ grid-area: main;
1743
+ min-block-size: 0;
1744
+ min-inline-size: 0;
1745
+ overflow: auto;
1746
+ }
1747
+
1748
+ :where(.bf-theme) :where(.bf-application-overlay) {
1749
+ background: var(--bf-color-background-overlay);
1750
+ inset: 0;
1751
+ opacity: 0;
1752
+ pointer-events: none;
1753
+ position: absolute;
1754
+ transition: opacity 160ms ease, visibility 160ms ease;
1755
+ visibility: hidden;
1756
+ z-index: 20;
1757
+ }
1758
+
1759
+ :where(.bf-theme) :where(.bf-application.is-drawer-expanded) > :where(.bf-application-overlay) {
1760
+ opacity: 1;
1761
+ pointer-events: auto;
1762
+ visibility: visible;
1763
+ }
1764
+
1765
+ :where(.bf-theme) :where(.bf-aside) {
1766
+ background: var(--bf-color-background-default);
1767
+ border-inline-start: var(--bf-border-width) solid var(--bf-color-border-default);
1768
+ grid-area: aside;
1769
+ inline-size: 100%;
1770
+ min-block-size: 0;
1771
+ min-inline-size: 0;
1772
+ overflow: auto;
1773
+ position: relative;
1774
+ }
1775
+
1776
+ :where(.bf-theme) :where(.bf-aside.is-overlay, .bf-aside.is-drawer) {
1777
+ align-self: stretch;
1778
+ block-size: auto;
1779
+ box-shadow: 0 24px 72px rgba(0, 0, 0, 0.38);
1780
+ bottom: 0;
1781
+ grid-column: 1 / -1;
1782
+ grid-row: 1 / -1;
1783
+ inline-size: min(100%, var(--bf-application-aside-width));
1784
+ justify-self: end;
1785
+ left: auto;
1786
+ max-inline-size: 100%;
1787
+ min-block-size: 100%;
1788
+ pointer-events: none;
1789
+ position: absolute;
1790
+ right: 0;
1791
+ top: 0;
1792
+ transform: translateX(100%);
1793
+ transition: transform 160ms ease, visibility 160ms ease, box-shadow 160ms ease;
1794
+ visibility: hidden;
1795
+ z-index: 30;
1796
+ }
1797
+
1798
+ :where(.bf-theme) :where(.bf-aside.is-overlay.is-icon, .bf-aside.is-drawer.is-icon) {
1799
+ inline-size: min(100%, var(--bf-application-drawer-width-icon));
1800
+ }
1801
+
1802
+ :where(.bf-theme) :where(.bf-aside.is-overlay.is-small, .bf-aside.is-drawer.is-small) {
1803
+ inline-size: min(100%, var(--bf-application-drawer-width-small-max));
1804
+ }
1805
+
1806
+ :where(.bf-theme) :where(.bf-aside.is-overlay.is-medium, .bf-aside.is-drawer.is-medium) {
1807
+ inline-size: min(100%, var(--bf-application-drawer-width-medium-max));
1808
+ }
1809
+
1810
+ :where(.bf-theme) :where(.bf-aside.is-overlay.is-large, .bf-aside.is-drawer.is-large) {
1811
+ inline-size: min(100%, var(--bf-application-drawer-width-large));
1812
+ }
1813
+
1814
+ :where(.bf-theme) :where(.bf-application:has(> .bf-aside.is-pinned.is-small)) {
1815
+ --bf-application-aside-width: var(--bf-application-drawer-width-small-max);
1816
+ }
1817
+
1818
+ :where(.bf-theme) :where(.bf-application:has(> .bf-aside.is-pinned.is-medium)) {
1819
+ --bf-application-aside-width: var(--bf-application-drawer-width-medium);
1820
+ }
1821
+
1822
+ :where(.bf-theme) :where(.bf-application:has(> .bf-aside.is-pinned.is-large)) {
1823
+ --bf-application-aside-width: min(var(--bf-application-drawer-width-large), var(--bf-application-drawer-width-medium-max));
1824
+ }
1825
+
1826
+ :where(.bf-theme) :where(.bf-application.is-drawer-expanded) > :where(.bf-aside.is-overlay, .bf-aside.is-drawer),
1827
+ :where(.bf-theme) :where(.bf-aside.is-overlay.is-open, .bf-aside.is-drawer.is-open) {
1828
+ pointer-events: auto;
1829
+ transform: translateX(0);
1830
+ visibility: visible;
1831
+ }
1832
+
1833
+ :where(.bf-theme) :where(.bf-aside.is-collapsed) {
1834
+ display: none;
1835
+ }
1836
+
1837
+ :where(.bf-theme) :where(.bf-aside.is-pinned) {
1838
+ display: block;
1839
+ }
1840
+
1841
+ :where(.bf-theme) :where(.bf-aside.is-overlay, .bf-aside.is-drawer) :where(.bf-application-aside-resize-handle) {
1842
+ display: none;
1843
+ }
1844
+
1845
+ :where(.bf-theme) :where(.bf-application-aside-resize-handle) {
1846
+ background: transparent;
1847
+ border: 0;
1848
+ cursor: ew-resize;
1849
+ display: none;
1850
+ inset-block: 0;
1851
+ inset-inline-start: calc(var(--bf-baseline) * -3);
1852
+ outline: none;
1853
+ position: absolute;
1854
+ touch-action: none;
1855
+ user-select: none;
1856
+ -webkit-user-select: none;
1857
+ width: calc(var(--bf-baseline) * 6);
1858
+ z-index: 3;
1859
+ }
1860
+
1861
+ :where(.bf-theme) :where(.bf-application:has(> .bf-aside.is-pinned:not(.is-collapsed)))
1862
+ :where(.bf-aside.is-pinned:not(.is-collapsed))
1863
+ > :where(.bf-application-aside-resize-handle) {
1864
+ display: block;
1865
+ }
1866
+
1867
+ :where(.bf-theme) :where(.bf-application-aside-resize-handle)::after {
1868
+ background: var(--bf-color-border-default);
1869
+ border-radius: 999px;
1870
+ content: "";
1871
+ inset-block: var(--bf-panel-padding-block);
1872
+ inset-inline-start: calc(50% - 1px);
1873
+ opacity: 0.95;
1874
+ position: absolute;
1875
+ transition: background-color 120ms ease, opacity 120ms ease;
1876
+ width: 2px;
1877
+ }
1878
+
1879
+ :where(.bf-theme) :where(.bf-application-aside-resize-handle):hover::after,
1880
+ :where(.bf-theme) :where(.bf-application-aside-resize-handle):focus-visible::after,
1881
+ :where(.bf-theme) :where(.bf-application.is-resizing-aside) :where(.bf-application-aside-resize-handle)::after {
1882
+ background: var(--bf-application-resize-handle-active);
1883
+ }
1884
+
1885
+ :where(.bf-theme) :where(.bf-application-aside-resize-handle):focus-visible {
1886
+ outline: 2px solid var(--bf-application-resize-handle-focus-ring);
1887
+ outline-offset: -2px;
1888
+ }
1889
+
1890
+ @media (min-width: 64.75rem) {
1891
+ :where(.bf-theme) :where(.bf-application:has(> .bf-navigation)) {
1892
+ grid-template-areas:
1893
+ "navigation-bar navigation-bar"
1894
+ "navigation main";
1895
+ grid-template-columns: minmax(0, var(--bf-application-navigation-width)) minmax(0, 1fr);
1896
+ grid-template-rows: min-content minmax(0, 1fr);
1897
+ }
1898
+
1899
+ :where(.bf-theme) :where(.bf-application:has(> .bf-navigation)):has(> .bf-aside.is-pinned:not(.is-collapsed)) {
1900
+ grid-template-areas:
1901
+ "navigation-bar navigation-bar navigation-bar"
1902
+ "navigation main aside";
1903
+ grid-template-columns: minmax(0, var(--bf-application-navigation-width)) minmax(0, 1fr) minmax(0, var(--bf-application-aside-width));
1904
+ }
1905
+
1906
+ :where(.bf-theme) :where(.bf-application:has(> .bf-navigation.is-collapsed)) {
1907
+ --bf-application-navigation-width: var(--bf-application-navigation-width-collapsed);
1908
+ }
1909
+
1910
+ :where(.bf-theme) :where(.bf-navigation.is-collapsed) :where(.bf-navigation-drawer > .bf-panel > .bf-panel-header) {
1911
+ display: none;
1912
+ }
1913
+
1914
+ :where(.bf-theme) :where(.bf-navigation) {
1915
+ grid-area: navigation;
1916
+ pointer-events: auto;
1917
+ }
1918
+
1919
+ :where(.bf-theme) :where(.bf-navigation-overlay) {
1920
+ display: none;
1921
+ }
1922
+
1923
+ :where(.bf-theme) :where(.bf-navigation-drawer),
1924
+ :where(.bf-theme) :where(.bf-navigation:not(.is-collapsed)) > :where(.bf-navigation-drawer) {
1925
+ block-size: 100%;
1926
+ box-shadow: none;
1927
+ inline-size: 100%;
1928
+ min-block-size: 0;
1929
+ position: static;
1930
+ transform: translateX(0);
1931
+ visibility: visible;
1932
+ }
1933
+
1934
+ :where(.bf-theme) :where(.bf-navigation.is-pinned) {
1935
+ position: sticky;
1936
+ top: 0;
1937
+ }
1938
+ }
1939
+
1940
+ ${navigationLayoutCss()}
1941
+
1942
+ ${documentNavigationCss({
1943
+ bodyCaseTypeStyles: typeStyles(body),
1944
+ bodyTypeStyles,
1945
+ headingTypeStyles: typeStyles(h6, { includeCase: false })
1946
+ })}
1947
+
1948
+ ${tieredListEqualHeightRowCss()}
2700
1949
  `;
2701
1950
  }