baseline-foundry 0.1.3 → 0.1.5
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.
- package/README.md +577 -553
- package/config/experiments/ibm-plex-engine-smoke.json +115 -115
- package/config/experiments/ubuntu-engine-smoke.json +115 -115
- package/config/foundation-theme.json +110 -110
- package/config/tiers/app.json +116 -116
- package/config/tiers/documentation.json +116 -116
- package/config/tiers/editorial.json +116 -116
- package/config/tiers/os.json +116 -116
- package/dist/baseline-grid-overlay.js +43 -43
- package/dist/build.js +4 -4
- package/dist/code-snippet.js +1 -1
- package/dist/css-app-tier.js +78 -73
- package/dist/css-components/article-pagination.js +141 -140
- package/dist/css-components/button-actions.js +181 -161
- package/dist/css-components/cards-options.js +176 -176
- package/dist/css-components/chip-badge-status.d.ts +0 -3
- package/dist/css-components/chip-badge-status.js +174 -159
- package/dist/css-components/content-card.d.ts +7 -7
- package/dist/css-components/content-card.js +498 -497
- package/dist/css-components/control-row.d.ts +1 -1
- package/dist/css-components/control-row.js +15 -15
- package/dist/css-components/cta-figure-aspect.js +120 -120
- package/dist/css-components/document-navigation.js +427 -390
- package/dist/css-components/editorial-content.js +42 -42
- package/dist/css-components/icon.js +72 -72
- package/dist/css-components/interactive-feedback.js +239 -217
- package/dist/css-components/interactive-tables.js +160 -155
- package/dist/css-components/legacy-navigation.d.ts +8 -0
- package/dist/css-components/legacy-navigation.js +816 -0
- package/dist/css-components/linked-logo-site-layout.d.ts +3 -3
- package/dist/css-components/linked-logo-site-layout.js +177 -180
- package/dist/css-components/list-tree.js +96 -94
- package/dist/css-components/list.js +9 -7
- package/dist/css-components/logo-media.d.ts +6 -6
- package/dist/css-components/logo-media.js +218 -207
- package/dist/css-components/navigation-layout.js +144 -144
- package/dist/css-components/panel.js +148 -144
- package/dist/css-components/search-box-and-filter.d.ts +0 -1
- package/dist/css-components/search-box-and-filter.js +263 -264
- package/dist/css-components/sites-editorial-ports.d.ts +3 -4
- package/dist/css-components/sites-editorial-ports.js +279 -247
- package/dist/css-components/sites-foundation.js +142 -146
- package/dist/css-components/sites-rich-lists.d.ts +5 -5
- package/dist/css-components/sites-rich-lists.js +339 -349
- package/dist/css-components/static-content-ports.d.ts +3 -3
- package/dist/css-components/static-content-ports.js +200 -186
- package/dist/css-components/tab-section.d.ts +3 -3
- package/dist/css-components/tab-section.js +93 -85
- package/dist/css-components/table.js +76 -75
- package/dist/css-components/tabs-choice-breadcrumbs.js +307 -303
- package/dist/css-components/tiered-list-equal-height-row.js +271 -271
- package/dist/css-components.js +1881 -2554
- package/dist/css-grid.d.ts +1 -1
- package/dist/css-grid.js +183 -173
- package/dist/css.js +317 -241
- package/dist/experiments/ibm-plex-engine-smoke/styles.css +894 -538
- package/dist/experiments/ibm-plex-engine-smoke/surfaces.json +2 -2
- package/dist/experiments/ibm-plex-engine-smoke/tokens.json +1 -1
- package/dist/in-page-navigation.js +1 -1
- package/dist/presets/app-tier/styles.css +928 -568
- package/dist/presets/app-tier/surfaces.json +17 -17
- package/dist/presets/app-tier/tokens.json +7 -7
- package/dist/presets/prose/styles.css +919 -562
- package/dist/presets/prose/surfaces.json +17 -17
- package/dist/presets/prose/tokens.json +1 -1
- package/dist/resizable-aside.js +12 -4
- package/dist/styles.css +919 -562
- package/dist/surfaces.json +17 -17
- package/dist/tiers/app/styles.css +928 -568
- package/dist/tiers/app/surfaces.json +17 -17
- package/dist/tiers/app/tokens.json +7 -7
- package/dist/tiers/documentation/styles.css +920 -563
- package/dist/tiers/documentation/surfaces.json +17 -17
- package/dist/tiers/documentation/tokens.json +2 -2
- package/dist/tiers/editorial/styles.css +919 -562
- package/dist/tiers/editorial/surfaces.json +17 -17
- package/dist/tiers/editorial/tokens.json +1 -1
- package/dist/tiers/os/styles.css +925 -568
- package/dist/tiers/os/surfaces.json +17 -17
- package/dist/tiers/os/tokens.json +7 -7
- package/dist/tokens.json +1 -1
- package/dist/types.d.ts +1 -1
- package/docs/publishing.md +31 -14
- package/package.json +119 -108
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
background-image: linear-gradient(
|
|
11
11
|
to top,
|
|
12
12
|
var(--bf-baseline-grid-color),
|
|
13
|
-
var(--bf-baseline-grid-color)
|
|
14
|
-
transparent
|
|
13
|
+
var(--bf-baseline-grid-color) 0.0625rem,
|
|
14
|
+
transparent 0.0625rem,
|
|
15
15
|
transparent
|
|
16
16
|
);
|
|
17
17
|
background-size: 100% var(--bf-baseline-grid-size);
|
|
@@ -47,7 +47,7 @@ html.u-baseline-grid::after {
|
|
|
47
47
|
--bf-space-8: calc(var(--bf-baseline) * 8);
|
|
48
48
|
--bf-space-12: calc(var(--bf-baseline) * 12);
|
|
49
49
|
--bf-space-16: calc(var(--bf-baseline) * 16);
|
|
50
|
-
--bf-content-max-width:
|
|
50
|
+
--bf-content-max-width: 80rem;
|
|
51
51
|
--bf-content-padding-inline: 1.5rem;
|
|
52
52
|
--bf-measure: 38rem;
|
|
53
53
|
--bf-section-space: 3rem;
|
|
@@ -163,7 +163,7 @@ html.u-baseline-grid::after {
|
|
|
163
163
|
--bf-space-8: calc(var(--bf-baseline) * 8);
|
|
164
164
|
--bf-space-12: calc(var(--bf-baseline) * 12);
|
|
165
165
|
--bf-space-16: calc(var(--bf-baseline) * 16);
|
|
166
|
-
--bf-content-max-width:
|
|
166
|
+
--bf-content-max-width: 80rem;
|
|
167
167
|
--bf-content-padding-inline: 1.5rem;
|
|
168
168
|
--bf-measure: 38rem;
|
|
169
169
|
--bf-section-space: 3rem;
|
|
@@ -395,13 +395,13 @@ html.u-baseline-grid::after {
|
|
|
395
395
|
--bf-space-8: calc(var(--bf-baseline) * 8);
|
|
396
396
|
--bf-space-12: calc(var(--bf-baseline) * 12);
|
|
397
397
|
--bf-space-16: calc(var(--bf-baseline) * 16);
|
|
398
|
-
--bf-content-max-width:
|
|
398
|
+
--bf-content-max-width: 60rem;
|
|
399
399
|
--bf-content-padding-inline: 1rem;
|
|
400
400
|
--bf-measure: 40rem;
|
|
401
401
|
--bf-section-space: 1rem;
|
|
402
402
|
--bf-section-space-shallow: 0.5rem;
|
|
403
403
|
--bf-section-space-deep: 2rem;
|
|
404
|
-
--bf-strip-space:
|
|
404
|
+
--bf-strip-space: 3rem;
|
|
405
405
|
--bf-grid-gap-inline: 1.5rem;
|
|
406
406
|
--bf-grid-gap-block: 1.5rem;
|
|
407
407
|
--bf-page-margin: 2rem;
|
|
@@ -511,13 +511,13 @@ html.u-baseline-grid::after {
|
|
|
511
511
|
--bf-space-8: calc(var(--bf-baseline) * 8);
|
|
512
512
|
--bf-space-12: calc(var(--bf-baseline) * 12);
|
|
513
513
|
--bf-space-16: calc(var(--bf-baseline) * 16);
|
|
514
|
-
--bf-content-max-width:
|
|
514
|
+
--bf-content-max-width: 60rem;
|
|
515
515
|
--bf-content-padding-inline: 0.75rem;
|
|
516
516
|
--bf-measure: 30rem;
|
|
517
517
|
--bf-section-space: 3rem;
|
|
518
518
|
--bf-section-space-shallow: 1.5rem;
|
|
519
519
|
--bf-section-space-deep: 6rem;
|
|
520
|
-
--bf-strip-space:
|
|
520
|
+
--bf-strip-space: 2rem;
|
|
521
521
|
--bf-grid-gap-inline: 1rem;
|
|
522
522
|
--bf-grid-gap-block: 1rem;
|
|
523
523
|
--bf-page-margin: 1rem;
|
|
@@ -785,7 +785,7 @@ html.u-baseline-grid::after {
|
|
|
785
785
|
:where(.bf-theme) :where(a) {
|
|
786
786
|
color: var(--bf-color-link);
|
|
787
787
|
text-decoration: none;
|
|
788
|
-
text-decoration-thickness:
|
|
788
|
+
text-decoration-thickness: 0.0625rem;
|
|
789
789
|
text-underline-offset: 0.12em;
|
|
790
790
|
}
|
|
791
791
|
|
|
@@ -798,8 +798,22 @@ html.u-baseline-grid::after {
|
|
|
798
798
|
}
|
|
799
799
|
|
|
800
800
|
:where(.bf-theme) :where(a:focus-visible) {
|
|
801
|
-
outline:
|
|
802
|
-
outline-offset:
|
|
801
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
802
|
+
outline-offset: 0.125rem;
|
|
803
|
+
}
|
|
804
|
+
|
|
805
|
+
/* Standalone anchors need the same metric-owned text box as adjacent body
|
|
806
|
+
* controls. Raw anchors remain inline so prose links still participate in the
|
|
807
|
+
* surrounding line box. */
|
|
808
|
+
:where(.bf-theme) :where(a.bf-text-link) {
|
|
809
|
+
display: inline-block;
|
|
810
|
+
font-family: var(--bf-body-font-family);
|
|
811
|
+
font-size: var(--bf-body-font-size);
|
|
812
|
+
font-style: var(--bf-body-font-style);
|
|
813
|
+
font-weight: var(--bf-body-font-weight);
|
|
814
|
+
line-height: var(--bf-body-line-height);
|
|
815
|
+
margin-block: 0 var(--bf-body-margin-bottom);
|
|
816
|
+
padding-block: var(--bf-body-nudge-start) 0;
|
|
803
817
|
}
|
|
804
818
|
|
|
805
819
|
:where(.bf-theme) :where(code) {
|
|
@@ -810,7 +824,7 @@ html.u-baseline-grid::after {
|
|
|
810
824
|
:where(.bf-theme) :where(.bf-page) {
|
|
811
825
|
margin-inline: auto;
|
|
812
826
|
max-inline-size: var(--bf-content-max-width);
|
|
813
|
-
padding-inline:
|
|
827
|
+
padding-inline: var(--bf-page-margin);
|
|
814
828
|
}
|
|
815
829
|
|
|
816
830
|
:where(.bf-theme) :where(.bf-page.is-fill) {
|
|
@@ -893,7 +907,14 @@ html.u-baseline-grid::after {
|
|
|
893
907
|
}
|
|
894
908
|
|
|
895
909
|
:where(.bf-theme) :where(.bf-stack.is-flush) {
|
|
896
|
-
--bf-stack-space:
|
|
910
|
+
--bf-stack-space: 0rem;
|
|
911
|
+
}
|
|
912
|
+
|
|
913
|
+
/* A metric-flush stack is an explicit relationship between adjacent text
|
|
914
|
+
* roles. It retains the outer role nudges while cancelling only the preceding
|
|
915
|
+
* end compensation and following start nudge; no guessed negative gap is used. */
|
|
916
|
+
:where(.bf-theme) :where(.bf-stack.is-metric-flush) {
|
|
917
|
+
--bf-stack-space: 0rem;
|
|
897
918
|
}
|
|
898
919
|
|
|
899
920
|
:where(.bf-theme) :where(.bf-stack.is-extra-dense) {
|
|
@@ -921,10 +942,19 @@ html.u-baseline-grid::after {
|
|
|
921
942
|
}
|
|
922
943
|
|
|
923
944
|
:where(.bf-theme) :where(.bf-cluster) {
|
|
945
|
+
--bf-cluster-space: var(--bf-space-2);
|
|
924
946
|
align-items: flex-start;
|
|
925
947
|
display: flex;
|
|
926
948
|
flex-wrap: wrap;
|
|
927
|
-
gap: var(--bf-space
|
|
949
|
+
gap: var(--bf-cluster-space);
|
|
950
|
+
}
|
|
951
|
+
|
|
952
|
+
:where(.bf-theme) :where(.bf-cluster.is-dense) {
|
|
953
|
+
--bf-cluster-space: var(--bf-space-1);
|
|
954
|
+
}
|
|
955
|
+
|
|
956
|
+
:where(.bf-theme) :where(.bf-cluster.is-nowrap) {
|
|
957
|
+
flex-wrap: nowrap;
|
|
928
958
|
}
|
|
929
959
|
|
|
930
960
|
:where(.bf-theme) :where(.bf-cluster.is-split) {
|
|
@@ -1046,6 +1076,14 @@ html.u-baseline-grid::after {
|
|
|
1046
1076
|
}
|
|
1047
1077
|
|
|
1048
1078
|
|
|
1079
|
+
:where(.bf-theme) .bf-stack.is-metric-flush > :where(blockquote, p, h1, h2, h3, h4, h5, h6, .bf-body, .bf-h1, .bf-h2, .bf-h3, .bf-h4, .bf-h5, .bf-h6):has(+ :where(blockquote, p, h1, h2, h3, h4, h5, h6, .bf-body, .bf-h1, .bf-h2, .bf-h3, .bf-h4, .bf-h5, .bf-h6)) {
|
|
1080
|
+
margin-block-end: 0;
|
|
1081
|
+
}
|
|
1082
|
+
|
|
1083
|
+
:where(.bf-theme) .bf-stack.is-metric-flush > :where(blockquote, p, h1, h2, h3, h4, h5, h6, .bf-body, .bf-h1, .bf-h2, .bf-h3, .bf-h4, .bf-h5, .bf-h6) + :where(blockquote, p, h1, h2, h3, h4, h5, h6, .bf-body, .bf-h1, .bf-h2, .bf-h3, .bf-h4, .bf-h5, .bf-h6) {
|
|
1084
|
+
padding-block-start: 0;
|
|
1085
|
+
}
|
|
1086
|
+
|
|
1049
1087
|
/* DEMO ONLY — Cap-derived nudges are unreliable (ascender ≠ cap height).
|
|
1050
1088
|
The approximation (line-height + 1cap) / 2 drifts at larger sizes.
|
|
1051
1089
|
Kept as a reference for why metrics-derived nudges are used instead. */
|
|
@@ -1101,10 +1139,36 @@ html.u-baseline-grid::after {
|
|
|
1101
1139
|
|
|
1102
1140
|
:where(.bf-theme) :where(ul, ol) {
|
|
1103
1141
|
margin-bottom: 0;
|
|
1142
|
+
padding-block-end: 0;
|
|
1104
1143
|
}
|
|
1105
1144
|
|
|
1106
|
-
:where(.bf-theme) :where(.bf-prose
|
|
1107
|
-
padding-inline-start: var(--bf-
|
|
1145
|
+
:where(.bf-theme) :where(.bf-prose ol) {
|
|
1146
|
+
padding-inline-start: calc(var(--bf-leading-mark-group-inset) + var(--bf-leading-mark-offset) - (var(--bf-leading-mark-size) * 0.5));
|
|
1147
|
+
}
|
|
1148
|
+
|
|
1149
|
+
:where(.bf-theme) :where(.bf-prose ol > li) {
|
|
1150
|
+
padding-inline-start: calc(var(--bf-leading-mark-size) * 0.5);
|
|
1151
|
+
}
|
|
1152
|
+
|
|
1153
|
+
:where(.bf-theme) :where(.bf-prose ul) {
|
|
1154
|
+
list-style: none;
|
|
1155
|
+
padding-inline-start: var(--bf-leading-mark-group-inset);
|
|
1156
|
+
}
|
|
1157
|
+
|
|
1158
|
+
:where(.bf-theme) :where(.bf-prose ul > li) {
|
|
1159
|
+
padding-inline-start: var(--bf-leading-mark-offset);
|
|
1160
|
+
position: relative;
|
|
1161
|
+
}
|
|
1162
|
+
|
|
1163
|
+
:where(.bf-theme) :where(.bf-prose ul > li)::before {
|
|
1164
|
+
background: currentColor;
|
|
1165
|
+
block-size: var(--bf-list-marker-dot-size);
|
|
1166
|
+
border-radius: 50%;
|
|
1167
|
+
content: "";
|
|
1168
|
+
inline-size: var(--bf-list-marker-dot-size);
|
|
1169
|
+
inset-block-start: calc(var(--bf-tick-box-offset) + ((var(--bf-leading-mark-size) - var(--bf-list-marker-dot-size)) * 0.5));
|
|
1170
|
+
inset-inline-start: calc((var(--bf-leading-mark-size) - var(--bf-list-marker-dot-size)) * 0.5);
|
|
1171
|
+
position: absolute;
|
|
1108
1172
|
}
|
|
1109
1173
|
|
|
1110
1174
|
:where(.bf-theme) :where(.bf-prose li) {
|
|
@@ -1114,39 +1178,37 @@ html.u-baseline-grid::after {
|
|
|
1114
1178
|
}
|
|
1115
1179
|
|
|
1116
1180
|
:where(.bf-theme) :where(.bf-prose blockquote) {
|
|
1117
|
-
|
|
1118
|
-
color: var(--bf-color-muted);
|
|
1181
|
+
color: var(--bf-color-text-default);
|
|
1119
1182
|
font-family: var(--bf-body-font-family, "Ubuntu Sans", "Segoe UI", system-ui, sans-serif);
|
|
1120
1183
|
font-size: var(--bf-body-font-size, 0.875rem);
|
|
1121
1184
|
font-style: var(--bf-body-font-style, normal);
|
|
1122
1185
|
font-weight: var(--bf-body-font-weight, 400);
|
|
1123
1186
|
line-height: var(--bf-body-line-height, 1.25rem);
|
|
1124
1187
|
margin-bottom: var(--bf-body-margin-bottom, 0.1725rem);
|
|
1125
|
-
max-inline-size:
|
|
1188
|
+
max-inline-size: var(--bf-measure);
|
|
1126
1189
|
padding-block-end: 0rem;
|
|
1127
1190
|
padding-block-start: var(--bf-body-nudge-start, 0.0775rem);
|
|
1128
|
-
padding-inline-start: var(--bf-space-3);
|
|
1129
1191
|
}
|
|
1130
1192
|
|
|
1131
|
-
:where(.bf-theme) :where(
|
|
1193
|
+
:where(.bf-theme) :where(hr) {
|
|
1132
1194
|
background: var(--bf-color-rule);
|
|
1133
|
-
block-size:
|
|
1195
|
+
block-size: 0.0625rem;
|
|
1134
1196
|
border: 0;
|
|
1135
1197
|
inline-size: 100%;
|
|
1136
1198
|
/* Reserve one half-rem rhythm step after the rule, including its */
|
|
1137
1199
|
/* thickness, so borderless content does not touch the divider. */
|
|
1138
|
-
margin: 0 0 calc(0.5rem -
|
|
1200
|
+
margin: 0 0 calc(0.5rem - 0.0625rem);
|
|
1139
1201
|
}
|
|
1140
1202
|
|
|
1141
1203
|
/* Highlight rules share the same scalable emphasis-bar geometry as active
|
|
1142
1204
|
* navigation, tabs, notifications, and document-navigation markers. */
|
|
1143
|
-
:where(.bf-theme) :where(
|
|
1205
|
+
:where(.bf-theme) :where(hr.is-highlighted) {
|
|
1144
1206
|
block-size: var(--bf-bar-thickness);
|
|
1145
1207
|
margin-block-end: calc(0.5rem - var(--bf-bar-thickness));
|
|
1146
1208
|
}
|
|
1147
1209
|
|
|
1148
1210
|
:where(.bf-theme) :where(.bf-token-row) {
|
|
1149
|
-
border-top:
|
|
1211
|
+
border-top: 0.0625rem solid var(--bf-color-rule);
|
|
1150
1212
|
display: grid;
|
|
1151
1213
|
gap: var(--bf-space-1);
|
|
1152
1214
|
padding-top: var(--bf-space-2);
|
|
@@ -1158,7 +1220,7 @@ html.u-baseline-grid::after {
|
|
|
1158
1220
|
}
|
|
1159
1221
|
|
|
1160
1222
|
:where(.bf-theme) {
|
|
1161
|
-
--bf-border-width:
|
|
1223
|
+
--bf-border-width: 0.0625rem;
|
|
1162
1224
|
--bf-bar-thickness: 0.1875rem;
|
|
1163
1225
|
--bf-radius: 0rem;
|
|
1164
1226
|
--bf-control-block-padding: 0.5rem;
|
|
@@ -1176,22 +1238,41 @@ html.u-baseline-grid::after {
|
|
|
1176
1238
|
/* Action surfaces keep comfortable command targets; field surfaces can tighten independently. */
|
|
1177
1239
|
--bf-disclosure-gap: 1rem;
|
|
1178
1240
|
--bf-disclosure-icon-inline-size: 1rem;
|
|
1241
|
+
--bf-icon-label-inline-offset: calc(var(--bf-disclosure-icon-inline-size) + var(--bf-disclosure-gap));
|
|
1242
|
+
--bf-disclosure-label-inline-offset: var(--bf-icon-label-inline-offset);
|
|
1243
|
+
/* Every component-owned inline start resolves to one of these three rails.
|
|
1244
|
+
Field and action values remain tier inputs; continuation is the shared
|
|
1245
|
+
icon/mark-to-copy line. Structural page, grid and navigation-depth offsets
|
|
1246
|
+
are deliberately outside this component inset contract. */
|
|
1247
|
+
--bf-component-inline-inset-field: var(--bf-control-inline-padding-field);
|
|
1248
|
+
--bf-component-inline-inset-action: var(--bf-control-inline-padding-action);
|
|
1249
|
+
--bf-component-inline-inset-continuation: var(--bf-disclosure-label-inline-offset);
|
|
1179
1250
|
--bf-input-block-padding: var(--bf-body-nudge-start, 0.0775rem);
|
|
1180
1251
|
--bf-button-block-padding: var(--bf-body-nudge-start, 0.0775rem);
|
|
1252
|
+
/* One border-aware occupied-block contract for body-sized, single-line UI.
|
|
1253
|
+
Components may paint their block borders differently, but their text line,
|
|
1254
|
+
padding and trailing baseline compensation must resolve through this pair. */
|
|
1255
|
+
--bf-single-line-row-padding-block: max(0rem, calc(var(--bf-button-block-padding) - var(--bf-border-width)));
|
|
1256
|
+
--bf-single-line-row-margin-block-end: calc(0rem + mod(calc(var(--bf-baseline) - mod(calc(var(--bf-body-line-height, 1.25rem) + (var(--bf-button-block-padding) * 2)), var(--bf-baseline))), var(--bf-baseline)));
|
|
1257
|
+
--bf-single-line-row-visual-offset: calc(var(--bf-body-nudge-start, 0.0775rem) + ((var(--bf-body-line-height, 1.25rem) - var(--bf-control-visual-size)) / 2));
|
|
1181
1258
|
--bf-slider-track-size: calc(var(--bf-baseline) * 0.25);
|
|
1182
1259
|
--bf-slider-row-block-size: max(var(--bf-control-box-size-compact), calc(var(--bf-body-nudge-start, 0.0775rem) + var(--bf-body-line-height, 1.25rem) + var(--bf-body-nudge-end)));
|
|
1183
1260
|
--bf-slider-track-offset: calc(var(--bf-body-nudge-start, 0.0775rem) + ((var(--bf-body-line-height, 1.25rem) - var(--bf-slider-track-size)) / 2));
|
|
1184
1261
|
--bf-table-row-border-size: var(--bf-border-width);
|
|
1185
|
-
--bf-table-row-padding: var(--bf-body-nudge-start, 0.0775rem);
|
|
1186
|
-
--bf-table-row-content-size: calc(var(--bf-body-line-height, 1.25rem) + (var(--bf-table-row-padding) * 2) + var(--bf-table-row-border-size));
|
|
1262
|
+
--bf-table-row-padding-block-start: var(--bf-body-nudge-start, 0.0775rem);
|
|
1263
|
+
--bf-table-row-content-size: calc(var(--bf-body-line-height, 1.25rem) + (var(--bf-table-row-padding-block-start) * 2) + var(--bf-table-row-border-size));
|
|
1187
1264
|
--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)));
|
|
1188
|
-
--bf-table-row-
|
|
1189
|
-
--bf-
|
|
1190
|
-
--bf-switch-track-offset:
|
|
1191
|
-
--bf-tick-
|
|
1192
|
-
--bf-
|
|
1193
|
-
--bf-
|
|
1194
|
-
--bf-
|
|
1265
|
+
--bf-table-row-padding-block-end: max(0rem, calc(var(--bf-table-row-block-size) - var(--bf-body-line-height, 1.25rem) - var(--bf-table-row-padding-block-start) - var(--bf-table-row-border-size)));
|
|
1266
|
+
--bf-table-row-line-height: var(--bf-body-line-height, 1.25rem);
|
|
1267
|
+
--bf-switch-track-offset: var(--bf-single-line-row-visual-offset);
|
|
1268
|
+
--bf-tick-box-offset: var(--bf-single-line-row-visual-offset);
|
|
1269
|
+
--bf-leading-mark-size: var(--bf-control-visual-size);
|
|
1270
|
+
--bf-leading-mark-gap: var(--bf-component-inline-inset-field);
|
|
1271
|
+
--bf-leading-mark-offset: calc(var(--bf-leading-mark-size) + var(--bf-leading-mark-gap));
|
|
1272
|
+
--bf-leading-mark-group-inset: calc(var(--bf-component-inline-inset-continuation) - var(--bf-leading-mark-offset));
|
|
1273
|
+
--bf-tick-label-offset: var(--bf-leading-mark-offset);
|
|
1274
|
+
--bf-radio-dot-size: calc((var(--bf-control-visual-size) * 0.375) + var(--bf-border-width));
|
|
1275
|
+
--bf-list-marker-dot-size: calc(var(--bf-border-width) * 4);
|
|
1195
1276
|
--bf-app-drawer-width-icon: 2rem;
|
|
1196
1277
|
--bf-app-drawer-width-small: 15rem;
|
|
1197
1278
|
--bf-app-drawer-width-small-max: 20rem;
|
|
@@ -1203,7 +1284,9 @@ html.u-baseline-grid::after {
|
|
|
1203
1284
|
--bf-app-aside-width-max: var(--bf-app-drawer-width-medium-max);
|
|
1204
1285
|
--bf-app-navigation-width: 15rem;
|
|
1205
1286
|
--bf-app-navigation-width-collapsed: 3rem;
|
|
1206
|
-
--bf-
|
|
1287
|
+
--bf-icon-label-optical-offset-block: 0.1875rem;
|
|
1288
|
+
--bf-disclosure-icon-optical-offset-block: var(--bf-icon-label-optical-offset-block);
|
|
1289
|
+
--bf-side-navigation-icon-optical-offset-block: var(--bf-icon-label-optical-offset-block);
|
|
1207
1290
|
--bf-side-navigation-icon-gap: 0.625rem;
|
|
1208
1291
|
--bf-navigation-bar-min-block-size: calc(var(--bf-baseline) * 6);
|
|
1209
1292
|
--bf-authoring-accent: #f6b73c;
|
|
@@ -1216,9 +1299,10 @@ html.u-baseline-grid::after {
|
|
|
1216
1299
|
--bf-authoring-accent-focus-ring: rgba(246, 183, 60, 0.55);
|
|
1217
1300
|
--bf-application-resize-handle-active: var(--bf-authoring-accent-strong);
|
|
1218
1301
|
--bf-application-resize-handle-focus-ring: var(--bf-authoring-accent-focus-ring);
|
|
1219
|
-
--bf-
|
|
1220
|
-
--bf-top-navigation-
|
|
1221
|
-
--bf-top-navigation-
|
|
1302
|
+
--bf-control-inline-padding-action-bordered: max(0rem, calc(var(--bf-component-inline-inset-action) - var(--bf-border-width)));
|
|
1303
|
+
--bf-top-navigation-link-padding-inline: var(--bf-component-inline-inset-action);
|
|
1304
|
+
--bf-top-navigation-end-slot-inline-size: calc(1rem + var(--bf-component-inline-inset-field));
|
|
1305
|
+
--bf-top-navigation-search-toggle-inline-size: calc(1rem + (var(--bf-component-inline-inset-field) * 2));
|
|
1222
1306
|
--bf-top-navigation-link-padding-block: max(var(--bf-body-nudge-start), calc(var(--bf-baseline) * 1.5));
|
|
1223
1307
|
--bf-top-navigation-search-max-inline-size: 20rem;
|
|
1224
1308
|
--bf-top-navigation-logo-tag-inline-size: 1.375rem;
|
|
@@ -1233,12 +1317,10 @@ html.u-baseline-grid::after {
|
|
|
1233
1317
|
--bf-icon-size-large: 4rem;
|
|
1234
1318
|
--bf-icon-size-x-large: 4.5rem;
|
|
1235
1319
|
--bf-icon-size-xx-large: 6rem;
|
|
1236
|
-
--bf-leading-icon-size:
|
|
1237
|
-
--bf-leading-icon-gap:
|
|
1238
|
-
--bf-leading-icon-offset:
|
|
1239
|
-
--bf-ui-chip-padding-inline:
|
|
1240
|
-
--bf-ui-chip-padding-block: max(0rem, calc((var(--bf-control-inline-padding-action) * 0.25) - var(--bf-border-width)));
|
|
1241
|
-
--bf-ui-chip-block-size: calc(var(--bf-body-line-height, 1.25rem) + (var(--bf-ui-chip-padding-block) * 2) + (var(--bf-border-width) * 2));
|
|
1320
|
+
--bf-leading-icon-size: var(--bf-leading-mark-size);
|
|
1321
|
+
--bf-leading-icon-gap: var(--bf-leading-mark-gap);
|
|
1322
|
+
--bf-leading-icon-offset: var(--bf-single-line-row-visual-offset);
|
|
1323
|
+
--bf-ui-chip-padding-inline: var(--bf-component-inline-inset-field);
|
|
1242
1324
|
--bf-ui-badge-padding-inline: calc(var(--bf-body-line-height, 1.25rem) * 0.25);
|
|
1243
1325
|
--bf-ui-badge-overhang: calc(var(--bf-ui-badge-padding-inline) * -0.75);
|
|
1244
1326
|
--bf-grid-max-inline-size: var(--bf-content-max-width);
|
|
@@ -1301,6 +1383,7 @@ html.u-baseline-grid::after {
|
|
|
1301
1383
|
--bf-color-focus: var(--vf-color-focus, #2e96ff);
|
|
1302
1384
|
|
|
1303
1385
|
--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");
|
|
1386
|
+
--bf-ui-icon-number-stepper: 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 5.75 8 2l3.75 3.75M4.25 10.25 8 14l3.75-3.75'/%3E%3C/svg%3E");
|
|
1304
1387
|
--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");
|
|
1305
1388
|
--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");
|
|
1306
1389
|
--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");
|
|
@@ -1325,11 +1408,9 @@ html.u-baseline-grid::after {
|
|
|
1325
1408
|
}
|
|
1326
1409
|
|
|
1327
1410
|
:where(.bf-theme.bf-tier-documentation) {
|
|
1328
|
-
--bf-control-baseline-reserve: 0rem;
|
|
1329
1411
|
--bf-input-block-padding: 0.0775rem;
|
|
1330
1412
|
--bf-button-block-padding: 0.0775rem;
|
|
1331
|
-
--bf-
|
|
1332
|
-
--bf-border-width: 1px;
|
|
1413
|
+
--bf-border-width: 0.0625rem;
|
|
1333
1414
|
--bf-bar-thickness: 0.1875rem;
|
|
1334
1415
|
--bf-radius: 0rem;
|
|
1335
1416
|
--bf-control-block-padding: 0.5rem;
|
|
@@ -1348,11 +1429,9 @@ html.u-baseline-grid::after {
|
|
|
1348
1429
|
}
|
|
1349
1430
|
|
|
1350
1431
|
:where(.bf-theme.bf-tier-editorial) {
|
|
1351
|
-
--bf-control-baseline-reserve: 0rem;
|
|
1352
1432
|
--bf-input-block-padding: 0.41rem;
|
|
1353
1433
|
--bf-button-block-padding: 0.41rem;
|
|
1354
|
-
--bf-
|
|
1355
|
-
--bf-border-width: 1px;
|
|
1434
|
+
--bf-border-width: 0.0625rem;
|
|
1356
1435
|
--bf-bar-thickness: 0.1875rem;
|
|
1357
1436
|
--bf-radius: 0rem;
|
|
1358
1437
|
--bf-control-block-padding: 0.5rem;
|
|
@@ -1371,53 +1450,48 @@ html.u-baseline-grid::after {
|
|
|
1371
1450
|
}
|
|
1372
1451
|
|
|
1373
1452
|
:where(.bf-theme.bf-tier-app) {
|
|
1374
|
-
--bf-control-baseline-reserve: 0rem;
|
|
1375
1453
|
--bf-input-block-padding: 0.0775rem;
|
|
1376
1454
|
--bf-button-block-padding: 0.0775rem;
|
|
1377
|
-
--bf-
|
|
1378
|
-
--bf-border-width: 1px;
|
|
1455
|
+
--bf-border-width: 0.0625rem;
|
|
1379
1456
|
--bf-bar-thickness: 0.1875rem;
|
|
1380
1457
|
--bf-radius: 0.125rem;
|
|
1381
1458
|
--bf-control-block-padding: 0.5rem;
|
|
1382
1459
|
--bf-control-block-padding-compact: 0.375rem;
|
|
1383
1460
|
--bf-control-box-size: calc(var(--bf-body-line-height) + (var(--bf-control-block-padding) * 2));
|
|
1384
1461
|
--bf-control-box-size-compact: calc(var(--bf-body-line-height) + (var(--bf-control-block-padding-compact) * 2));
|
|
1385
|
-
--bf-control-inline-padding:
|
|
1386
|
-
--bf-control-inline-padding-action:
|
|
1462
|
+
--bf-control-inline-padding: 1rem;
|
|
1463
|
+
--bf-control-inline-padding-action: 1rem;
|
|
1387
1464
|
--bf-control-inline-padding-field: 0.25rem;
|
|
1388
1465
|
--bf-control-visual-size: 1rem;
|
|
1389
1466
|
--bf-field-gap: 0.5rem;
|
|
1390
|
-
--bf-panel-padding-inline:
|
|
1391
|
-
--bf-panel-padding-block:
|
|
1467
|
+
--bf-panel-padding-inline: 0.75rem;
|
|
1468
|
+
--bf-panel-padding-block: 0.75rem;
|
|
1392
1469
|
--bf-accordion-indent: 1.5rem;
|
|
1393
1470
|
|
|
1394
1471
|
}
|
|
1395
1472
|
|
|
1396
1473
|
:where(.bf-theme.bf-tier-os) {
|
|
1397
|
-
--bf-control-baseline-reserve: 0rem;
|
|
1398
1474
|
--bf-input-block-padding: 0.245rem;
|
|
1399
1475
|
--bf-button-block-padding: 0.245rem;
|
|
1400
|
-
--bf-
|
|
1401
|
-
--bf-border-width: 1px;
|
|
1476
|
+
--bf-border-width: 0.0625rem;
|
|
1402
1477
|
--bf-bar-thickness: 0.1875rem;
|
|
1403
1478
|
--bf-radius: 0rem;
|
|
1404
1479
|
--bf-control-block-padding: 0.375rem;
|
|
1405
1480
|
--bf-control-block-padding-compact: 0.25rem;
|
|
1406
1481
|
--bf-control-box-size: calc(var(--bf-body-line-height) + (var(--bf-control-block-padding) * 2));
|
|
1407
1482
|
--bf-control-box-size-compact: calc(var(--bf-body-line-height) + (var(--bf-control-block-padding-compact) * 2));
|
|
1408
|
-
--bf-control-inline-padding:
|
|
1409
|
-
--bf-control-inline-padding-action:
|
|
1483
|
+
--bf-control-inline-padding: 1rem;
|
|
1484
|
+
--bf-control-inline-padding-action: 1rem;
|
|
1410
1485
|
--bf-control-inline-padding-field: 0.25rem;
|
|
1411
1486
|
--bf-control-visual-size: 0.75rem;
|
|
1412
1487
|
--bf-field-gap: 0.25rem;
|
|
1413
|
-
--bf-panel-padding-inline:
|
|
1414
|
-
--bf-panel-padding-block:
|
|
1488
|
+
--bf-panel-padding-inline: 0.5rem;
|
|
1489
|
+
--bf-panel-padding-block: 0.5rem;
|
|
1415
1490
|
--bf-accordion-indent: 0.75rem;
|
|
1416
1491
|
|
|
1417
1492
|
}
|
|
1418
1493
|
|
|
1419
1494
|
|
|
1420
|
-
:where(.bf-theme.is-dark),
|
|
1421
1495
|
:where(.bf-theme.is-dark) {
|
|
1422
1496
|
--bf-color-text-default: var(--vf-color-text-default, var(--bf-color-text, #ffffff));
|
|
1423
1497
|
--bf-color-text-muted: var(--vf-color-text-muted, var(--bf-color-muted, rgba(255, 255, 255, 0.6)));
|
|
@@ -1467,6 +1541,7 @@ html.u-baseline-grid::after {
|
|
|
1467
1541
|
--bf-color-focus: var(--vf-color-focus, #99ccff);
|
|
1468
1542
|
|
|
1469
1543
|
--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");
|
|
1544
|
+
--bf-ui-icon-number-stepper: 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 5.75 8 2l3.75 3.75M4.25 10.25 8 14l3.75-3.75'/%3E%3C/svg%3E");
|
|
1470
1545
|
--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");
|
|
1471
1546
|
--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");
|
|
1472
1547
|
--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");
|
|
@@ -1560,6 +1635,10 @@ html.u-baseline-grid::after {
|
|
|
1560
1635
|
grid-template-columns: minmax(0, 1fr);
|
|
1561
1636
|
}
|
|
1562
1637
|
|
|
1638
|
+
:where(.bf-theme) :where(.bf-field.is-range.is-stacked) > :where(.bf-control, .bf-form-help) {
|
|
1639
|
+
grid-column: 1;
|
|
1640
|
+
}
|
|
1641
|
+
|
|
1563
1642
|
:where(.bf-theme) :where(.bf-field.is-range.is-stacked) > :where(.bf-control) {
|
|
1564
1643
|
min-inline-size: 0;
|
|
1565
1644
|
}
|
|
@@ -1577,7 +1656,7 @@ html.u-baseline-grid::after {
|
|
|
1577
1656
|
margin: 0;
|
|
1578
1657
|
min-inline-size: 0;
|
|
1579
1658
|
padding-block-end: calc(var(--bf-panel-padding-block) - var(--bf-border-width));
|
|
1580
|
-
padding-inline: var(--bf-
|
|
1659
|
+
padding-inline: var(--bf-component-inline-inset-continuation);
|
|
1581
1660
|
padding-block-start: var(--bf-panel-padding-block);
|
|
1582
1661
|
}
|
|
1583
1662
|
|
|
@@ -1604,7 +1683,7 @@ html.u-baseline-grid::after {
|
|
|
1604
1683
|
min-inline-size: 0;
|
|
1605
1684
|
margin-bottom: calc(0rem + mod(calc(var(--bf-baseline) - mod(calc(var(--bf-body-line-height, 1.25rem) + (var(--bf-input-block-padding) * 2)), var(--bf-baseline))), var(--bf-baseline)));
|
|
1606
1685
|
padding-block: max(0rem, calc(var(--bf-input-block-padding) - var(--bf-border-width)));
|
|
1607
|
-
padding-inline: var(--bf-
|
|
1686
|
+
padding-inline: var(--bf-component-inline-inset-field);
|
|
1608
1687
|
}
|
|
1609
1688
|
|
|
1610
1689
|
:where(.bf-theme) :where(input[type='color'].bf-color-input) {
|
|
@@ -1623,8 +1702,8 @@ html.u-baseline-grid::after {
|
|
|
1623
1702
|
|
|
1624
1703
|
: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 {
|
|
1625
1704
|
background-color: var(--bf-color-background-active);
|
|
1626
|
-
outline:
|
|
1627
|
-
outline-offset:
|
|
1705
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
1706
|
+
outline-offset: 0.125rem;
|
|
1628
1707
|
}
|
|
1629
1708
|
|
|
1630
1709
|
: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 {
|
|
@@ -1677,7 +1756,7 @@ html.u-baseline-grid::after {
|
|
|
1677
1756
|
margin-inline-end: var(--bf-field-gap);
|
|
1678
1757
|
min-block-size: var(--bf-control-box-size-compact);
|
|
1679
1758
|
padding-block: max(0rem, calc(var(--bf-control-block-padding-compact) - var(--bf-border-width)));
|
|
1680
|
-
padding-inline: var(--bf-control-inline-padding-action);
|
|
1759
|
+
padding-inline: var(--bf-control-inline-padding-action-bordered);
|
|
1681
1760
|
}
|
|
1682
1761
|
|
|
1683
1762
|
:where(.bf-theme) :where(input[type='file'])::file-selector-button:hover {
|
|
@@ -1686,16 +1765,31 @@ html.u-baseline-grid::after {
|
|
|
1686
1765
|
|
|
1687
1766
|
:where(.bf-theme) :where(select) {
|
|
1688
1767
|
background-image: var(--bf-ui-icon-chevron-down);
|
|
1689
|
-
background-position: right var(--bf-
|
|
1768
|
+
background-position: right var(--bf-component-inline-inset-field) center;
|
|
1690
1769
|
background-repeat: no-repeat;
|
|
1691
1770
|
background-size: 1rem 1rem;
|
|
1692
|
-
|
|
1771
|
+
overflow: hidden;
|
|
1772
|
+
padding-inline-end: calc(var(--bf-component-inline-inset-field) * 2.5);
|
|
1773
|
+
text-overflow: ellipsis;
|
|
1774
|
+
white-space: nowrap;
|
|
1693
1775
|
}
|
|
1694
1776
|
|
|
1695
1777
|
:where(.bf-theme) :where(input[type='number'], .bf-slider-input) {
|
|
1696
1778
|
font-variant-numeric: tabular-nums;
|
|
1697
1779
|
}
|
|
1698
1780
|
|
|
1781
|
+
/* Number fields retain their native input semantics and keyboard stepping,
|
|
1782
|
+
while one field-owned background paints the compact pair. Sharing select's
|
|
1783
|
+
1rem canvas and end position avoids a second browser-reserved spin slot. */
|
|
1784
|
+
:where(.bf-theme) :where(input[type='number']) {
|
|
1785
|
+
appearance: textfield;
|
|
1786
|
+
background-image: var(--bf-ui-icon-number-stepper);
|
|
1787
|
+
background-position: right var(--bf-component-inline-inset-field) center;
|
|
1788
|
+
background-repeat: no-repeat;
|
|
1789
|
+
background-size: 1rem 1rem;
|
|
1790
|
+
padding-inline-end: calc(var(--bf-component-inline-inset-field) * 2.5);
|
|
1791
|
+
}
|
|
1792
|
+
|
|
1699
1793
|
:where(.bf-theme) :where(.bf-slider-input) {
|
|
1700
1794
|
flex: 0 1 5rem;
|
|
1701
1795
|
inline-size: min(100%, 5rem);
|
|
@@ -1707,12 +1801,14 @@ html.u-baseline-grid::after {
|
|
|
1707
1801
|
|
|
1708
1802
|
:where(.bf-theme) :where(input[type='number'])::-webkit-inner-spin-button,
|
|
1709
1803
|
:where(.bf-theme) :where(input[type='number'])::-webkit-outer-spin-button {
|
|
1804
|
+
appearance: none;
|
|
1710
1805
|
margin: 0;
|
|
1711
1806
|
}
|
|
1712
1807
|
|
|
1713
1808
|
:where(.bf-theme) :where(.bf-checkbox, .bf-radio) {
|
|
1809
|
+
display: grid;
|
|
1714
1810
|
margin: 0;
|
|
1715
|
-
|
|
1811
|
+
padding-inline-start: var(--bf-leading-mark-group-inset);
|
|
1716
1812
|
position: relative;
|
|
1717
1813
|
}
|
|
1718
1814
|
|
|
@@ -1733,12 +1829,11 @@ html.u-baseline-grid::after {
|
|
|
1733
1829
|
font-weight: var(--bf-body-font-weight, 400);
|
|
1734
1830
|
line-height: var(--bf-body-line-height, 1.25rem);
|
|
1735
1831
|
color: var(--bf-color-text-default);
|
|
1832
|
+
border-block: var(--bf-border-width) solid transparent;
|
|
1736
1833
|
cursor: pointer;
|
|
1737
1834
|
display: block;
|
|
1738
|
-
margin
|
|
1739
|
-
|
|
1740
|
-
padding-block-end: var(--bf-body-nudge-end);
|
|
1741
|
-
padding-block-start: var(--bf-body-nudge-start, 0.0775rem);
|
|
1835
|
+
margin: 0 0 var(--bf-single-line-row-margin-block-end);
|
|
1836
|
+
padding-block: var(--bf-single-line-row-padding-block);
|
|
1742
1837
|
padding-inline-start: var(--bf-tick-label-offset);
|
|
1743
1838
|
position: relative;
|
|
1744
1839
|
}
|
|
@@ -1769,7 +1864,7 @@ html.u-baseline-grid::after {
|
|
|
1769
1864
|
border-left: calc(var(--bf-border-width) * 2) solid var(--bf-color-background-default);
|
|
1770
1865
|
inline-size: calc(var(--bf-control-visual-size) * 0.6);
|
|
1771
1866
|
inset-inline-start: calc(var(--bf-control-visual-size) * 0.2);
|
|
1772
|
-
inset-block-start: calc(var(--bf-tick-box-offset) + (var(--bf-control-visual-size) * 0.18));
|
|
1867
|
+
inset-block-start: calc(var(--bf-tick-box-offset) + (var(--bf-control-visual-size) * 0.18) + (var(--bf-border-width) * 2));
|
|
1773
1868
|
opacity: 0;
|
|
1774
1869
|
transform: rotate(-45deg);
|
|
1775
1870
|
}
|
|
@@ -1807,20 +1902,19 @@ html.u-baseline-grid::after {
|
|
|
1807
1902
|
}
|
|
1808
1903
|
|
|
1809
1904
|
:where(.bf-theme) :where(.bf-checkbox-input:focus-visible + .bf-checkbox-label)::before {
|
|
1810
|
-
outline:
|
|
1811
|
-
outline-offset:
|
|
1905
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
1906
|
+
outline-offset: 0.125rem;
|
|
1812
1907
|
}
|
|
1813
1908
|
|
|
1814
1909
|
:where(.bf-theme) :where(.bf-radio-input:focus-visible + .bf-radio-label)::before {
|
|
1815
|
-
outline:
|
|
1816
|
-
outline-offset:
|
|
1910
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
1911
|
+
outline-offset: 0.125rem;
|
|
1817
1912
|
}
|
|
1818
1913
|
|
|
1819
1914
|
:where(.bf-theme) :where(.bf-switch) {
|
|
1820
1915
|
align-items: flex-start;
|
|
1821
1916
|
display: inline-flex;
|
|
1822
1917
|
gap: var(--bf-field-gap);
|
|
1823
|
-
min-block-size: var(--bf-switch-row-block-size);
|
|
1824
1918
|
position: relative;
|
|
1825
1919
|
}
|
|
1826
1920
|
|
|
@@ -1869,8 +1963,8 @@ html.u-baseline-grid::after {
|
|
|
1869
1963
|
}
|
|
1870
1964
|
|
|
1871
1965
|
:where(.bf-theme) :where(.bf-switch-input:focus-visible + .bf-switch-slider) {
|
|
1872
|
-
outline:
|
|
1873
|
-
outline-offset:
|
|
1966
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
1967
|
+
outline-offset: 0.125rem;
|
|
1874
1968
|
}
|
|
1875
1969
|
|
|
1876
1970
|
:where(.bf-theme) :where(.bf-switch-input:disabled + .bf-switch-slider) {
|
|
@@ -1884,11 +1978,11 @@ html.u-baseline-grid::after {
|
|
|
1884
1978
|
font-weight: var(--bf-body-font-weight, 400);
|
|
1885
1979
|
line-height: var(--bf-body-line-height, 1.25rem);
|
|
1886
1980
|
color: var(--bf-color-text-default);
|
|
1981
|
+
border-block: var(--bf-border-width) solid transparent;
|
|
1887
1982
|
cursor: pointer;
|
|
1888
1983
|
display: inline-block;
|
|
1889
|
-
margin: 0 0 var(--bf-
|
|
1890
|
-
padding-block
|
|
1891
|
-
padding-block-start: var(--bf-body-nudge-start, 0.0775rem);
|
|
1984
|
+
margin: 0 0 var(--bf-single-line-row-margin-block-end);
|
|
1985
|
+
padding-block: var(--bf-single-line-row-padding-block);
|
|
1892
1986
|
}
|
|
1893
1987
|
|
|
1894
1988
|
:where(.bf-theme) :where(.bf-validation-message) {
|
|
@@ -1897,11 +1991,12 @@ html.u-baseline-grid::after {
|
|
|
1897
1991
|
font-style: var(--bf-body-font-style, normal);
|
|
1898
1992
|
font-weight: var(--bf-body-font-weight, 400);
|
|
1899
1993
|
line-height: var(--bf-body-line-height, 1.25rem);
|
|
1994
|
+
border-block: var(--bf-border-width) solid transparent;
|
|
1900
1995
|
color: var(--bf-color-text-muted);
|
|
1901
|
-
margin: 0 0 var(--bf-
|
|
1902
|
-
|
|
1903
|
-
padding-block
|
|
1904
|
-
padding-inline-start:
|
|
1996
|
+
margin: 0 0 var(--bf-single-line-row-margin-block-end);
|
|
1997
|
+
margin-inline-start: var(--bf-leading-mark-group-inset);
|
|
1998
|
+
padding-block: var(--bf-single-line-row-padding-block);
|
|
1999
|
+
padding-inline-start: var(--bf-leading-mark-offset);
|
|
1905
2000
|
position: relative;
|
|
1906
2001
|
}
|
|
1907
2002
|
|
|
@@ -2036,7 +2131,7 @@ html.u-baseline-grid::after {
|
|
|
2036
2131
|
border: var(--bf-border-width) solid var(--bf-color-border-high-contrast);
|
|
2037
2132
|
block-size: var(--bf-control-visual-size);
|
|
2038
2133
|
border-radius: 50%;
|
|
2039
|
-
box-shadow: 0 0 calc(var(--bf-control-visual-size) * 0.25)
|
|
2134
|
+
box-shadow: 0 0 calc(var(--bf-control-visual-size) * 0.25) 0.0625rem rgba(0, 0, 0, 0.2);
|
|
2040
2135
|
inline-size: var(--bf-control-visual-size);
|
|
2041
2136
|
margin-top: calc((var(--bf-slider-track-size) - var(--bf-control-visual-size)) / 2);
|
|
2042
2137
|
}
|
|
@@ -2062,7 +2157,7 @@ html.u-baseline-grid::after {
|
|
|
2062
2157
|
border: var(--bf-border-width) solid var(--bf-color-border-high-contrast);
|
|
2063
2158
|
block-size: var(--bf-control-visual-size);
|
|
2064
2159
|
border-radius: 50%;
|
|
2065
|
-
box-shadow: 0 0 calc(var(--bf-control-visual-size) * 0.25)
|
|
2160
|
+
box-shadow: 0 0 calc(var(--bf-control-visual-size) * 0.25) 0.0625rem rgba(0, 0, 0, 0.2);
|
|
2066
2161
|
inline-size: var(--bf-control-visual-size);
|
|
2067
2162
|
}
|
|
2068
2163
|
|
|
@@ -2161,9 +2256,9 @@ html.u-baseline-grid::after {
|
|
|
2161
2256
|
color: var(--bf-color-text-default);
|
|
2162
2257
|
cursor: pointer;
|
|
2163
2258
|
display: inline-block;
|
|
2164
|
-
margin-bottom:
|
|
2165
|
-
padding-block:
|
|
2166
|
-
padding-inline: var(--bf-control-inline-padding-action);
|
|
2259
|
+
margin-bottom: var(--bf-single-line-row-margin-block-end);
|
|
2260
|
+
padding-block: var(--bf-single-line-row-padding-block);
|
|
2261
|
+
padding-inline: var(--bf-control-inline-padding-action-bordered);
|
|
2167
2262
|
text-align: center;
|
|
2168
2263
|
text-decoration: none;
|
|
2169
2264
|
}
|
|
@@ -2181,6 +2276,13 @@ html.u-baseline-grid::after {
|
|
|
2181
2276
|
background-color: var(--bf-color-background-hover);
|
|
2182
2277
|
}
|
|
2183
2278
|
|
|
2279
|
+
/* Anchor buttons are controls, not prose links. Qualifying the element and
|
|
2280
|
+
* its interaction states prevents the generic anchor underline from leaking
|
|
2281
|
+
* through while leaving the explicit is-link variant unchanged. */
|
|
2282
|
+
:where(.bf-theme) :where(a.bf-button:not(.is-link):is(:hover, :active)) {
|
|
2283
|
+
text-decoration: none;
|
|
2284
|
+
}
|
|
2285
|
+
|
|
2184
2286
|
:where(.bf-theme) :where(.bf-button:not(.is-base):is(:active, [aria-pressed='true'])) {
|
|
2185
2287
|
background-color: var(--bf-color-background-active);
|
|
2186
2288
|
}
|
|
@@ -2190,8 +2292,8 @@ html.u-baseline-grid::after {
|
|
|
2190
2292
|
}
|
|
2191
2293
|
|
|
2192
2294
|
:where(.bf-theme) :where(.bf-button, .bf-button.is-base):focus-visible {
|
|
2193
|
-
outline:
|
|
2194
|
-
outline-offset:
|
|
2295
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
2296
|
+
outline-offset: 0.125rem;
|
|
2195
2297
|
}
|
|
2196
2298
|
|
|
2197
2299
|
/* ------------------------------------------------------------------ */
|
|
@@ -2263,7 +2365,7 @@ html.u-baseline-grid::after {
|
|
|
2263
2365
|
background-color: transparent;
|
|
2264
2366
|
color: var(--bf-color-link-default);
|
|
2265
2367
|
text-decoration: underline;
|
|
2266
|
-
text-decoration-thickness:
|
|
2368
|
+
text-decoration-thickness: 0.0625rem;
|
|
2267
2369
|
text-underline-offset: 0.075em;
|
|
2268
2370
|
}
|
|
2269
2371
|
|
|
@@ -2290,6 +2392,19 @@ html.u-baseline-grid::after {
|
|
|
2290
2392
|
justify-content: center;
|
|
2291
2393
|
}
|
|
2292
2394
|
|
|
2395
|
+
/* An icon-only flex button has no text line box to preserve the occupied
|
|
2396
|
+
* control rhythm. A zero-width metric strut restores the active body line
|
|
2397
|
+
* without imposing a target block size or changing icon/label spacing. */
|
|
2398
|
+
:where(.bf-theme) :where(.bf-button.is-icon:not(:has(.bf-button-label))) {
|
|
2399
|
+
column-gap: 0;
|
|
2400
|
+
}
|
|
2401
|
+
|
|
2402
|
+
:where(.bf-theme) :where(.bf-button.is-icon:not(:has(.bf-button-label)))::before {
|
|
2403
|
+
block-size: var(--bf-body-line-height);
|
|
2404
|
+
content: "";
|
|
2405
|
+
inline-size: 0;
|
|
2406
|
+
}
|
|
2407
|
+
|
|
2293
2408
|
:where(.bf-theme) :where(.bf-button-label) {
|
|
2294
2409
|
min-inline-size: 0;
|
|
2295
2410
|
}
|
|
@@ -2450,7 +2565,7 @@ html.u-baseline-grid::after {
|
|
|
2450
2565
|
border-inline-start: var(--bf-bar-thickness) solid var(--bf-notice-border);
|
|
2451
2566
|
color: var(--bf-color-text-default);
|
|
2452
2567
|
display: flow-root;
|
|
2453
|
-
margin
|
|
2568
|
+
margin: 0;
|
|
2454
2569
|
max-inline-size: 100%;
|
|
2455
2570
|
padding-block: var(--bf-space-2);
|
|
2456
2571
|
padding-inline: var(--bf-space-2);
|
|
@@ -2496,16 +2611,15 @@ html.u-baseline-grid::after {
|
|
|
2496
2611
|
/* ------------------------------------------------------------------ */
|
|
2497
2612
|
/* Static content ports — Vanilla data spotlight and divided section. */
|
|
2498
2613
|
/* Their children retain role-owned rhythm; these layout */
|
|
2499
|
-
/* wrappers add only structural columns, rules, and
|
|
2614
|
+
/* wrappers add only structural columns, rules, and internal gaps. */
|
|
2500
2615
|
/* ------------------------------------------------------------------ */
|
|
2501
2616
|
|
|
2502
2617
|
/* Data spotlight: Vanilla's equal-height wrap becomes an intrinsic grid.
|
|
2503
2618
|
Each item begins with a public highlighted rule using the shared emphasis
|
|
2504
|
-
thickness.
|
|
2505
|
-
shallow inter-row rhythm when the pattern narrows. */
|
|
2619
|
+
thickness. The items container owns every inter-row gap. */
|
|
2506
2620
|
:where(.bf-theme) :where(.bf-data-spotlight) {
|
|
2507
2621
|
container-type: inline-size;
|
|
2508
|
-
margin
|
|
2622
|
+
margin: 0;
|
|
2509
2623
|
min-inline-size: 0;
|
|
2510
2624
|
}
|
|
2511
2625
|
|
|
@@ -2518,15 +2632,13 @@ html.u-baseline-grid::after {
|
|
|
2518
2632
|
display: grid;
|
|
2519
2633
|
grid-template-columns: minmax(0, 1fr);
|
|
2520
2634
|
min-inline-size: 0;
|
|
2635
|
+
row-gap: var(--bf-section-space-shallow);
|
|
2521
2636
|
}
|
|
2522
2637
|
|
|
2523
2638
|
:where(.bf-theme) :where(.bf-data-spotlight-item) {
|
|
2524
2639
|
min-inline-size: 0;
|
|
2525
2640
|
overflow-wrap: anywhere;
|
|
2526
|
-
|
|
2527
|
-
|
|
2528
|
-
:where(.bf-theme) :where(.bf-data-spotlight-item:not(:last-child)) {
|
|
2529
|
-
padding-block-end: var(--bf-section-space-shallow);
|
|
2641
|
+
padding: 0;
|
|
2530
2642
|
}
|
|
2531
2643
|
|
|
2532
2644
|
:where(.bf-theme) :where(.bf-data-spotlight-stat) {
|
|
@@ -2579,6 +2691,14 @@ html.u-baseline-grid::after {
|
|
|
2579
2691
|
@container (width >= 38.75rem) {
|
|
2580
2692
|
:where(.bf-theme) :where(.bf-data-spotlight-items) {
|
|
2581
2693
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
2694
|
+
row-gap: var(--bf-space-1);
|
|
2695
|
+
}
|
|
2696
|
+
|
|
2697
|
+
:where(.bf-theme) :where(.bf-data-spotlight-items)::after {
|
|
2698
|
+
block-size: calc(var(--bf-section-space-shallow) - (var(--bf-space-1) * 2));
|
|
2699
|
+
content: "";
|
|
2700
|
+
grid-column: 1 / -1;
|
|
2701
|
+
grid-row: 6;
|
|
2582
2702
|
}
|
|
2583
2703
|
|
|
2584
2704
|
:where(.bf-theme) :where(.bf-data-spotlight-header, .bf-data-spotlight-item) {
|
|
@@ -2587,10 +2707,6 @@ html.u-baseline-grid::after {
|
|
|
2587
2707
|
grid-template-rows: subgrid;
|
|
2588
2708
|
}
|
|
2589
2709
|
|
|
2590
|
-
:where(.bf-theme) :where(.bf-data-spotlight-item) {
|
|
2591
|
-
padding-block-end: 0;
|
|
2592
|
-
}
|
|
2593
|
-
|
|
2594
2710
|
:where(.bf-theme) :where(.bf-data-spotlight.is-three-blocks) :where(.bf-data-spotlight-header) {
|
|
2595
2711
|
block-size: 0;
|
|
2596
2712
|
overflow: visible;
|
|
@@ -2598,7 +2714,13 @@ html.u-baseline-grid::after {
|
|
|
2598
2714
|
|
|
2599
2715
|
:where(.bf-theme) :where(.bf-data-spotlight.is-three-blocks) :where(.bf-data-spotlight-item:first-of-type),
|
|
2600
2716
|
:where(.bf-theme) :where(.bf-data-spotlight.is-four-blocks) :where(.bf-data-spotlight-item:nth-child(-n + 2)) {
|
|
2601
|
-
|
|
2717
|
+
grid-row: span 5;
|
|
2718
|
+
}
|
|
2719
|
+
|
|
2720
|
+
:where(.bf-theme) :where(.bf-data-spotlight.is-two-blocks) :where(.bf-data-spotlight-item:nth-of-type(2)),
|
|
2721
|
+
:where(.bf-theme) :where(.bf-data-spotlight.is-three-blocks) :where(.bf-data-spotlight-item:nth-of-type(n + 2)),
|
|
2722
|
+
:where(.bf-theme) :where(.bf-data-spotlight.is-four-blocks) :where(.bf-data-spotlight-item:nth-of-type(n + 3)) {
|
|
2723
|
+
grid-row: 7 / span 5;
|
|
2602
2724
|
}
|
|
2603
2725
|
}
|
|
2604
2726
|
|
|
@@ -2611,15 +2733,18 @@ html.u-baseline-grid::after {
|
|
|
2611
2733
|
grid-template-columns: repeat(4, minmax(0, 1fr));
|
|
2612
2734
|
}
|
|
2613
2735
|
|
|
2736
|
+
:where(.bf-theme) :where(.bf-data-spotlight-items)::after {
|
|
2737
|
+
content: none;
|
|
2738
|
+
}
|
|
2739
|
+
|
|
2614
2740
|
:where(.bf-theme) :where(.bf-data-spotlight.is-two-blocks) :where(.bf-data-spotlight-header) {
|
|
2615
2741
|
block-size: 0;
|
|
2616
2742
|
grid-column: span 2;
|
|
2617
2743
|
overflow: visible;
|
|
2618
2744
|
}
|
|
2619
2745
|
|
|
2620
|
-
:where(.bf-theme) :where(.bf-data-spotlight
|
|
2621
|
-
|
|
2622
|
-
padding-block-end: 0;
|
|
2746
|
+
:where(.bf-theme) :where(.bf-data-spotlight-item) {
|
|
2747
|
+
grid-row: span 5;
|
|
2623
2748
|
}
|
|
2624
2749
|
}
|
|
2625
2750
|
|
|
@@ -2628,7 +2753,7 @@ html.u-baseline-grid::after {
|
|
|
2628
2753
|
headings, copy, and content items keep their own metric-derived rhythm. */
|
|
2629
2754
|
:where(.bf-theme) :where(.bf-divided-section) {
|
|
2630
2755
|
container-type: inline-size;
|
|
2631
|
-
margin
|
|
2756
|
+
margin: 0;
|
|
2632
2757
|
min-inline-size: 0;
|
|
2633
2758
|
}
|
|
2634
2759
|
|
|
@@ -2647,37 +2772,41 @@ html.u-baseline-grid::after {
|
|
|
2647
2772
|
}
|
|
2648
2773
|
|
|
2649
2774
|
:where(.bf-theme) :where(.bf-divided-section-list) {
|
|
2650
|
-
|
|
2651
|
-
|
|
2775
|
+
--bf-divided-section-rule-to-content: calc(0.5rem - var(--bf-border-width));
|
|
2776
|
+
--bf-stack-space: 1.5rem;
|
|
2652
2777
|
list-style: none;
|
|
2653
2778
|
margin: 0;
|
|
2654
2779
|
padding: 0;
|
|
2655
2780
|
}
|
|
2656
2781
|
|
|
2782
|
+
/* Preserve the pre-0.1.5 list markup; canonical composition also carries
|
|
2783
|
+
bf-stack so the container remains the explicit owner of item spacing. */
|
|
2784
|
+
:where(.bf-theme) :where(.bf-divided-section-list:not(.bf-stack)) {
|
|
2785
|
+
align-content: start;
|
|
2786
|
+
display: grid;
|
|
2787
|
+
gap: var(--bf-stack-space);
|
|
2788
|
+
}
|
|
2789
|
+
|
|
2657
2790
|
:where(.bf-theme) :where(.bf-divided-section-item) {
|
|
2658
2791
|
align-content: start;
|
|
2659
2792
|
display: grid;
|
|
2793
|
+
margin: 0;
|
|
2660
2794
|
min-inline-size: 0;
|
|
2661
2795
|
overflow-wrap: anywhere;
|
|
2796
|
+
padding: 0;
|
|
2797
|
+
position: relative;
|
|
2662
2798
|
}
|
|
2663
2799
|
|
|
2664
|
-
:where(.bf-theme) :where(.bf-divided-section-item
|
|
2665
|
-
|
|
2666
|
-
|
|
2667
|
-
|
|
2668
|
-
:
|
|
2669
|
-
|
|
2670
|
-
|
|
2671
|
-
}
|
|
2672
|
-
|
|
2673
|
-
@container (width >= 38.75rem) {
|
|
2674
|
-
:where(.bf-theme) :where(.bf-divided-section.is-split-medium) :where(.bf-divided-section-layout) {
|
|
2675
|
-
column-gap: var(--bf-grid-gap-inline);
|
|
2676
|
-
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
2677
|
-
}
|
|
2800
|
+
:where(.bf-theme) :where(.bf-divided-section-item + .bf-divided-section-item)::before {
|
|
2801
|
+
background: var(--bf-color-border-low-contrast);
|
|
2802
|
+
block-size: var(--bf-border-width);
|
|
2803
|
+
content: "";
|
|
2804
|
+
inset-block-start: calc((var(--bf-divided-section-rule-to-content) + var(--bf-border-width)) * -1);
|
|
2805
|
+
inset-inline: 0;
|
|
2806
|
+
position: absolute;
|
|
2678
2807
|
}
|
|
2679
2808
|
|
|
2680
|
-
@container (width >=
|
|
2809
|
+
@container (width >= 45rem) {
|
|
2681
2810
|
:where(.bf-theme) :where(.bf-divided-section) :where(.bf-divided-section-layout) {
|
|
2682
2811
|
column-gap: var(--bf-grid-gap-inline);
|
|
2683
2812
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
@@ -2762,12 +2891,13 @@ html.u-baseline-grid::after {
|
|
|
2762
2891
|
border: var(--bf-border-width) solid var(--bf-color-border-default);
|
|
2763
2892
|
border-inline-start: var(--bf-bar-thickness) solid var(--bf-notification-accent);
|
|
2764
2893
|
color: var(--bf-color-text-default);
|
|
2765
|
-
margin-block: 0
|
|
2894
|
+
margin-block: 0;
|
|
2766
2895
|
max-inline-size: 100%;
|
|
2767
2896
|
min-inline-size: 0;
|
|
2768
2897
|
overflow-wrap: anywhere;
|
|
2769
|
-
padding-block: calc(var(--bf-space-
|
|
2770
|
-
padding-
|
|
2898
|
+
padding-block-end: max(0rem, calc(var(--bf-space-half) - var(--bf-border-width)));
|
|
2899
|
+
padding-block-start: 0;
|
|
2900
|
+
padding-inline: calc(var(--bf-icon-label-inline-offset) - var(--bf-bar-thickness)) var(--bf-space-1);
|
|
2771
2901
|
position: relative;
|
|
2772
2902
|
}
|
|
2773
2903
|
|
|
@@ -2790,14 +2920,14 @@ html.u-baseline-grid::after {
|
|
|
2790
2920
|
:where(.bf-theme) :where(.bf-notification.is-borderless) {
|
|
2791
2921
|
border: 0;
|
|
2792
2922
|
padding-block: 0;
|
|
2793
|
-
padding-inline: calc(var(--bf-
|
|
2923
|
+
padding-inline: calc(var(--bf-icon-size-default) + var(--bf-space-1)) 0;
|
|
2794
2924
|
}
|
|
2795
2925
|
|
|
2796
2926
|
:where(.bf-theme) :where(.bf-notification-icon) {
|
|
2797
2927
|
background-color: var(--bf-notification-accent);
|
|
2798
2928
|
background-image: none;
|
|
2799
|
-
inset-block-start: calc(
|
|
2800
|
-
inset-inline-start: var(--bf-space-
|
|
2929
|
+
inset-block-start: calc(((var(--bf-h6-line-height) - var(--bf-icon-size-default)) / 2) + var(--bf-h6-nudge-start) - var(--bf-border-width));
|
|
2930
|
+
inset-inline-start: calc(var(--bf-icon-label-inline-offset) - var(--bf-bar-thickness) - var(--bf-icon-size-default) - var(--bf-space-1));
|
|
2801
2931
|
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zm0 1.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13zm-.75 5.25h1.5v5h-1.5v-5zM8 3.5a1 1 0 1 1 0 2 1 1 0 0 1 0-2z'/%3E%3C/svg%3E");
|
|
2802
2932
|
mask-position: center;
|
|
2803
2933
|
mask-repeat: no-repeat;
|
|
@@ -2818,22 +2948,52 @@ html.u-baseline-grid::after {
|
|
|
2818
2948
|
}
|
|
2819
2949
|
|
|
2820
2950
|
:where(.bf-theme) :where(.bf-notification.is-borderless > .bf-notification-icon) {
|
|
2821
|
-
inset-block-start: calc(((var(--bf-
|
|
2951
|
+
inset-block-start: calc(((var(--bf-h6-line-height) - var(--bf-icon-size-default)) / 2) + var(--bf-h6-nudge-start));
|
|
2822
2952
|
inset-inline-start: 0;
|
|
2823
2953
|
}
|
|
2824
2954
|
|
|
2955
|
+
:where(.bf-theme) :where(.bf-notification.is-inline > .bf-notification-icon) {
|
|
2956
|
+
inset-block-start: calc(((var(--bf-body-line-height) - var(--bf-icon-size-default)) / 2) + var(--bf-body-nudge-start) - var(--bf-border-width));
|
|
2957
|
+
}
|
|
2958
|
+
|
|
2825
2959
|
:where(.bf-theme) :where(.bf-notification-content, .bf-notification-meta) {
|
|
2826
2960
|
max-inline-size: 100%;
|
|
2827
2961
|
min-inline-size: 0;
|
|
2828
2962
|
}
|
|
2829
2963
|
|
|
2830
2964
|
:where(.bf-theme) :where(.bf-notification-content) {
|
|
2831
|
-
|
|
2832
|
-
|
|
2833
|
-
padding-
|
|
2965
|
+
/* Neutralise the shell's top border so the first metric role starts on-grid. */
|
|
2966
|
+
margin-block: calc(var(--bf-border-width) * -1) 0;
|
|
2967
|
+
padding-block-start: 0;
|
|
2968
|
+
padding-inline-end: calc(var(--bf-icon-size-default) + var(--bf-space-1));
|
|
2969
|
+
}
|
|
2970
|
+
|
|
2971
|
+
:where(.bf-theme) :where(.bf-notification.is-borderless .bf-notification-content) {
|
|
2972
|
+
--bf-stack-space: 0rem;
|
|
2973
|
+
margin-block-start: 0;
|
|
2974
|
+
}
|
|
2975
|
+
|
|
2976
|
+
/* Metadata-bearing notifications use a full baseline between title and copy,
|
|
2977
|
+
and pair it with the full end inset. This keeps both the metadata boundary
|
|
2978
|
+
and the complete shell on-grid; simpler messages retain compact rhythm. */
|
|
2979
|
+
:where(.bf-theme) :where(.bf-notification:has(> .bf-notification-meta)) {
|
|
2980
|
+
padding-block-end: calc(var(--bf-space-1) - var(--bf-border-width));
|
|
2981
|
+
}
|
|
2982
|
+
|
|
2983
|
+
:where(.bf-theme) :where(.bf-notification.is-inline) {
|
|
2984
|
+
padding-block-end: calc(var(--bf-space-1) - var(--bf-border-width));
|
|
2985
|
+
}
|
|
2986
|
+
|
|
2987
|
+
/* Return the cancelled H6/body metric edges to the shell boundary. The
|
|
2988
|
+
* Documentation tier deliberately gives those roles different metrics, so
|
|
2989
|
+
* deriving this inset keeps every bordered notification on-grid without
|
|
2990
|
+
* reopening the visible title/copy gap. Keep this after the shell variants so
|
|
2991
|
+
* the metric relationship owns their final compensation. */
|
|
2992
|
+
:where(.bf-theme) :where(.bf-notification:has(> .bf-notification-content.is-metric-flush):not(.is-borderless)) {
|
|
2993
|
+
padding-block-end: calc(var(--bf-space-1) - var(--bf-border-width) + var(--bf-baseline) - var(--bf-h6-nudge-start) - var(--bf-body-margin-bottom));
|
|
2834
2994
|
}
|
|
2835
2995
|
|
|
2836
|
-
:where(.bf-theme) :where(.bf-notification-
|
|
2996
|
+
:where(.bf-theme) :where(.bf-notification-message, .bf-notification-timestamp) {
|
|
2837
2997
|
font-family: var(--bf-body-font-family);
|
|
2838
2998
|
font-size: var(--bf-body-font-size);
|
|
2839
2999
|
font-style: var(--bf-body-font-style);
|
|
@@ -2841,20 +3001,11 @@ html.u-baseline-grid::after {
|
|
|
2841
3001
|
max-inline-size: 100%;
|
|
2842
3002
|
}
|
|
2843
3003
|
|
|
2844
|
-
:where(.bf-theme) :where(.bf-notification-title) {
|
|
2845
|
-
font-weight: 600;
|
|
2846
|
-
margin-block: 0;
|
|
2847
|
-
padding-block: 0;
|
|
2848
|
-
}
|
|
2849
|
-
|
|
2850
3004
|
:where(.bf-theme) :where(.bf-notification-message) {
|
|
2851
3005
|
font-weight: var(--bf-body-font-weight);
|
|
2852
|
-
margin-block: 0;
|
|
2853
|
-
padding-block: 0;
|
|
2854
|
-
|
|
2855
|
-
|
|
2856
|
-
:where(.bf-theme) :where(.bf-notification.is-inline .bf-notification-title, .bf-notification.is-inline .bf-notification-message) {
|
|
2857
|
-
display: inline;
|
|
3006
|
+
margin-block: 0 var(--bf-body-margin-bottom);
|
|
3007
|
+
padding-block-end: 0;
|
|
3008
|
+
padding-block-start: var(--bf-body-nudge-start);
|
|
2858
3009
|
}
|
|
2859
3010
|
|
|
2860
3011
|
:where(.bf-theme) :where(.bf-notification-close) {
|
|
@@ -2864,8 +3015,8 @@ html.u-baseline-grid::after {
|
|
|
2864
3015
|
margin-block-end: 0;
|
|
2865
3016
|
padding: 0;
|
|
2866
3017
|
position: absolute;
|
|
2867
|
-
inset-block-start:
|
|
2868
|
-
inset-inline-end:
|
|
3018
|
+
inset-block-start: 0;
|
|
3019
|
+
inset-inline-end: 0;
|
|
2869
3020
|
}
|
|
2870
3021
|
|
|
2871
3022
|
:where(.bf-theme) :where(.bf-notification.is-borderless .bf-notification-close) {
|
|
@@ -2880,7 +3031,7 @@ html.u-baseline-grid::after {
|
|
|
2880
3031
|
flex-wrap: wrap;
|
|
2881
3032
|
gap: var(--bf-space-1) var(--bf-space-2);
|
|
2882
3033
|
justify-content: space-between;
|
|
2883
|
-
margin-block-end:
|
|
3034
|
+
margin-block-end: 0;
|
|
2884
3035
|
padding-block-start: calc(var(--bf-space-1) - var(--bf-border-width));
|
|
2885
3036
|
padding-inline-end: var(--bf-space-2);
|
|
2886
3037
|
}
|
|
@@ -2893,7 +3044,7 @@ html.u-baseline-grid::after {
|
|
|
2893
3044
|
:where(.bf-theme) :where(.bf-notification-timestamp) {
|
|
2894
3045
|
color: var(--bf-color-text-muted);
|
|
2895
3046
|
font-weight: var(--bf-body-font-weight);
|
|
2896
|
-
margin-block: 0
|
|
3047
|
+
margin-block: 0 var(--bf-body-margin-bottom);
|
|
2897
3048
|
padding-block: var(--bf-body-nudge-start) 0;
|
|
2898
3049
|
}
|
|
2899
3050
|
|
|
@@ -2908,7 +3059,7 @@ html.u-baseline-grid::after {
|
|
|
2908
3059
|
|
|
2909
3060
|
:where(.bf-theme) :where(.bf-notification-actions > .bf-button.is-link) {
|
|
2910
3061
|
flex: 0 0 auto;
|
|
2911
|
-
margin-block-end:
|
|
3062
|
+
margin-block-end: var(--bf-body-margin-bottom);
|
|
2912
3063
|
padding-block: var(--bf-body-nudge-start) 0;
|
|
2913
3064
|
}
|
|
2914
3065
|
|
|
@@ -2928,10 +3079,10 @@ html.u-baseline-grid::after {
|
|
|
2928
3079
|
cursor: inherit;
|
|
2929
3080
|
display: inline-block;
|
|
2930
3081
|
font: inherit;
|
|
2931
|
-
margin: -
|
|
3082
|
+
margin: -0.125rem calc(var(--bf-space-half) * -1);
|
|
2932
3083
|
max-inline-size: 100%;
|
|
2933
3084
|
overflow: hidden;
|
|
2934
|
-
padding:
|
|
3085
|
+
padding: 0.125rem var(--bf-space-half);
|
|
2935
3086
|
text-align: inherit;
|
|
2936
3087
|
text-decoration: inherit;
|
|
2937
3088
|
text-overflow: inherit;
|
|
@@ -2942,7 +3093,7 @@ html.u-baseline-grid::after {
|
|
|
2942
3093
|
:where(.bf-theme) :where(.bf-table.is-sortable th[aria-sort]:hover, .bf-table-sort-button:focus-visible) {
|
|
2943
3094
|
color: var(--bf-color-link-default);
|
|
2944
3095
|
text-decoration: underline;
|
|
2945
|
-
text-decoration-thickness:
|
|
3096
|
+
text-decoration-thickness: 0.0625rem;
|
|
2946
3097
|
text-underline-offset: 0.075em;
|
|
2947
3098
|
}
|
|
2948
3099
|
|
|
@@ -2951,11 +3102,11 @@ html.u-baseline-grid::after {
|
|
|
2951
3102
|
}
|
|
2952
3103
|
|
|
2953
3104
|
:where(.bf-theme) :where(.bf-table-sort-button:focus-visible) {
|
|
2954
|
-
outline:
|
|
2955
|
-
outline-offset: -
|
|
3105
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
3106
|
+
outline-offset: -0.125rem;
|
|
2956
3107
|
}
|
|
2957
3108
|
|
|
2958
|
-
:where(.bf-theme) :where(.bf-table.is-sortable th[aria-sort
|
|
3109
|
+
:where(.bf-theme) :where(.bf-table.is-sortable th[aria-sort])::after {
|
|
2959
3110
|
background-image: var(--bf-ui-icon-chevron-down);
|
|
2960
3111
|
background-position: center;
|
|
2961
3112
|
background-repeat: no-repeat;
|
|
@@ -2965,9 +3116,14 @@ html.u-baseline-grid::after {
|
|
|
2965
3116
|
display: inline-block;
|
|
2966
3117
|
inline-size: var(--bf-icon-size-default);
|
|
2967
3118
|
margin-inline-start: var(--bf-space-half);
|
|
3119
|
+
opacity: 0;
|
|
2968
3120
|
vertical-align: calc((1cap - var(--bf-icon-size-default)) / 2);
|
|
2969
3121
|
}
|
|
2970
3122
|
|
|
3123
|
+
:where(.bf-theme) :where(.bf-table.is-sortable th[aria-sort='ascending'], .bf-table.is-sortable th[aria-sort='descending'])::after {
|
|
3124
|
+
opacity: 1;
|
|
3125
|
+
}
|
|
3126
|
+
|
|
2971
3127
|
:where(.bf-theme) :where(.bf-table.is-sortable th[aria-sort='ascending'])::after {
|
|
2972
3128
|
transform: rotate(180deg);
|
|
2973
3129
|
}
|
|
@@ -3004,9 +3160,9 @@ html.u-baseline-grid::after {
|
|
|
3004
3160
|
}
|
|
3005
3161
|
|
|
3006
3162
|
:where(.bf-theme) :where(.bf-table-mobile-card-frame > .bf-table.is-mobile-card > thead) {
|
|
3007
|
-
block-size:
|
|
3163
|
+
block-size: 0.0625rem;
|
|
3008
3164
|
clip-path: inset(50%);
|
|
3009
|
-
inline-size:
|
|
3165
|
+
inline-size: 0.0625rem;
|
|
3010
3166
|
overflow: hidden;
|
|
3011
3167
|
position: absolute;
|
|
3012
3168
|
white-space: nowrap;
|
|
@@ -3077,7 +3233,7 @@ html.u-baseline-grid::after {
|
|
|
3077
3233
|
:where(.bf-theme) :where(.bf-logo-section) {
|
|
3078
3234
|
container-name: bf-logo-section;
|
|
3079
3235
|
container-type: inline-size;
|
|
3080
|
-
margin
|
|
3236
|
+
margin: 0;
|
|
3081
3237
|
min-inline-size: 0;
|
|
3082
3238
|
}
|
|
3083
3239
|
|
|
@@ -3111,8 +3267,8 @@ html.u-baseline-grid::after {
|
|
|
3111
3267
|
}
|
|
3112
3268
|
|
|
3113
3269
|
:where(.bf-theme) :where(.bf-logo-section-link:focus-visible) {
|
|
3114
|
-
outline:
|
|
3115
|
-
outline-offset:
|
|
3270
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
3271
|
+
outline-offset: 0.125rem;
|
|
3116
3272
|
}
|
|
3117
3273
|
|
|
3118
3274
|
:where(.bf-theme) :where(.bf-logo-section-logo) {
|
|
@@ -3139,7 +3295,7 @@ html.u-baseline-grid::after {
|
|
|
3139
3295
|
inline-size: 100%;
|
|
3140
3296
|
}
|
|
3141
3297
|
|
|
3142
|
-
/* Vanilla's small breakpoint is
|
|
3298
|
+
/* Vanilla's small breakpoint is 38.75rem. The items descendant, rather than the
|
|
3143
3299
|
query container itself, responds when its allocated space reaches it. */
|
|
3144
3300
|
@container bf-logo-section (width >= 38.75rem) {
|
|
3145
3301
|
:where(.bf-theme) :where(.bf-logo-section-items) {
|
|
@@ -3163,19 +3319,21 @@ html.u-baseline-grid::after {
|
|
|
3163
3319
|
|
|
3164
3320
|
/* ------------------------------------------------------------------ */
|
|
3165
3321
|
/* Media object — semantic media/content slots with a container-owned */
|
|
3166
|
-
/* structural collapse
|
|
3322
|
+
/* structural collapse. Content roles retain their metric boxes. */
|
|
3167
3323
|
/* ------------------------------------------------------------------ */
|
|
3168
3324
|
|
|
3169
3325
|
:where(.bf-theme) :where(.bf-media-object) {
|
|
3170
|
-
|
|
3326
|
+
container-name: bf-media-object;
|
|
3327
|
+
container-type: inline-size;
|
|
3328
|
+
margin: 0;
|
|
3171
3329
|
min-inline-size: 0;
|
|
3172
3330
|
}
|
|
3173
3331
|
|
|
3174
3332
|
:where(.bf-theme) :where(.bf-media-object-layout) {
|
|
3175
|
-
display: grid;
|
|
3176
3333
|
align-items: start;
|
|
3177
|
-
column-gap: var(--bf-
|
|
3178
|
-
|
|
3334
|
+
column-gap: var(--bf-grid-gap-inline);
|
|
3335
|
+
display: grid;
|
|
3336
|
+
grid-template-columns: repeat(4, minmax(0, 1fr));
|
|
3179
3337
|
min-inline-size: 0;
|
|
3180
3338
|
}
|
|
3181
3339
|
|
|
@@ -3187,6 +3345,10 @@ html.u-baseline-grid::after {
|
|
|
3187
3345
|
min-inline-size: 0;
|
|
3188
3346
|
}
|
|
3189
3347
|
|
|
3348
|
+
:where(.bf-theme) :where(.bf-media-object-media) {
|
|
3349
|
+
grid-column: 1 / span 2;
|
|
3350
|
+
}
|
|
3351
|
+
|
|
3190
3352
|
:where(.bf-theme) :where(.bf-media-object-media > :where(img, picture, svg, video)) {
|
|
3191
3353
|
block-size: 100%;
|
|
3192
3354
|
display: block;
|
|
@@ -3201,6 +3363,7 @@ html.u-baseline-grid::after {
|
|
|
3201
3363
|
}
|
|
3202
3364
|
|
|
3203
3365
|
:where(.bf-theme) :where(.bf-media-object-content) {
|
|
3366
|
+
grid-column: 3 / -1;
|
|
3204
3367
|
min-inline-size: 0;
|
|
3205
3368
|
overflow-wrap: anywhere;
|
|
3206
3369
|
}
|
|
@@ -3240,8 +3403,12 @@ html.u-baseline-grid::after {
|
|
|
3240
3403
|
}
|
|
3241
3404
|
|
|
3242
3405
|
:where(.bf-theme) :where(.bf-media-object-meta-list) {
|
|
3406
|
+
--bf-stack-space: var(--bf-space-1);
|
|
3407
|
+
align-content: start;
|
|
3408
|
+
display: grid;
|
|
3409
|
+
gap: var(--bf-stack-space);
|
|
3243
3410
|
list-style: none;
|
|
3244
|
-
margin:
|
|
3411
|
+
margin: 0;
|
|
3245
3412
|
padding: 0;
|
|
3246
3413
|
}
|
|
3247
3414
|
|
|
@@ -3254,22 +3421,22 @@ html.u-baseline-grid::after {
|
|
|
3254
3421
|
overflow-wrap: anywhere;
|
|
3255
3422
|
}
|
|
3256
3423
|
|
|
3257
|
-
:where(.bf-theme) :where(.bf-media-object-meta + .bf-media-object-meta) {
|
|
3258
|
-
margin-block-start: var(--bf-space-1);
|
|
3259
|
-
}
|
|
3260
|
-
|
|
3261
3424
|
:where(.bf-theme) :where(.bf-media-object-meta .bf-icon) {
|
|
3262
3425
|
margin-block-start: var(--bf-body-nudge-start);
|
|
3263
3426
|
}
|
|
3264
3427
|
|
|
3265
|
-
|
|
3266
|
-
|
|
3267
|
-
|
|
3268
|
-
}
|
|
3428
|
+
@container bf-media-object (width >= 38.75rem) {
|
|
3429
|
+
:where(.bf-theme) :where(.bf-media-object-layout) {
|
|
3430
|
+
grid-template-columns: repeat(8, minmax(0, 1fr));
|
|
3431
|
+
}
|
|
3269
3432
|
|
|
3270
|
-
:where(.bf-theme) :where(.bf-media-object
|
|
3271
|
-
|
|
3272
|
-
|
|
3433
|
+
:where(.bf-theme) :where(.bf-media-object-media) {
|
|
3434
|
+
grid-column: 1 / span 2;
|
|
3435
|
+
}
|
|
3436
|
+
|
|
3437
|
+
:where(.bf-theme) :where(.bf-media-object-content) {
|
|
3438
|
+
grid-column: 3 / -1;
|
|
3439
|
+
}
|
|
3273
3440
|
}
|
|
3274
3441
|
|
|
3275
3442
|
|
|
@@ -3280,20 +3447,13 @@ html.u-baseline-grid::after {
|
|
|
3280
3447
|
:where(.bf-theme) :where(.bf-linked-logo-section) {
|
|
3281
3448
|
container-name: bf-linked-logo-section;
|
|
3282
3449
|
container-type: inline-size;
|
|
3283
|
-
margin
|
|
3450
|
+
margin: 0;
|
|
3284
3451
|
min-inline-size: 0;
|
|
3285
3452
|
}
|
|
3286
3453
|
|
|
3287
|
-
:where(.bf-theme) :where(.bf-linked-logo-section.is-shallow) {
|
|
3288
|
-
margin-block-end: var(--bf-section-space-shallow);
|
|
3289
|
-
}
|
|
3290
|
-
|
|
3291
|
-
:where(.bf-theme) :where(.bf-linked-logo-section.is-deep) {
|
|
3292
|
-
margin-block-end: var(--bf-section-space-deep);
|
|
3293
|
-
}
|
|
3294
|
-
|
|
3295
3454
|
:where(.bf-theme) :where(.bf-linked-logo-section-layout) {
|
|
3296
3455
|
display: grid;
|
|
3456
|
+
gap: var(--bf-section-space-shallow);
|
|
3297
3457
|
grid-template-columns: minmax(0, 1fr);
|
|
3298
3458
|
min-inline-size: 0;
|
|
3299
3459
|
}
|
|
@@ -3326,7 +3486,7 @@ html.u-baseline-grid::after {
|
|
|
3326
3486
|
max-inline-size: none;
|
|
3327
3487
|
}
|
|
3328
3488
|
|
|
3329
|
-
:where(.bf-theme) :where(.bf-linked-logo-section-card) {
|
|
3489
|
+
:where(.bf-theme) :where(a.bf-linked-logo-section-card) {
|
|
3330
3490
|
align-content: start;
|
|
3331
3491
|
align-items: stretch;
|
|
3332
3492
|
color: inherit;
|
|
@@ -3338,7 +3498,7 @@ html.u-baseline-grid::after {
|
|
|
3338
3498
|
text-decoration: none;
|
|
3339
3499
|
}
|
|
3340
3500
|
|
|
3341
|
-
:where(.bf-theme) :where(.bf-linked-logo-section-card:hover) :where(.bf-linked-logo-section-card-copy) {
|
|
3501
|
+
:where(.bf-theme) :where(a.bf-linked-logo-section-card:hover) :where(.bf-linked-logo-section-card-copy) {
|
|
3342
3502
|
text-decoration: underline;
|
|
3343
3503
|
}
|
|
3344
3504
|
|
|
@@ -3357,7 +3517,7 @@ html.u-baseline-grid::after {
|
|
|
3357
3517
|
of baselines tall. Keep the visual ratio exact and put only the residual
|
|
3358
3518
|
rhythm compensation after the mark; the copy keeps its own semantic
|
|
3359
3519
|
spacing and the occupied card still lands on the tier grid. */
|
|
3360
|
-
@supports (margin-block-end: round(up,
|
|
3520
|
+
@supports (margin-block-end: round(up, 0.0625rem, 0.0625rem)) {
|
|
3361
3521
|
:where(.bf-theme) :where(.bf-linked-logo-section-mark) {
|
|
3362
3522
|
margin-block-end: calc(
|
|
3363
3523
|
round(up, calc(100cqi * 9 / 16), var(--bf-baseline))
|
|
@@ -3389,21 +3549,25 @@ html.u-baseline-grid::after {
|
|
|
3389
3549
|
overflow-wrap: anywhere;
|
|
3390
3550
|
}
|
|
3391
3551
|
|
|
3392
|
-
/*
|
|
3393
|
-
|
|
3394
|
-
|
|
3395
|
-
|
|
3552
|
+
/* The linked-logo block moves from one to two cards per row at the 4-column
|
|
3553
|
+
medium grid. The balanced 50/50 section split uses the shared readable
|
|
3554
|
+
threshold; the 25/75 content rail and four-card density retain their
|
|
3555
|
+
separately measured wide threshold. The root establishes the query context;
|
|
3556
|
+
only descendants change. */
|
|
3396
3557
|
@container bf-linked-logo-section (width >= 38.75rem) {
|
|
3397
3558
|
:where(.bf-theme) :where(.bf-linked-logo-section-logos) :where(.bf-logo-section-items) {
|
|
3398
3559
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
3399
3560
|
}
|
|
3400
3561
|
}
|
|
3401
3562
|
|
|
3402
|
-
@container bf-linked-logo-section (width >=
|
|
3563
|
+
@container bf-linked-logo-section (width >= 45rem) {
|
|
3403
3564
|
:where(.bf-theme) :where(.bf-linked-logo-section.is-50-50) :where(.bf-linked-logo-section-layout) {
|
|
3404
3565
|
column-gap: var(--bf-grid-gap-inline);
|
|
3405
3566
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
3406
3567
|
}
|
|
3568
|
+
}
|
|
3569
|
+
|
|
3570
|
+
@container bf-linked-logo-section (width >= 64.75rem) {
|
|
3407
3571
|
|
|
3408
3572
|
:where(.bf-theme) :where(.bf-linked-logo-section.is-25-75) :where(.bf-linked-logo-section-layout) {
|
|
3409
3573
|
column-gap: var(--bf-grid-gap-inline);
|
|
@@ -3506,35 +3670,27 @@ html.u-baseline-grid::after {
|
|
|
3506
3670
|
}
|
|
3507
3671
|
|
|
3508
3672
|
/* A section title may be the route action without looking like body copy. */
|
|
3509
|
-
:where(.bf-theme) :where(.bf-basic-section-title-link, .bf-basic-section-title-link:visited) {
|
|
3673
|
+
:where(.bf-theme) :where(a.bf-basic-section-title-link, a.bf-basic-section-title-link:visited) {
|
|
3510
3674
|
color: var(--bf-color-link-default);
|
|
3511
3675
|
text-decoration: none;
|
|
3512
3676
|
}
|
|
3513
3677
|
|
|
3514
|
-
:where(.bf-theme) :where(.bf-basic-section-title-link:hover) {
|
|
3678
|
+
:where(.bf-theme) :where(a.bf-basic-section-title-link:hover) {
|
|
3515
3679
|
text-decoration: underline;
|
|
3516
3680
|
text-decoration-thickness: var(--bf-border-width);
|
|
3517
3681
|
text-underline-offset: 0.12em;
|
|
3518
3682
|
}
|
|
3519
3683
|
|
|
3520
|
-
/*
|
|
3521
|
-
|
|
3684
|
+
/* A balanced section switches at the shared readable 50/50 threshold. The
|
|
3685
|
+
layout descendant reacts to the root container; the query never tries to
|
|
3522
3686
|
restyle the container that established it. */
|
|
3523
|
-
@container bf-basic-section (width >=
|
|
3524
|
-
:where(.bf-theme) :where(.bf-basic-section
|
|
3687
|
+
@container bf-basic-section (width >= 45rem) {
|
|
3688
|
+
:where(.bf-theme) :where(.bf-basic-section-layout) {
|
|
3525
3689
|
column-gap: var(--bf-grid-gap-inline);
|
|
3526
3690
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
3527
3691
|
}
|
|
3528
3692
|
}
|
|
3529
3693
|
|
|
3530
|
-
@container bf-basic-section (width >= 64.75rem) {
|
|
3531
|
-
:where(.bf-theme) :where(.bf-basic-section:not(.is-split-medium)) :where(.bf-basic-section-layout) {
|
|
3532
|
-
column-gap: var(--bf-grid-gap-inline);
|
|
3533
|
-
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
3534
|
-
}
|
|
3535
|
-
|
|
3536
|
-
}
|
|
3537
|
-
|
|
3538
3694
|
/* CTA section: Vanilla's 25/75 variant is an offset content rail. The full
|
|
3539
3695
|
variant stays naturally full-width. Typography and action presentation are
|
|
3540
3696
|
supplied by real heading elements and bf-cta-block. */
|
|
@@ -3548,19 +3704,23 @@ html.u-baseline-grid::after {
|
|
|
3548
3704
|
display: grid;
|
|
3549
3705
|
grid-template-columns: minmax(0, 1fr);
|
|
3550
3706
|
min-inline-size: 0;
|
|
3551
|
-
padding-block: calc(var(--bf-section-space-deep) / 2);
|
|
3552
3707
|
}
|
|
3553
3708
|
|
|
3554
3709
|
:where(.bf-theme) :where(.bf-cta-section-content) {
|
|
3710
|
+
--bf-stack-space: var(--bf-section-space-shallow);
|
|
3711
|
+
align-content: start;
|
|
3712
|
+
display: grid;
|
|
3713
|
+
gap: var(--bf-stack-space);
|
|
3555
3714
|
min-inline-size: 0;
|
|
3556
3715
|
overflow-wrap: anywhere;
|
|
3557
3716
|
}
|
|
3558
3717
|
|
|
3559
|
-
|
|
3560
|
-
|
|
3561
|
-
|
|
3562
|
-
|
|
3718
|
+
:where(.bf-theme) :where(.bf-cta-section-copy) {
|
|
3719
|
+
min-inline-size: 0;
|
|
3720
|
+
overflow-wrap: anywhere;
|
|
3721
|
+
}
|
|
3563
3722
|
|
|
3723
|
+
@container bf-cta-section (width >= 64.75rem) {
|
|
3564
3724
|
:where(.bf-theme) :where(.bf-cta-section.is-offset) :where(.bf-cta-section-layout) {
|
|
3565
3725
|
column-gap: var(--bf-grid-gap-inline);
|
|
3566
3726
|
grid-template-columns: minmax(0, 1fr) minmax(0, 3fr);
|
|
@@ -3628,15 +3788,15 @@ html.u-baseline-grid::after {
|
|
|
3628
3788
|
/* semantic gaps and every text child keeps metric compensation. */
|
|
3629
3789
|
/* ------------------------------------------------------------------ */
|
|
3630
3790
|
|
|
3631
|
-
/* Hero:
|
|
3632
|
-
|
|
3633
|
-
|
|
3791
|
+
/* Hero: the compact arrival space belongs inside its entry rule. The outer
|
|
3792
|
+
stack owns the section exit, and the rule replaces one pixel of padding so
|
|
3793
|
+
it never changes the rhythm. */
|
|
3634
3794
|
:where(.bf-theme) :where(.bf-hero) {
|
|
3635
3795
|
border-block-start: var(--bf-border-width) solid var(--bf-color-border-low-contrast);
|
|
3636
3796
|
container-name: bf-hero;
|
|
3637
3797
|
container-type: inline-size;
|
|
3638
3798
|
min-inline-size: 0;
|
|
3639
|
-
padding-block-end:
|
|
3799
|
+
padding-block-end: 0;
|
|
3640
3800
|
padding-block-start: calc(var(--bf-space-2) - var(--bf-border-width));
|
|
3641
3801
|
}
|
|
3642
3802
|
|
|
@@ -3649,6 +3809,7 @@ html.u-baseline-grid::after {
|
|
|
3649
3809
|
|
|
3650
3810
|
:where(.bf-theme) :where(.bf-hero-layout) {
|
|
3651
3811
|
display: grid;
|
|
3812
|
+
gap: var(--bf-section-space-shallow);
|
|
3652
3813
|
grid-template-columns: minmax(0, 1fr);
|
|
3653
3814
|
min-inline-size: 0;
|
|
3654
3815
|
}
|
|
@@ -3658,9 +3819,9 @@ html.u-baseline-grid::after {
|
|
|
3658
3819
|
overflow-wrap: anywhere;
|
|
3659
3820
|
}
|
|
3660
3821
|
|
|
3661
|
-
/*
|
|
3662
|
-
|
|
3663
|
-
|
|
3822
|
+
/* Legacy copy slots remain valid for signpost variants. The default arrival
|
|
3823
|
+
composition separates a title area from its supporting content area, and
|
|
3824
|
+
the demo composes each area with the public stack density modifiers. */
|
|
3664
3825
|
:where(.bf-theme) :where(.bf-hero-copy) {
|
|
3665
3826
|
align-content: start;
|
|
3666
3827
|
display: grid;
|
|
@@ -3687,7 +3848,7 @@ html.u-baseline-grid::after {
|
|
|
3687
3848
|
allocated a fluid grid track. Snap only the media block to the active tier
|
|
3688
3849
|
baseline so the following semantic text remains on-grid; its inline track
|
|
3689
3850
|
and the surrounding Vanilla proportions remain unchanged. */
|
|
3690
|
-
@supports (block-size: calc-size(auto, round(up, size,
|
|
3851
|
+
@supports (block-size: calc-size(auto, round(up, size, 0.0625rem))) {
|
|
3691
3852
|
:where(.bf-theme) :where(.bf-hero-media > .bf-aspect, .bf-hero-signpost > :where(img, picture, video, canvas, svg)) {
|
|
3692
3853
|
block-size: calc-size(auto, round(up, size, var(--bf-baseline)));
|
|
3693
3854
|
}
|
|
@@ -3710,14 +3871,10 @@ html.u-baseline-grid::after {
|
|
|
3710
3871
|
inline-size: 100%;
|
|
3711
3872
|
}
|
|
3712
3873
|
|
|
3713
|
-
/*
|
|
3714
|
-
|
|
3715
|
-
correctly. */
|
|
3716
|
-
/* The section boundary itself follows Vanilla's page-level desktop switch;
|
|
3717
|
-
the composition below continues to react to the allocated container. */
|
|
3874
|
+
/* The section boundary follows the page-level desktop switch, while the
|
|
3875
|
+
two-column composition uses its measured intrinsic allocation below. */
|
|
3718
3876
|
@media (width >= 64.75rem) {
|
|
3719
3877
|
:where(.bf-theme) :where(.bf-hero) {
|
|
3720
|
-
padding-block-end: var(--bf-section-space);
|
|
3721
3878
|
padding-block-start: calc(var(--bf-space-3) - var(--bf-border-width));
|
|
3722
3879
|
}
|
|
3723
3880
|
|
|
@@ -3726,7 +3883,7 @@ html.u-baseline-grid::after {
|
|
|
3726
3883
|
}
|
|
3727
3884
|
}
|
|
3728
3885
|
|
|
3729
|
-
@container bf-hero (width >=
|
|
3886
|
+
@container bf-hero (width >= 45rem) {
|
|
3730
3887
|
:where(.bf-theme) :where(.bf-hero-layout) {
|
|
3731
3888
|
column-gap: var(--bf-grid-gap-inline);
|
|
3732
3889
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
@@ -3746,9 +3903,10 @@ html.u-baseline-grid::after {
|
|
|
3746
3903
|
}
|
|
3747
3904
|
}
|
|
3748
3905
|
|
|
3749
|
-
/*
|
|
3750
|
-
|
|
3751
|
-
|
|
3906
|
+
/* The named variants retain their proportion but share the readable split
|
|
3907
|
+
threshold with the default hero. The modifier changes only structural
|
|
3908
|
+
tracks; it does not introduce an earlier cramped layout. */
|
|
3909
|
+
@container bf-hero (width >= 45rem) {
|
|
3752
3910
|
:where(.bf-theme) :where(.bf-hero.is-split-medium) :where(.bf-hero-layout) {
|
|
3753
3911
|
column-gap: var(--bf-grid-gap-inline);
|
|
3754
3912
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
@@ -3768,14 +3926,10 @@ html.u-baseline-grid::after {
|
|
|
3768
3926
|
:where(.bf-theme) :where(.bf-quote-wrapper) {
|
|
3769
3927
|
container-name: bf-quote-wrapper;
|
|
3770
3928
|
container-type: inline-size;
|
|
3771
|
-
margin
|
|
3929
|
+
margin: 0;
|
|
3772
3930
|
min-inline-size: 0;
|
|
3773
3931
|
}
|
|
3774
3932
|
|
|
3775
|
-
:where(.bf-theme) :where(.bf-quote-wrapper.is-shallow) {
|
|
3776
|
-
margin-block-end: var(--bf-section-space-shallow);
|
|
3777
|
-
}
|
|
3778
|
-
|
|
3779
3933
|
:where(.bf-theme) :where(.bf-quote-wrapper-header, .bf-quote-wrapper-layout, .bf-quote-wrapper-signpost, .bf-quote-wrapper-content, .bf-quote-wrapper-citation, .bf-quote-wrapper-media) {
|
|
3780
3934
|
min-inline-size: 0;
|
|
3781
3935
|
overflow-wrap: anywhere;
|
|
@@ -3822,7 +3976,7 @@ html.u-baseline-grid::after {
|
|
|
3822
3976
|
/* The quote rail can also be a fractional grid track. Keep its media from
|
|
3823
3977
|
introducing a sub-baseline row while leaving quotation and citation rhythm
|
|
3824
3978
|
entirely baseline-compensated while its stack owns semantic gaps. */
|
|
3825
|
-
@supports (block-size: calc-size(auto, round(up, size,
|
|
3979
|
+
@supports (block-size: calc-size(auto, round(up, size, 0.0625rem))) {
|
|
3826
3980
|
:where(.bf-theme) :where(.bf-quote-wrapper-signpost > :where(img, picture, svg), .bf-quote-wrapper-media > .bf-aspect) {
|
|
3827
3981
|
block-size: calc-size(auto, round(up, size, var(--bf-baseline)));
|
|
3828
3982
|
}
|
|
@@ -3861,8 +4015,47 @@ html.u-baseline-grid::after {
|
|
|
3861
4015
|
}
|
|
3862
4016
|
|
|
3863
4017
|
@container bf-quote-wrapper (width >= 64.75rem) {
|
|
4018
|
+
:where(.bf-theme) :where(.bf-quote-wrapper-header) {
|
|
4019
|
+
grid-template-columns: repeat(8, minmax(0, 1fr));
|
|
4020
|
+
}
|
|
4021
|
+
|
|
4022
|
+
:where(.bf-theme) :where(.bf-quote-wrapper-header) > :first-child {
|
|
4023
|
+
grid-column: 1 / span 6;
|
|
4024
|
+
}
|
|
4025
|
+
|
|
4026
|
+
:where(.bf-theme) :where(.bf-quote-wrapper-header-link) {
|
|
4027
|
+
grid-column: 7 / -1;
|
|
4028
|
+
}
|
|
4029
|
+
|
|
4030
|
+
:where(.bf-theme) :where(.bf-quote-wrapper-layout) {
|
|
4031
|
+
grid-template-columns: repeat(8, minmax(0, 1fr));
|
|
4032
|
+
}
|
|
4033
|
+
|
|
4034
|
+
:where(.bf-theme) :where(.bf-quote-wrapper-signpost) {
|
|
4035
|
+
grid-column: 1 / span 2;
|
|
4036
|
+
}
|
|
4037
|
+
|
|
4038
|
+
:where(.bf-theme) :where(.bf-quote-wrapper-content, .bf-quote-wrapper-content:only-child) {
|
|
4039
|
+
display: grid;
|
|
4040
|
+
grid-column: 3 / -1;
|
|
4041
|
+
grid-template-columns: subgrid;
|
|
4042
|
+
}
|
|
4043
|
+
|
|
3864
4044
|
:where(.bf-theme) :where(.bf-quote-wrapper-quote-row) {
|
|
3865
|
-
grid-
|
|
4045
|
+
grid-column: 1 / -1;
|
|
4046
|
+
grid-template-columns: subgrid;
|
|
4047
|
+
}
|
|
4048
|
+
|
|
4049
|
+
:where(.bf-theme) :where(.bf-quote-wrapper-prose) {
|
|
4050
|
+
grid-column: 1 / span 4;
|
|
4051
|
+
}
|
|
4052
|
+
|
|
4053
|
+
:where(.bf-theme) :where(.bf-quote-wrapper-citation) {
|
|
4054
|
+
grid-column: 5 / -1;
|
|
4055
|
+
}
|
|
4056
|
+
|
|
4057
|
+
:where(.bf-theme) :where(.bf-quote-wrapper-content) > :where(.bf-cta-block, .bf-quote-wrapper-media) {
|
|
4058
|
+
grid-column: 1 / -1;
|
|
3866
4059
|
}
|
|
3867
4060
|
}
|
|
3868
4061
|
|
|
@@ -3875,19 +4068,13 @@ html.u-baseline-grid::after {
|
|
|
3875
4068
|
container-name: bf-rich-list;
|
|
3876
4069
|
container-type: inline-size;
|
|
3877
4070
|
min-inline-size: 0;
|
|
3878
|
-
padding-block-end: calc(var(--bf-section-space) / 2);
|
|
3879
|
-
}
|
|
3880
|
-
|
|
3881
|
-
:where(.bf-theme) :where(.bf-rich-list.is-shallow) {
|
|
3882
|
-
padding-block-end: var(--bf-section-space-shallow);
|
|
3883
|
-
}
|
|
3884
|
-
|
|
3885
|
-
:where(.bf-theme) :where(.bf-rich-list.is-deep) {
|
|
3886
|
-
padding-block-end: calc(var(--bf-section-space-deep) / 2);
|
|
3887
4071
|
}
|
|
3888
4072
|
|
|
3889
4073
|
:where(.bf-theme) :where(.bf-rich-list-layout) {
|
|
4074
|
+
--bf-stack-space: var(--bf-space-1);
|
|
4075
|
+
align-content: start;
|
|
3890
4076
|
display: grid;
|
|
4077
|
+
gap: var(--bf-stack-space);
|
|
3891
4078
|
grid-template-columns: minmax(0, 1fr);
|
|
3892
4079
|
min-inline-size: 0;
|
|
3893
4080
|
}
|
|
@@ -3902,14 +4089,11 @@ html.u-baseline-grid::after {
|
|
|
3902
4089
|
overflow-wrap: anywhere;
|
|
3903
4090
|
}
|
|
3904
4091
|
|
|
3905
|
-
|
|
3906
|
-
|
|
3907
|
-
|
|
3908
|
-
|
|
3909
|
-
|
|
3910
|
-
:where(.bf-theme) :where(.bf-rich-list.is-deep) {
|
|
3911
|
-
padding-block-end: var(--bf-section-space-deep);
|
|
3912
|
-
}
|
|
4092
|
+
:where(.bf-theme) :where(.bf-rich-list-support, .bf-rich-list-content) {
|
|
4093
|
+
--bf-stack-space: var(--bf-space-1);
|
|
4094
|
+
align-content: start;
|
|
4095
|
+
display: grid;
|
|
4096
|
+
gap: var(--bf-stack-space);
|
|
3913
4097
|
}
|
|
3914
4098
|
|
|
3915
4099
|
/* ------------------------------------------------------------------ */
|
|
@@ -3936,7 +4120,7 @@ html.u-baseline-grid::after {
|
|
|
3936
4120
|
/* A full-width ratio inside a fluid Sites rail otherwise leaves the next
|
|
3937
4121
|
heading on a fractional pixel. The visual alone absorbs the trailing
|
|
3938
4122
|
compensation; semantic children retain their own margins unchanged. */
|
|
3939
|
-
@supports (block-size: calc-size(auto, round(up, size,
|
|
4123
|
+
@supports (block-size: calc-size(auto, round(up, size, 0.0625rem))) {
|
|
3940
4124
|
:where(.bf-theme) :where(.bf-rich-list-visual > .bf-aspect) {
|
|
3941
4125
|
block-size: calc-size(auto, round(up, size, var(--bf-baseline)));
|
|
3942
4126
|
}
|
|
@@ -3975,8 +4159,12 @@ html.u-baseline-grid::after {
|
|
|
3975
4159
|
|
|
3976
4160
|
/* Prefixes are logical here even though the shared list predates BF's
|
|
3977
4161
|
logical-property rule. This keeps ticks, bullets and numbers RTL-safe. */
|
|
4162
|
+
:where(.bf-theme) :where(.bf-rich-list-list:has(> .bf-list-item:is(.is-ticked, .is-crossed)), .bf-rich-list-list.is-bulleted, ol.bf-rich-list-list) {
|
|
4163
|
+
padding-inline-start: var(--bf-leading-mark-group-inset);
|
|
4164
|
+
}
|
|
4165
|
+
|
|
3978
4166
|
:where(.bf-theme) :where(.bf-rich-list-list) > .bf-list-item:is(.is-ticked, .is-crossed) {
|
|
3979
|
-
padding-inline-start:
|
|
4167
|
+
padding-inline-start: var(--bf-leading-mark-offset);
|
|
3980
4168
|
}
|
|
3981
4169
|
|
|
3982
4170
|
:where(.bf-theme) :where(.bf-rich-list-list) > .bf-list-item:is(.is-ticked, .is-crossed)::before {
|
|
@@ -3986,7 +4174,7 @@ html.u-baseline-grid::after {
|
|
|
3986
4174
|
}
|
|
3987
4175
|
|
|
3988
4176
|
:where(.bf-theme) :where(.bf-rich-list-list.is-bulleted) > :where(.bf-list-item) {
|
|
3989
|
-
padding-inline-start:
|
|
4177
|
+
padding-inline-start: var(--bf-leading-mark-offset);
|
|
3990
4178
|
}
|
|
3991
4179
|
|
|
3992
4180
|
:where(.bf-theme) :where(.bf-rich-list-list.is-bulleted) > :where(.bf-list-item)::before {
|
|
@@ -4005,7 +4193,7 @@ html.u-baseline-grid::after {
|
|
|
4005
4193
|
|
|
4006
4194
|
:where(.bf-theme) :where(ol.bf-rich-list-list) > :where(.bf-list-item) {
|
|
4007
4195
|
counter-increment: bf-rich-horizontal-counter;
|
|
4008
|
-
padding-inline-start:
|
|
4196
|
+
padding-inline-start: var(--bf-leading-mark-offset);
|
|
4009
4197
|
}
|
|
4010
4198
|
|
|
4011
4199
|
:where(.bf-theme) :where(ol.bf-rich-list-list) > :where(.bf-list-item)::before {
|
|
@@ -4052,7 +4240,7 @@ html.u-baseline-grid::after {
|
|
|
4052
4240
|
}
|
|
4053
4241
|
}
|
|
4054
4242
|
|
|
4055
|
-
@container bf-rich-list (width >=
|
|
4243
|
+
@container bf-rich-list (width >= 45rem) {
|
|
4056
4244
|
:where(.bf-theme) :where(.bf-rich-list.is-horizontal.is-50-50) > :where(.bf-rich-list-layout) {
|
|
4057
4245
|
column-gap: var(--bf-grid-gap-inline);
|
|
4058
4246
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
@@ -4066,7 +4254,7 @@ html.u-baseline-grid::after {
|
|
|
4066
4254
|
grid-column: 2;
|
|
4067
4255
|
}
|
|
4068
4256
|
|
|
4069
|
-
:where(.bf-theme) :where(.bf-rich-list.is-horizontal) > :where(.bf-rich-list-layout) > :where(.bf-rich-list-cta) {
|
|
4257
|
+
:where(.bf-theme) :where(.bf-rich-list.is-horizontal.is-50-50) > :where(.bf-rich-list-layout) > :where(.bf-rich-list-cta) {
|
|
4070
4258
|
grid-column: 2;
|
|
4071
4259
|
}
|
|
4072
4260
|
}
|
|
@@ -4081,7 +4269,6 @@ html.u-baseline-grid::after {
|
|
|
4081
4269
|
|
|
4082
4270
|
:where(.bf-theme) :where(.bf-rich-list.is-vertical) :where(.bf-rich-list-media) {
|
|
4083
4271
|
container-type: inline-size;
|
|
4084
|
-
padding-block-end: var(--bf-section-space-shallow);
|
|
4085
4272
|
}
|
|
4086
4273
|
|
|
4087
4274
|
:where(.bf-theme) :where(.bf-rich-list.is-vertical.is-flipped) :where(.bf-rich-list-media) {
|
|
@@ -4100,7 +4287,7 @@ html.u-baseline-grid::after {
|
|
|
4100
4287
|
/* The media object deliberately stretches across fluid 1/2 and 2/3 ratios.
|
|
4101
4288
|
Snap that resulting block, rather than resetting content spacing, so each
|
|
4102
4289
|
tier's baseline survives both portrait and landscape allocations. */
|
|
4103
|
-
@supports (block-size: calc-size(auto, round(up, size,
|
|
4290
|
+
@supports (block-size: calc-size(auto, round(up, size, 0.0625rem))) {
|
|
4104
4291
|
:where(.bf-theme) :where(.bf-rich-list-media-frame) {
|
|
4105
4292
|
block-size: calc-size(auto, round(up, size, var(--bf-baseline)));
|
|
4106
4293
|
}
|
|
@@ -4143,11 +4330,7 @@ html.u-baseline-grid::after {
|
|
|
4143
4330
|
/* Auto height has no shallow media wrapper in Vanilla. At narrow widths it
|
|
4144
4331
|
remains a normal 3:2 frame; at the wide split it stretches with the content
|
|
4145
4332
|
rail, clamped between the equivalent 16:9 and 2:3 heights. */
|
|
4146
|
-
|
|
4147
|
-
padding-block-end: 0;
|
|
4148
|
-
}
|
|
4149
|
-
|
|
4150
|
-
@container bf-rich-list (width >= 64.75rem) {
|
|
4333
|
+
@container bf-rich-list (width >= 45rem) {
|
|
4151
4334
|
:where(.bf-theme) :where(.bf-rich-list.is-vertical) > :where(.bf-rich-list-layout) {
|
|
4152
4335
|
align-items: stretch;
|
|
4153
4336
|
column-gap: var(--bf-grid-gap-inline);
|
|
@@ -4196,7 +4379,7 @@ html.u-baseline-grid::after {
|
|
|
4196
4379
|
min-block-size: 56.25cqi;
|
|
4197
4380
|
}
|
|
4198
4381
|
|
|
4199
|
-
@supports (min-block-size: round(up,
|
|
4382
|
+
@supports (min-block-size: round(up, 0.0625rem, 0.0625rem)) {
|
|
4200
4383
|
:where(.bf-theme) :where(.bf-rich-list-media.is-auto-height) :where(.bf-rich-list-media-frame) {
|
|
4201
4384
|
max-block-size: round(down, 150cqi, var(--bf-baseline));
|
|
4202
4385
|
min-block-size: round(up, 56.25cqi, var(--bf-baseline));
|
|
@@ -4214,6 +4397,7 @@ html.u-baseline-grid::after {
|
|
|
4214
4397
|
|
|
4215
4398
|
|
|
4216
4399
|
:where(.bf-theme) :where(.bf-panel) {
|
|
4400
|
+
--bf-panel-content-padding-inline: var(--bf-component-inline-inset-continuation);
|
|
4217
4401
|
background: var(--bf-color-background-default);
|
|
4218
4402
|
color: var(--bf-color-text-default);
|
|
4219
4403
|
display: flex;
|
|
@@ -4236,6 +4420,9 @@ html.u-baseline-grid::after {
|
|
|
4236
4420
|
overscroll-behavior: contain;
|
|
4237
4421
|
}
|
|
4238
4422
|
|
|
4423
|
+
/* Panel chrome and content consume the live page-grid gutter through a local
|
|
4424
|
+
* derived property, so their internal text rails follow the same
|
|
4425
|
+
* viewport brackets as surrounding page content. */
|
|
4239
4426
|
:where(.bf-theme) :where(.bf-panel-header) {
|
|
4240
4427
|
align-items: start;
|
|
4241
4428
|
display: flex;
|
|
@@ -4244,7 +4431,7 @@ html.u-baseline-grid::after {
|
|
|
4244
4431
|
justify-content: space-between;
|
|
4245
4432
|
padding-block-end: var(--bf-panel-padding-block);
|
|
4246
4433
|
padding-block-start: var(--bf-panel-padding-block);
|
|
4247
|
-
padding-inline: var(--bf-panel-padding-inline);
|
|
4434
|
+
padding-inline: var(--bf-panel-content-padding-inline, var(--bf-panel-padding-inline));
|
|
4248
4435
|
}
|
|
4249
4436
|
|
|
4250
4437
|
/* A navigation brand keeps the Canonical tag attached to the panel's top edge
|
|
@@ -4254,7 +4441,7 @@ html.u-baseline-grid::after {
|
|
|
4254
4441
|
gap: 0;
|
|
4255
4442
|
padding-block: 0;
|
|
4256
4443
|
padding-inline-end: 0;
|
|
4257
|
-
padding-inline-start: var(--bf-panel-padding-inline);
|
|
4444
|
+
padding-inline-start: var(--bf-panel-content-padding-inline, var(--bf-panel-padding-inline));
|
|
4258
4445
|
}
|
|
4259
4446
|
|
|
4260
4447
|
:where(.bf-theme) :where(.bf-panel-header.is-navigation-brand) > :where(.bf-top-navigation-logo.is-canonical-tagged) {
|
|
@@ -4285,10 +4472,10 @@ html.u-baseline-grid::after {
|
|
|
4285
4472
|
flex-wrap: wrap;
|
|
4286
4473
|
gap: var(--bf-field-gap);
|
|
4287
4474
|
justify-content: space-between;
|
|
4288
|
-
min-block-size: calc(var(--bf-control-box-size-compact) +
|
|
4475
|
+
min-block-size: calc(var(--bf-control-box-size-compact) + var(--bf-panel-padding-block));
|
|
4289
4476
|
padding-block-end: var(--bf-panel-padding-block);
|
|
4290
|
-
padding-block-start:
|
|
4291
|
-
padding-inline: var(--bf-panel-padding-inline);
|
|
4477
|
+
padding-block-start: 0;
|
|
4478
|
+
padding-inline: var(--bf-panel-content-padding-inline, var(--bf-panel-padding-inline));
|
|
4292
4479
|
}
|
|
4293
4480
|
|
|
4294
4481
|
:where(.bf-theme) :where(.bf-panel-footer.is-sticky) {
|
|
@@ -4350,8 +4537,8 @@ html.u-baseline-grid::after {
|
|
|
4350
4537
|
}
|
|
4351
4538
|
|
|
4352
4539
|
:where(.bf-theme) :where(.bf-panel-toggle:focus-visible) {
|
|
4353
|
-
outline:
|
|
4354
|
-
outline-offset:
|
|
4540
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
4541
|
+
outline-offset: 0.125rem;
|
|
4355
4542
|
}
|
|
4356
4543
|
|
|
4357
4544
|
:where(.bf-theme) :where(.bf-panel-content) {
|
|
@@ -4359,7 +4546,7 @@ html.u-baseline-grid::after {
|
|
|
4359
4546
|
min-block-size: 0;
|
|
4360
4547
|
padding-block-end: var(--bf-panel-padding-block);
|
|
4361
4548
|
padding-block-start: var(--bf-panel-padding-block);
|
|
4362
|
-
padding-inline: var(--bf-panel-padding-inline);
|
|
4549
|
+
padding-inline: var(--bf-panel-content-padding-inline, var(--bf-panel-padding-inline));
|
|
4363
4550
|
}
|
|
4364
4551
|
|
|
4365
4552
|
:where(.bf-theme) :where(.bf-panel-content.is-flush) {
|
|
@@ -4384,7 +4571,7 @@ html.u-baseline-grid::after {
|
|
|
4384
4571
|
overflow: auto;
|
|
4385
4572
|
padding-block-end: calc(var(--bf-panel-padding-block) - var(--bf-border-width));
|
|
4386
4573
|
padding-block-start: calc(var(--bf-panel-padding-block) - var(--bf-border-width));
|
|
4387
|
-
padding-inline: var(--bf-
|
|
4574
|
+
padding-inline: var(--bf-component-inline-inset-continuation);
|
|
4388
4575
|
}
|
|
4389
4576
|
|
|
4390
4577
|
:where(.bf-theme) :where(.bf-card.is-highlighted) {
|
|
@@ -4409,7 +4596,7 @@ html.u-baseline-grid::after {
|
|
|
4409
4596
|
|
|
4410
4597
|
:where(.bf-theme) :where(a.bf-card:hover, a.bf-card.is-highlighted:hover, a.bf-card.is-overlay:hover, a.bf-card.is-muted:hover) {
|
|
4411
4598
|
border-color: var(--bf-color-focus);
|
|
4412
|
-
transform: translateY(-
|
|
4599
|
+
transform: translateY(-0.0625rem);
|
|
4413
4600
|
}
|
|
4414
4601
|
|
|
4415
4602
|
:where(.bf-theme) :where(a.bf-card:focus:not(:focus-visible), a.bf-card.is-highlighted:focus:not(:focus-visible), a.bf-card.is-overlay:focus:not(:focus-visible), a.bf-card.is-muted:focus:not(:focus-visible)) {
|
|
@@ -4417,8 +4604,8 @@ html.u-baseline-grid::after {
|
|
|
4417
4604
|
}
|
|
4418
4605
|
|
|
4419
4606
|
:where(.bf-theme) :where(a.bf-card:focus-visible, a.bf-card.is-highlighted:focus-visible, a.bf-card.is-overlay:focus-visible, a.bf-card.is-muted:focus-visible) {
|
|
4420
|
-
outline:
|
|
4421
|
-
outline-offset: -
|
|
4607
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
4608
|
+
outline-offset: -0.125rem;
|
|
4422
4609
|
}
|
|
4423
4610
|
|
|
4424
4611
|
:where(.bf-theme) :where(.bf-card.is-preview) {
|
|
@@ -4501,7 +4688,7 @@ html.u-baseline-grid::after {
|
|
|
4501
4688
|
min-inline-size: 0;
|
|
4502
4689
|
padding-block-end: calc(var(--bf-panel-padding-block) - var(--bf-border-width));
|
|
4503
4690
|
padding-block-start: calc(var(--bf-panel-padding-block) - var(--bf-border-width));
|
|
4504
|
-
padding-inline: var(--bf-
|
|
4691
|
+
padding-inline: var(--bf-component-inline-inset-continuation);
|
|
4505
4692
|
text-align: left;
|
|
4506
4693
|
}
|
|
4507
4694
|
|
|
@@ -4514,7 +4701,7 @@ html.u-baseline-grid::after {
|
|
|
4514
4701
|
:where(.bf-theme) :where(button.bf-option-card:hover:not(:disabled)) {
|
|
4515
4702
|
background: var(--bf-color-background-hover);
|
|
4516
4703
|
border-color: var(--bf-color-focus);
|
|
4517
|
-
transform: translateY(-
|
|
4704
|
+
transform: translateY(-0.0625rem);
|
|
4518
4705
|
}
|
|
4519
4706
|
|
|
4520
4707
|
:where(.bf-theme) :where(.bf-option-card.is-active),
|
|
@@ -4525,8 +4712,8 @@ html.u-baseline-grid::after {
|
|
|
4525
4712
|
}
|
|
4526
4713
|
|
|
4527
4714
|
:where(.bf-theme) :where(button.bf-option-card:focus-visible) {
|
|
4528
|
-
outline:
|
|
4529
|
-
outline-offset: -
|
|
4715
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
4716
|
+
outline-offset: -0.125rem;
|
|
4530
4717
|
}
|
|
4531
4718
|
|
|
4532
4719
|
:where(.bf-theme) :where(.bf-option-card-label) {
|
|
@@ -4574,7 +4761,7 @@ html.u-baseline-grid::after {
|
|
|
4574
4761
|
/* Snap the grid-row wrapper after intrinsic image/copy measurement. Because
|
|
4575
4762
|
the card flexes inside it, peers retain Vanilla's equal-height row while
|
|
4576
4763
|
the card edge and the following row both land on BF baselines. */
|
|
4577
|
-
@supports (block-size: calc-size(auto, round(up, size,
|
|
4764
|
+
@supports (block-size: calc-size(auto, round(up, size, 0.0625rem))) {
|
|
4578
4765
|
:where(.bf-theme) :where(.bf-content-card-wrapper) {
|
|
4579
4766
|
block-size: calc-size(auto, round(up, size, var(--bf-baseline)));
|
|
4580
4767
|
}
|
|
@@ -4751,7 +4938,7 @@ html.u-baseline-grid::after {
|
|
|
4751
4938
|
text-transform: var(--bf-h1-text-transform);
|
|
4752
4939
|
}
|
|
4753
4940
|
|
|
4754
|
-
:where(.bf-theme) :where(.bf-content-card-main-link) {
|
|
4941
|
+
:where(.bf-theme) :where(a.bf-content-card-main-link) {
|
|
4755
4942
|
-webkit-box-orient: vertical;
|
|
4756
4943
|
-webkit-line-clamp: 3;
|
|
4757
4944
|
color: inherit;
|
|
@@ -4771,7 +4958,7 @@ html.u-baseline-grid::after {
|
|
|
4771
4958
|
z-index: 1;
|
|
4772
4959
|
}
|
|
4773
4960
|
|
|
4774
|
-
:where(.bf-theme) :where(.bf-content-card-main-link:is(:hover, :focus, :active, :visited)) {
|
|
4961
|
+
:where(.bf-theme) :where(a.bf-content-card-main-link:is(:hover, :focus, :active, :visited)) {
|
|
4775
4962
|
color: inherit;
|
|
4776
4963
|
text-decoration: none;
|
|
4777
4964
|
}
|
|
@@ -4781,8 +4968,8 @@ html.u-baseline-grid::after {
|
|
|
4781
4968
|
}
|
|
4782
4969
|
|
|
4783
4970
|
:where(.bf-theme) :where(.bf-content-card:has(.bf-content-card-main-link:focus-visible)) {
|
|
4784
|
-
outline:
|
|
4785
|
-
outline-offset:
|
|
4971
|
+
outline: 0.1875rem solid var(--bf-color-focus);
|
|
4972
|
+
outline-offset: 0.125rem;
|
|
4786
4973
|
}
|
|
4787
4974
|
|
|
4788
4975
|
/* All nested actions sit above the expanded main-link hit area. This includes
|
|
@@ -4858,6 +5045,7 @@ html.u-baseline-grid::after {
|
|
|
4858
5045
|
min-inline-size: 0;
|
|
4859
5046
|
overflow-x: auto;
|
|
4860
5047
|
padding-block-end: var(--bf-space-1);
|
|
5048
|
+
padding-block-start: calc(0.5rem - var(--bf-border-width));
|
|
4861
5049
|
padding-inline: var(--bf-space-2);
|
|
4862
5050
|
position: relative;
|
|
4863
5051
|
scrollbar-width: none;
|
|
@@ -4895,11 +5083,11 @@ html.u-baseline-grid::after {
|
|
|
4895
5083
|
|
|
4896
5084
|
/* Internal geometry responds to the card's allocated width. The card root is
|
|
4897
5085
|
only the container; the frame/media/body descendants own queried styles. */
|
|
4898
|
-
/* Vanilla switches the viewport at
|
|
5086
|
+
/* Vanilla switches the viewport at 38.75rem/64.75rem. A four-column card is much
|
|
4899
5087
|
narrower than that viewport after grid margins and gutters, so its internal
|
|
4900
|
-
horizontal layout uses Vanilla's
|
|
4901
|
-
eight-column 50/50 split starts at the roughly
|
|
4902
|
-
|
|
5088
|
+
horizontal layout uses Vanilla's 28.75rem minimum viable allocation. The
|
|
5089
|
+
eight-column 50/50 split starts at the roughly 60rem allocation left by the
|
|
5090
|
+
64.75rem viewport. This preserves the rendered switch in embedded BF grids. */
|
|
4903
5091
|
@container bf-content-card (width < 28.75rem) {
|
|
4904
5092
|
:where(.bf-theme) :where(.bf-content-card-frame:not(:has(.bf-content-card-footer))) {
|
|
4905
5093
|
min-block-size: 0;
|
|
@@ -5051,18 +5239,16 @@ html.u-baseline-grid::after {
|
|
|
5051
5239
|
|
|
5052
5240
|
:where(.bf-theme) :where(.bf-tabs) {
|
|
5053
5241
|
display: grid;
|
|
5242
|
+
gap: var(--bf-space-2);
|
|
5054
5243
|
min-inline-size: 0;
|
|
5055
5244
|
}
|
|
5056
5245
|
|
|
5057
5246
|
:where(.bf-theme) :where(.bf-tabs-list) {
|
|
5058
|
-
|
|
5247
|
+
box-shadow: inset 0 calc(var(--bf-border-width) * -1) 0 var(--bf-color-border-default);
|
|
5059
5248
|
display: flex;
|
|
5060
5249
|
gap: 0;
|
|
5061
5250
|
list-style: none;
|
|
5062
|
-
|
|
5063
|
-
than leaving each link's control compensation between its active rule and
|
|
5064
|
-
the list rule. */
|
|
5065
|
-
margin: 0 0 calc((var(--bf-baseline) * 2) - var(--bf-border-width));
|
|
5251
|
+
margin: 0;
|
|
5066
5252
|
min-inline-size: 0;
|
|
5067
5253
|
overflow-x: auto;
|
|
5068
5254
|
padding: 0;
|
|
@@ -5084,16 +5270,16 @@ html.u-baseline-grid::after {
|
|
|
5084
5270
|
align-items: center;
|
|
5085
5271
|
background: transparent;
|
|
5086
5272
|
border: 0;
|
|
5087
|
-
border-
|
|
5273
|
+
border-block: var(--bf-border-width) solid transparent;
|
|
5088
5274
|
color: var(--bf-color-text-muted);
|
|
5089
5275
|
cursor: pointer;
|
|
5090
|
-
display:
|
|
5276
|
+
display: flex;
|
|
5091
5277
|
gap: calc(var(--bf-baseline) * 0.5);
|
|
5092
5278
|
justify-content: center;
|
|
5093
5279
|
margin-bottom: 0;
|
|
5094
|
-
padding-block-end: calc(var(--bf-
|
|
5095
|
-
padding-block-start: var(--bf-
|
|
5096
|
-
padding-inline: var(--bf-
|
|
5280
|
+
padding-block-end: calc(var(--bf-single-line-row-padding-block) + var(--bf-single-line-row-margin-block-end));
|
|
5281
|
+
padding-block-start: var(--bf-single-line-row-padding-block);
|
|
5282
|
+
padding-inline: var(--bf-component-inline-inset-action);
|
|
5097
5283
|
text-decoration: none;
|
|
5098
5284
|
}
|
|
5099
5285
|
|
|
@@ -5102,18 +5288,22 @@ html.u-baseline-grid::after {
|
|
|
5102
5288
|
color: var(--bf-color-text-default);
|
|
5103
5289
|
}
|
|
5104
5290
|
|
|
5291
|
+
:where(.bf-theme) :where(a.bf-tabs-link:hover) {
|
|
5292
|
+
text-decoration: none;
|
|
5293
|
+
}
|
|
5294
|
+
|
|
5105
5295
|
:where(.bf-theme) :where(.bf-tabs-link:focus:not(:focus-visible)) {
|
|
5106
5296
|
outline: none;
|
|
5107
5297
|
}
|
|
5108
5298
|
|
|
5109
5299
|
:where(.bf-theme) :where(.bf-tabs-link:focus-visible) {
|
|
5110
5300
|
color: var(--bf-color-text-default);
|
|
5111
|
-
outline:
|
|
5112
|
-
outline-offset: -
|
|
5301
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
5302
|
+
outline-offset: -0.125rem;
|
|
5113
5303
|
}
|
|
5114
5304
|
|
|
5115
5305
|
:where(.bf-theme) :where(.bf-tabs-link.is-active, .bf-tabs-link[aria-selected='true']) {
|
|
5116
|
-
|
|
5306
|
+
box-shadow: inset 0 calc(var(--bf-bar-thickness) * -1) 0 var(--bf-color-text-default);
|
|
5117
5307
|
color: var(--bf-color-text-default);
|
|
5118
5308
|
}
|
|
5119
5309
|
|
|
@@ -5163,10 +5353,10 @@ html.u-baseline-grid::after {
|
|
|
5163
5353
|
display: grid;
|
|
5164
5354
|
gap: calc(var(--bf-baseline) * 0.75);
|
|
5165
5355
|
grid-template-columns: auto minmax(0, 1fr) auto;
|
|
5166
|
-
margin: 0 0
|
|
5356
|
+
margin: 0 0 var(--bf-single-line-row-margin-block-end);
|
|
5167
5357
|
min-inline-size: 0;
|
|
5168
|
-
padding-block:
|
|
5169
|
-
padding-inline: var(--bf-
|
|
5358
|
+
padding-block: var(--bf-single-line-row-padding-block);
|
|
5359
|
+
padding-inline: var(--bf-component-inline-inset-field);
|
|
5170
5360
|
}
|
|
5171
5361
|
|
|
5172
5362
|
:where(.bf-theme) :where(.bf-choice-row:hover) {
|
|
@@ -5174,8 +5364,8 @@ html.u-baseline-grid::after {
|
|
|
5174
5364
|
}
|
|
5175
5365
|
|
|
5176
5366
|
:where(.bf-theme) :where(.bf-choice-row:has(:focus-visible)) {
|
|
5177
|
-
outline:
|
|
5178
|
-
outline-offset: -
|
|
5367
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
5368
|
+
outline-offset: -0.125rem;
|
|
5179
5369
|
}
|
|
5180
5370
|
|
|
5181
5371
|
:where(.bf-theme) :where(.bf-choice-row input[type='radio']) {
|
|
@@ -5222,7 +5412,7 @@ html.u-baseline-grid::after {
|
|
|
5222
5412
|
gap: var(--bf-field-gap);
|
|
5223
5413
|
padding-block-end: calc(var(--bf-panel-padding-block) - var(--bf-border-width));
|
|
5224
5414
|
padding-block-start: var(--bf-panel-padding-block);
|
|
5225
|
-
padding-inline: var(--bf-
|
|
5415
|
+
padding-inline: var(--bf-component-inline-inset-continuation);
|
|
5226
5416
|
}
|
|
5227
5417
|
|
|
5228
5418
|
:where(.bf-theme) :where(.bf-inline-options-heading) {
|
|
@@ -5296,11 +5486,11 @@ html.u-baseline-grid::after {
|
|
|
5296
5486
|
cursor: pointer;
|
|
5297
5487
|
display: inline-flex;
|
|
5298
5488
|
justify-content: center;
|
|
5299
|
-
margin-bottom:
|
|
5489
|
+
margin-bottom: var(--bf-single-line-row-margin-block-end);
|
|
5300
5490
|
max-inline-size: 100%;
|
|
5301
5491
|
overflow: hidden;
|
|
5302
|
-
padding-block:
|
|
5303
|
-
padding-inline: var(--bf-control-inline-padding-action);
|
|
5492
|
+
padding-block: var(--bf-single-line-row-padding-block);
|
|
5493
|
+
padding-inline: var(--bf-control-inline-padding-action-bordered);
|
|
5304
5494
|
text-align: center;
|
|
5305
5495
|
text-decoration: none;
|
|
5306
5496
|
text-overflow: ellipsis;
|
|
@@ -5326,8 +5516,8 @@ html.u-baseline-grid::after {
|
|
|
5326
5516
|
}
|
|
5327
5517
|
|
|
5328
5518
|
:where(.bf-theme) :where(.bf-segmented-control-button:focus-visible, .bf-tab-buttons-button:focus-visible) {
|
|
5329
|
-
outline:
|
|
5330
|
-
outline-offset: -
|
|
5519
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
5520
|
+
outline-offset: -0.125rem;
|
|
5331
5521
|
z-index: 2;
|
|
5332
5522
|
}
|
|
5333
5523
|
|
|
@@ -5361,8 +5551,10 @@ html.u-baseline-grid::after {
|
|
|
5361
5551
|
font-weight: var(--bf-body-font-weight, 400);
|
|
5362
5552
|
line-height: var(--bf-body-line-height, 1.25rem);
|
|
5363
5553
|
color: var(--bf-color-text-muted);
|
|
5364
|
-
margin: 0;
|
|
5554
|
+
margin: 0 0 var(--bf-body-margin-bottom);
|
|
5365
5555
|
min-inline-size: 0;
|
|
5556
|
+
padding-block-end: 0;
|
|
5557
|
+
padding-block-start: var(--bf-body-nudge-start);
|
|
5366
5558
|
}
|
|
5367
5559
|
|
|
5368
5560
|
:where(.bf-theme) :where(.bf-breadcrumbs-item) + :where(.bf-breadcrumbs-item)::before {
|
|
@@ -5393,26 +5585,35 @@ html.u-baseline-grid::after {
|
|
|
5393
5585
|
:where(.bf-theme) :where(.bf-tab-section) {
|
|
5394
5586
|
container-name: bf-tab-section;
|
|
5395
5587
|
container-type: inline-size;
|
|
5396
|
-
margin
|
|
5588
|
+
margin: 0;
|
|
5397
5589
|
min-inline-size: 0;
|
|
5398
5590
|
}
|
|
5399
5591
|
|
|
5400
|
-
:where(.bf-theme) :where(.bf-tab-section
|
|
5401
|
-
|
|
5592
|
+
:where(.bf-theme) :where(.bf-tab-section-layout) {
|
|
5593
|
+
display: grid;
|
|
5594
|
+
grid-template-columns: minmax(0, 1fr);
|
|
5595
|
+
min-inline-size: 0;
|
|
5402
5596
|
}
|
|
5403
5597
|
|
|
5404
|
-
:where(.bf-theme) :where(.bf-tab-section
|
|
5405
|
-
|
|
5598
|
+
:where(.bf-theme) :where(.bf-tab-section-rule) {
|
|
5599
|
+
grid-column: 1 / -1;
|
|
5406
5600
|
}
|
|
5407
5601
|
|
|
5408
|
-
:where(.bf-theme) :where(.bf-tab-section-
|
|
5602
|
+
:where(.bf-theme) :where(.bf-tab-section-body) {
|
|
5603
|
+
--bf-stack-space: var(--bf-section-space-shallow);
|
|
5604
|
+
align-content: start;
|
|
5409
5605
|
display: grid;
|
|
5606
|
+
gap: var(--bf-stack-space);
|
|
5410
5607
|
grid-template-columns: minmax(0, 1fr);
|
|
5411
5608
|
min-inline-size: 0;
|
|
5412
5609
|
}
|
|
5413
5610
|
|
|
5414
|
-
:where(.bf-theme) :where(.bf-tab-section-
|
|
5415
|
-
|
|
5611
|
+
:where(.bf-theme) :where(.bf-tab-section-copy) {
|
|
5612
|
+
align-content: start;
|
|
5613
|
+
display: grid;
|
|
5614
|
+
grid-template-columns: minmax(0, 1fr);
|
|
5615
|
+
min-inline-size: 0;
|
|
5616
|
+
row-gap: var(--bf-space-1);
|
|
5416
5617
|
}
|
|
5417
5618
|
|
|
5418
5619
|
:where(.bf-theme) :where(.bf-tab-section-header, .bf-tab-section-intro, .bf-tab-section-tabs) {
|
|
@@ -5420,51 +5621,50 @@ html.u-baseline-grid::after {
|
|
|
5420
5621
|
overflow-wrap: anywhere;
|
|
5421
5622
|
}
|
|
5422
5623
|
|
|
5423
|
-
|
|
5424
|
-
|
|
5425
|
-
child's semantic margins. */
|
|
5426
|
-
:where(.bf-theme) :where(.bf-tab-section:not(.is-50-50)) > :where(.bf-tab-section-layout) > :where(.bf-tab-section-tabs),
|
|
5427
|
-
:where(.bf-theme) :where(.bf-tab-section.is-50-50) > :where(.bf-tab-section-layout:has(> .bf-tab-section-intro)) > :where(.bf-tab-section-tabs) {
|
|
5428
|
-
padding-block-start: var(--bf-section-space-shallow);
|
|
5624
|
+
:where(.bf-theme) :where(.bf-tab-section-tabs) {
|
|
5625
|
+
align-self: start;
|
|
5429
5626
|
}
|
|
5430
5627
|
|
|
5431
|
-
@container bf-tab-section (width >=
|
|
5432
|
-
:where(.bf-theme) :where(.bf-tab-section
|
|
5628
|
+
@container bf-tab-section (width >= 45rem) {
|
|
5629
|
+
:where(.bf-theme) :where(.bf-tab-section-body) {
|
|
5433
5630
|
column-gap: var(--bf-grid-gap-inline);
|
|
5434
5631
|
grid-template-columns: repeat(4, minmax(0, 1fr));
|
|
5435
5632
|
}
|
|
5436
5633
|
|
|
5437
|
-
:where(.bf-theme) :where(.bf-tab-section
|
|
5634
|
+
:where(.bf-theme) :where(.bf-tab-section-copy) {
|
|
5438
5635
|
grid-column: 1 / -1;
|
|
5636
|
+
grid-template-columns: subgrid;
|
|
5439
5637
|
}
|
|
5440
5638
|
|
|
5441
5639
|
/* With supporting copy or actions, Vanilla's heading row is 50/50 for all
|
|
5442
5640
|
three section layouts. The following tab rail retains its own requested
|
|
5443
5641
|
full, half or three-quarter span. */
|
|
5444
|
-
:where(.bf-theme) :where(.bf-tab-section-
|
|
5642
|
+
:where(.bf-theme) :where(.bf-tab-section-copy:has(> .bf-tab-section-intro)) > :where(.bf-tab-section-header) {
|
|
5445
5643
|
grid-column: 1 / 3;
|
|
5446
5644
|
}
|
|
5447
5645
|
|
|
5448
|
-
:where(.bf-theme) :where(.bf-tab-section
|
|
5646
|
+
:where(.bf-theme) :where(.bf-tab-section-copy) > :where(.bf-tab-section-intro) {
|
|
5449
5647
|
grid-column: 3 / -1;
|
|
5450
5648
|
}
|
|
5451
5649
|
|
|
5452
|
-
:where(.bf-theme) :where(.bf-tab-section
|
|
5650
|
+
:where(.bf-theme) :where(.bf-tab-section-body) > :where(.bf-tab-section-tabs) {
|
|
5453
5651
|
grid-column: 1 / -1;
|
|
5454
5652
|
}
|
|
5455
5653
|
|
|
5456
5654
|
/* An unadorned 50/50 section lets auto-placement put the heading and tabs
|
|
5457
5655
|
in the same row. If an intro exists, it occupies that right-hand cell and
|
|
5458
5656
|
the tabs move to the following row, matching the upstream rendering. */
|
|
5459
|
-
:where(.bf-theme) :where(.bf-tab-section.is-50-50)
|
|
5657
|
+
:where(.bf-theme) :where(.bf-tab-section.is-50-50) :where(.bf-tab-section-copy:not(:has(> .bf-tab-section-intro))) {
|
|
5460
5658
|
grid-column: 1 / 3;
|
|
5659
|
+
grid-row: 1;
|
|
5461
5660
|
}
|
|
5462
5661
|
|
|
5463
|
-
:where(.bf-theme) :where(.bf-tab-section.is-50-50)
|
|
5662
|
+
:where(.bf-theme) :where(.bf-tab-section.is-50-50) :where(.bf-tab-section-copy:not(:has(> .bf-tab-section-intro))) + :where(.bf-tab-section-tabs) {
|
|
5464
5663
|
grid-column: 3 / -1;
|
|
5664
|
+
grid-row: 1;
|
|
5465
5665
|
}
|
|
5466
5666
|
|
|
5467
|
-
:where(.bf-theme) :where(.bf-tab-section.is-25-75)
|
|
5667
|
+
:where(.bf-theme) :where(.bf-tab-section.is-25-75) :where(.bf-tab-section-body) > :where(.bf-tab-section-tabs) {
|
|
5468
5668
|
grid-column: 2 / -1;
|
|
5469
5669
|
}
|
|
5470
5670
|
}
|
|
@@ -5475,11 +5675,11 @@ html.u-baseline-grid::after {
|
|
|
5475
5675
|
container-type: inline-size;
|
|
5476
5676
|
display: grid;
|
|
5477
5677
|
grid-template-columns: auto minmax(0, 1fr);
|
|
5478
|
-
margin
|
|
5678
|
+
margin: 0;
|
|
5479
5679
|
min-inline-size: 0;
|
|
5480
5680
|
}
|
|
5481
5681
|
|
|
5482
|
-
:where(.bf-theme) :where(.bf-article-pagination-link) {
|
|
5682
|
+
:where(.bf-theme) :where(a.bf-article-pagination-link) {
|
|
5483
5683
|
background-color: var(--bf-color-background-default);
|
|
5484
5684
|
border: var(--bf-border-width) solid transparent;
|
|
5485
5685
|
box-sizing: border-box;
|
|
@@ -5495,8 +5695,9 @@ html.u-baseline-grid::after {
|
|
|
5495
5695
|
text-decoration: none;
|
|
5496
5696
|
}
|
|
5497
5697
|
|
|
5498
|
-
:where(.bf-theme) :where(.bf-article-pagination-link:hover) {
|
|
5698
|
+
:where(.bf-theme) :where(a.bf-article-pagination-link:hover) {
|
|
5499
5699
|
background-color: var(--bf-color-background-hover);
|
|
5700
|
+
text-decoration: none;
|
|
5500
5701
|
}
|
|
5501
5702
|
|
|
5502
5703
|
:where(.bf-theme) :where(.bf-article-pagination-link:focus:not(:focus-visible)) {
|
|
@@ -5504,8 +5705,8 @@ html.u-baseline-grid::after {
|
|
|
5504
5705
|
}
|
|
5505
5706
|
|
|
5506
5707
|
:where(.bf-theme) :where(.bf-article-pagination-link:focus-visible) {
|
|
5507
|
-
outline:
|
|
5508
|
-
outline-offset:
|
|
5708
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
5709
|
+
outline-offset: 0.125rem;
|
|
5509
5710
|
}
|
|
5510
5711
|
|
|
5511
5712
|
:where(.bf-theme) :where(.bf-article-pagination-link.is-previous) {
|
|
@@ -5607,12 +5808,12 @@ html.u-baseline-grid::after {
|
|
|
5607
5808
|
|
|
5608
5809
|
:where(.bf-theme) :where(.bf-article-pagination-link.is-previous:not(:only-child) .bf-article-pagination-label),
|
|
5609
5810
|
:where(.bf-theme) :where(.bf-article-pagination-link.is-previous:not(:only-child) .bf-article-pagination-title) {
|
|
5610
|
-
block-size:
|
|
5811
|
+
block-size: 0.0625rem;
|
|
5611
5812
|
border: 0;
|
|
5612
5813
|
clip: rect(0 0 0 0);
|
|
5613
5814
|
clip-path: inset(50%);
|
|
5614
|
-
inline-size:
|
|
5615
|
-
margin: -
|
|
5815
|
+
inline-size: 0.0625rem;
|
|
5816
|
+
margin: -0.0625rem;
|
|
5616
5817
|
overflow: hidden;
|
|
5617
5818
|
padding: 0;
|
|
5618
5819
|
position: absolute;
|
|
@@ -5630,6 +5831,10 @@ html.u-baseline-grid::after {
|
|
|
5630
5831
|
padding: 0;
|
|
5631
5832
|
}
|
|
5632
5833
|
|
|
5834
|
+
:where(.bf-theme) :where(.bf-list:has(> .bf-list-item:is(.is-ticked, .is-crossed)), ol.bf-list.is-divided) {
|
|
5835
|
+
padding-inline-start: var(--bf-leading-mark-group-inset);
|
|
5836
|
+
}
|
|
5837
|
+
|
|
5633
5838
|
:where(.bf-theme) :where(.bf-list-item) {
|
|
5634
5839
|
font-family: var(--bf-body-font-family, "Ubuntu Sans", "Segoe UI", system-ui, sans-serif);
|
|
5635
5840
|
font-size: var(--bf-body-font-size, 0.875rem);
|
|
@@ -5645,8 +5850,10 @@ html.u-baseline-grid::after {
|
|
|
5645
5850
|
}
|
|
5646
5851
|
|
|
5647
5852
|
:where(.bf-theme) :where(.bf-list.is-divided) > :where(.bf-list-item) {
|
|
5648
|
-
|
|
5649
|
-
|
|
5853
|
+
border-block: var(--bf-border-width) solid transparent;
|
|
5854
|
+
box-shadow: inset 0 0.0625rem 0 var(--bf-color-border-low-contrast);
|
|
5855
|
+
margin-block-end: var(--bf-single-line-row-margin-block-end);
|
|
5856
|
+
padding-block: var(--bf-single-line-row-padding-block);
|
|
5650
5857
|
}
|
|
5651
5858
|
|
|
5652
5859
|
:where(.bf-theme) :where(.bf-list.is-divided) > :where(.bf-list-item:first-child) {
|
|
@@ -5654,7 +5861,7 @@ html.u-baseline-grid::after {
|
|
|
5654
5861
|
}
|
|
5655
5862
|
|
|
5656
5863
|
:where(.bf-theme) :where(.bf-list-item.is-ticked, .bf-list-item.is-crossed) {
|
|
5657
|
-
padding-inline-start:
|
|
5864
|
+
padding-inline-start: var(--bf-leading-mark-offset);
|
|
5658
5865
|
position: relative;
|
|
5659
5866
|
}
|
|
5660
5867
|
|
|
@@ -5679,10 +5886,6 @@ html.u-baseline-grid::after {
|
|
|
5679
5886
|
background-image: var(--bf-ui-icon-error-grey);
|
|
5680
5887
|
}
|
|
5681
5888
|
|
|
5682
|
-
:where(.bf-theme) :where(.bf-list.is-divided) > :where(.bf-list-item.is-ticked, .bf-list-item.is-crossed)::before {
|
|
5683
|
-
top: calc(var(--bf-leading-icon-offset) + (var(--bf-baseline) * 0.5));
|
|
5684
|
-
}
|
|
5685
|
-
|
|
5686
5889
|
:where(.bf-theme) :where(ol.bf-list.is-divided) {
|
|
5687
5890
|
counter-reset: bf-list-counter;
|
|
5688
5891
|
}
|
|
@@ -5764,11 +5967,11 @@ html.u-baseline-grid::after {
|
|
|
5764
5967
|
background: var(--bf-color-background-alt);
|
|
5765
5968
|
color: var(--bf-color-link-default);
|
|
5766
5969
|
display: block;
|
|
5767
|
-
left: -
|
|
5970
|
+
left: -62.4375rem;
|
|
5768
5971
|
max-inline-size: calc(100vw - var(--bf-baseline));
|
|
5769
5972
|
position: absolute;
|
|
5770
5973
|
text-decoration: none;
|
|
5771
|
-
top: -
|
|
5974
|
+
top: -62.4375rem;
|
|
5772
5975
|
}
|
|
5773
5976
|
|
|
5774
5977
|
:where(.bf-theme) :where(.bf-skip-link:hover) {
|
|
@@ -5777,7 +5980,7 @@ html.u-baseline-grid::after {
|
|
|
5777
5980
|
|
|
5778
5981
|
:where(.bf-theme) :where(.bf-skip-link:focus, .bf-skip-link:focus-visible) {
|
|
5779
5982
|
left: calc(var(--bf-baseline) * 0.5);
|
|
5780
|
-
outline:
|
|
5983
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
5781
5984
|
outline-offset: 0;
|
|
5782
5985
|
padding-block: calc(var(--bf-baseline) * 1.5);
|
|
5783
5986
|
padding-inline: calc(var(--bf-baseline) * 1.5);
|
|
@@ -5828,15 +6031,16 @@ html.u-baseline-grid::after {
|
|
|
5828
6031
|
line-height: var(--bf-table-row-line-height);
|
|
5829
6032
|
margin: 0;
|
|
5830
6033
|
overflow: hidden;
|
|
5831
|
-
padding-block: var(--bf-table-row-padding);
|
|
5832
|
-
padding-
|
|
6034
|
+
padding-block-end: var(--bf-table-row-padding-block-end);
|
|
6035
|
+
padding-block-start: var(--bf-table-row-padding-block-start);
|
|
6036
|
+
padding-inline: var(--bf-component-inline-inset-field);
|
|
5833
6037
|
text-align: left;
|
|
5834
6038
|
text-overflow: ellipsis;
|
|
5835
6039
|
vertical-align: top;
|
|
5836
6040
|
}
|
|
5837
6041
|
|
|
5838
6042
|
:where(.bf-theme) :where(th.is-icon-placeholder, td.is-icon-placeholder, .bf-table-cell.is-icon-placeholder) {
|
|
5839
|
-
padding-inline-start: calc(
|
|
6043
|
+
padding-inline-start: calc(var(--bf-component-inline-inset-field) + var(--bf-leading-icon-size) + var(--bf-leading-icon-gap));
|
|
5840
6044
|
}
|
|
5841
6045
|
|
|
5842
6046
|
:where(.bf-theme) :where(th.is-icon-placeholder, td.is-icon-placeholder, .bf-table-cell.is-icon-placeholder) > :where(.bf-icon:first-child) {
|
|
@@ -5894,15 +6098,17 @@ html.u-baseline-grid::after {
|
|
|
5894
6098
|
gap: 0;
|
|
5895
6099
|
inline-size: fit-content;
|
|
5896
6100
|
justify-self: start;
|
|
5897
|
-
margin: 0 var(--bf-ui-chip-padding-inline) var(--bf-
|
|
6101
|
+
margin: 0 var(--bf-ui-chip-padding-inline) var(--bf-single-line-row-margin-block-end) 0;
|
|
5898
6102
|
max-inline-size: 100%;
|
|
5899
|
-
|
|
5900
|
-
padding-
|
|
5901
|
-
padding-inline: var(--bf-ui-chip-padding-inline);
|
|
6103
|
+
padding-block: var(--bf-single-line-row-padding-block);
|
|
6104
|
+
padding-inline: max(0rem, calc(var(--bf-ui-chip-padding-inline) - var(--bf-border-width)));
|
|
5902
6105
|
position: relative;
|
|
5903
6106
|
text-decoration: none;
|
|
5904
6107
|
user-select: none;
|
|
5905
|
-
|
|
6108
|
+
/* Inline-flex exposes the first text child's baseline. The surrounding
|
|
6109
|
+
border-aware row contract now matches buttons instead of inventing a
|
|
6110
|
+
second chip-only occupied height. */
|
|
6111
|
+
vertical-align: baseline;
|
|
5906
6112
|
white-space: nowrap;
|
|
5907
6113
|
}
|
|
5908
6114
|
|
|
@@ -5942,6 +6148,15 @@ html.u-baseline-grid::after {
|
|
|
5942
6148
|
--bf-ui-chip-background-active: var(--bf-color-background-information-active);
|
|
5943
6149
|
}
|
|
5944
6150
|
|
|
6151
|
+
:where(.bf-theme) :where(.bf-chip.is-borderless) {
|
|
6152
|
+
--bf-ui-chip-border: transparent;
|
|
6153
|
+
--bf-ui-chip-border-hover: transparent;
|
|
6154
|
+
--bf-ui-chip-border-active: transparent;
|
|
6155
|
+
--bf-ui-chip-background: transparent;
|
|
6156
|
+
--bf-ui-chip-background-hover: transparent;
|
|
6157
|
+
--bf-ui-chip-background-active: transparent;
|
|
6158
|
+
}
|
|
6159
|
+
|
|
5945
6160
|
:where(.bf-theme) :where(.bf-chip, .bf-chip.is-positive, .bf-chip.is-caution, .bf-chip.is-negative, .bf-chip.is-information):hover {
|
|
5946
6161
|
background-color: var(--bf-ui-chip-background-hover);
|
|
5947
6162
|
border-color: var(--bf-ui-chip-border-hover);
|
|
@@ -6026,16 +6241,20 @@ html.u-baseline-grid::after {
|
|
|
6026
6241
|
--bf-ui-status-background: color-mix(in srgb, var(--bf-color-background-alt) 70%, black);
|
|
6027
6242
|
--bf-ui-status-color: var(--bf-color-button-positive-text);
|
|
6028
6243
|
background-color: var(--bf-ui-status-background);
|
|
6244
|
+
border-block: var(--bf-border-width) solid transparent;
|
|
6029
6245
|
color: var(--bf-ui-status-color);
|
|
6030
6246
|
display: inline-block;
|
|
6247
|
+
inline-size: fit-content;
|
|
6248
|
+
justify-self: start;
|
|
6031
6249
|
font-family: var(--bf-body-font-family, "Ubuntu Sans", "Segoe UI", system-ui, sans-serif);
|
|
6032
6250
|
font-size: var(--bf-body-font-size, 0.875rem);
|
|
6033
6251
|
font-style: var(--bf-body-font-style, normal);
|
|
6034
6252
|
font-weight: var(--bf-body-font-weight, 400);
|
|
6035
6253
|
line-height: var(--bf-body-line-height, 1.25rem);
|
|
6036
|
-
margin: 0;
|
|
6037
|
-
|
|
6038
|
-
|
|
6254
|
+
margin: 0 0 var(--bf-single-line-row-margin-block-end);
|
|
6255
|
+
/* Status paint is physically symmetric and shares the same occupied block
|
|
6256
|
+
as a button; typography still comes from the body role. */
|
|
6257
|
+
padding-block: var(--bf-single-line-row-padding-block);
|
|
6039
6258
|
padding-inline: var(--bf-ui-chip-padding-inline);
|
|
6040
6259
|
text-align: center;
|
|
6041
6260
|
text-decoration: none;
|
|
@@ -6073,7 +6292,7 @@ html.u-baseline-grid::after {
|
|
|
6073
6292
|
margin: 0;
|
|
6074
6293
|
padding: 0;
|
|
6075
6294
|
position: relative;
|
|
6076
|
-
text-indent: -
|
|
6295
|
+
text-indent: -624.9375rem;
|
|
6077
6296
|
}
|
|
6078
6297
|
|
|
6079
6298
|
:where(.bf-theme) :where(.bf-chip-dismiss) {
|
|
@@ -6085,7 +6304,7 @@ html.u-baseline-grid::after {
|
|
|
6085
6304
|
:where(.bf-theme) :where(.bf-chip-dismiss, .bf-search-box-reset, .bf-search-and-filter-clear)::before,
|
|
6086
6305
|
:where(.bf-theme) :where(.bf-chip-dismiss, .bf-search-box-reset, .bf-search-and-filter-clear)::after {
|
|
6087
6306
|
background: currentColor;
|
|
6088
|
-
block-size:
|
|
6307
|
+
block-size: 0.125rem;
|
|
6089
6308
|
content: "";
|
|
6090
6309
|
inline-size: 0.75rem;
|
|
6091
6310
|
left: 50%;
|
|
@@ -6103,7 +6322,7 @@ html.u-baseline-grid::after {
|
|
|
6103
6322
|
|
|
6104
6323
|
|
|
6105
6324
|
:where(.bf-theme) :where(.bf-search-box) {
|
|
6106
|
-
--bf-search-box-action-inline-size: calc(1rem + (var(--bf-
|
|
6325
|
+
--bf-search-box-action-inline-size: calc(1rem + (var(--bf-component-inline-inset-field) * 2));
|
|
6107
6326
|
--bf-search-box-trailing-inline-size: calc((var(--bf-search-box-action-inline-size) * 2) + var(--bf-border-width));
|
|
6108
6327
|
display: flex;
|
|
6109
6328
|
inline-size: 100%;
|
|
@@ -6120,12 +6339,12 @@ html.u-baseline-grid::after {
|
|
|
6120
6339
|
|
|
6121
6340
|
:where(.bf-theme) :where(.bf-search-box-reset, .bf-search-box-button) {
|
|
6122
6341
|
align-items: center;
|
|
6123
|
-
block-size:
|
|
6342
|
+
block-size: auto;
|
|
6124
6343
|
display: inline-flex;
|
|
6125
6344
|
inline-size: var(--bf-search-box-action-inline-size);
|
|
6345
|
+
inset-block: 0;
|
|
6126
6346
|
justify-content: center;
|
|
6127
6347
|
position: absolute;
|
|
6128
|
-
top: 0;
|
|
6129
6348
|
}
|
|
6130
6349
|
|
|
6131
6350
|
:where(.bf-theme) :where(.bf-search-box-reset) {
|
|
@@ -6142,7 +6361,7 @@ html.u-baseline-grid::after {
|
|
|
6142
6361
|
inset-inline-end: var(--bf-border-width);
|
|
6143
6362
|
margin: 0;
|
|
6144
6363
|
padding: 0;
|
|
6145
|
-
text-indent: -
|
|
6364
|
+
text-indent: -624.9375rem;
|
|
6146
6365
|
}
|
|
6147
6366
|
|
|
6148
6367
|
:where(.bf-theme) :where(.bf-search-box-button)::before {
|
|
@@ -6169,8 +6388,8 @@ html.u-baseline-grid::after {
|
|
|
6169
6388
|
}
|
|
6170
6389
|
|
|
6171
6390
|
:where(.bf-theme) :where(.bf-search-box-reset:focus-visible, .bf-search-box-button:focus-visible) {
|
|
6172
|
-
outline:
|
|
6173
|
-
outline-offset: -
|
|
6391
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
6392
|
+
outline-offset: -0.125rem;
|
|
6174
6393
|
}
|
|
6175
6394
|
|
|
6176
6395
|
:where(.bf-theme) :where(.bf-search-and-filter) {
|
|
@@ -6185,7 +6404,7 @@ html.u-baseline-grid::after {
|
|
|
6185
6404
|
:where(.bf-theme) :where(.bf-search-and-filter-search-container) {
|
|
6186
6405
|
align-items: stretch;
|
|
6187
6406
|
background: transparent;
|
|
6188
|
-
box-shadow: inset 0 -
|
|
6407
|
+
box-shadow: inset 0 -0.0625rem 0 var(--bf-color-border-high-contrast);
|
|
6189
6408
|
display: flex;
|
|
6190
6409
|
flex-wrap: wrap;
|
|
6191
6410
|
gap: var(--bf-field-gap);
|
|
@@ -6201,7 +6420,7 @@ html.u-baseline-grid::after {
|
|
|
6201
6420
|
}
|
|
6202
6421
|
|
|
6203
6422
|
:where(.bf-theme) :where(.bf-search-and-filter-box) {
|
|
6204
|
-
--bf-search-and-filter-action-inline-size: calc(1rem + (var(--bf-
|
|
6423
|
+
--bf-search-and-filter-action-inline-size: calc(1rem + (var(--bf-component-inline-inset-field) * 2));
|
|
6205
6424
|
--bf-search-and-filter-trailing-inline-size: calc(var(--bf-search-and-filter-action-inline-size) * 2);
|
|
6206
6425
|
display: inline-flex;
|
|
6207
6426
|
flex: 1 1 12rem;
|
|
@@ -6218,17 +6437,17 @@ html.u-baseline-grid::after {
|
|
|
6218
6437
|
:where(.bf-theme) :where(.bf-search-and-filter-search-button) {
|
|
6219
6438
|
appearance: none;
|
|
6220
6439
|
background: transparent;
|
|
6221
|
-
block-size:
|
|
6440
|
+
block-size: auto;
|
|
6222
6441
|
border: 0;
|
|
6223
6442
|
color: var(--bf-color-text-default);
|
|
6224
6443
|
cursor: pointer;
|
|
6225
6444
|
inline-size: var(--bf-search-and-filter-action-inline-size);
|
|
6445
|
+
inset-block: 0;
|
|
6226
6446
|
inset-inline-end: 0;
|
|
6227
6447
|
margin: 0;
|
|
6228
6448
|
padding: 0;
|
|
6229
6449
|
position: absolute;
|
|
6230
|
-
text-indent: -
|
|
6231
|
-
top: 0;
|
|
6450
|
+
text-indent: -624.9375rem;
|
|
6232
6451
|
}
|
|
6233
6452
|
|
|
6234
6453
|
:where(.bf-theme) :where(.bf-search-and-filter-search-button)::before {
|
|
@@ -6255,16 +6474,16 @@ html.u-baseline-grid::after {
|
|
|
6255
6474
|
}
|
|
6256
6475
|
|
|
6257
6476
|
:where(.bf-theme) :where(.bf-search-and-filter-search-button:focus-visible, .bf-search-and-filter-selected-count:focus-visible) {
|
|
6258
|
-
outline:
|
|
6259
|
-
outline-offset: -
|
|
6477
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
6478
|
+
outline-offset: -0.125rem;
|
|
6260
6479
|
}
|
|
6261
6480
|
|
|
6262
6481
|
:where(.bf-theme) :where(.bf-search-and-filter-clear) {
|
|
6263
|
-
block-size:
|
|
6482
|
+
block-size: auto;
|
|
6264
6483
|
inline-size: var(--bf-search-and-filter-action-inline-size);
|
|
6484
|
+
inset-block: 0;
|
|
6265
6485
|
inset-inline-end: var(--bf-search-and-filter-action-inline-size);
|
|
6266
6486
|
position: absolute;
|
|
6267
|
-
top: 0;
|
|
6268
6487
|
}
|
|
6269
6488
|
|
|
6270
6489
|
:where(.bf-theme) :where(.bf-search-and-filter-selected-count) {
|
|
@@ -6294,12 +6513,12 @@ html.u-baseline-grid::after {
|
|
|
6294
6513
|
background-color: var(--bf-color-background-inputs);
|
|
6295
6514
|
border: var(--bf-border-width) solid var(--bf-color-border-default);
|
|
6296
6515
|
border-top: 0;
|
|
6297
|
-
box-shadow: 0
|
|
6516
|
+
box-shadow: 0 1.5rem 4.5rem rgba(0, 0, 0, 0.38);
|
|
6298
6517
|
display: grid;
|
|
6299
6518
|
gap: var(--bf-field-gap);
|
|
6300
6519
|
opacity: 1;
|
|
6301
6520
|
padding-bottom: calc(var(--bf-panel-padding-block) - var(--bf-border-width));
|
|
6302
|
-
padding-inline: var(--bf-
|
|
6521
|
+
padding-inline: var(--bf-component-inline-inset-continuation);
|
|
6303
6522
|
padding-top: var(--bf-panel-padding-block);
|
|
6304
6523
|
position: absolute;
|
|
6305
6524
|
top: 100%;
|
|
@@ -6344,12 +6563,6 @@ html.u-baseline-grid::after {
|
|
|
6344
6563
|
}
|
|
6345
6564
|
|
|
6346
6565
|
:where(.bf-theme) :where(.bf-filter-panel-section-heading) {
|
|
6347
|
-
font-family: var(--bf-h6-font-family, "Ubuntu Sans", "Segoe UI", system-ui, sans-serif);
|
|
6348
|
-
font-size: var(--bf-h6-font-size, 1.125rem);
|
|
6349
|
-
font-style: var(--bf-h6-font-style, normal);
|
|
6350
|
-
font-weight: var(--bf-h6-font-weight, 300);
|
|
6351
|
-
line-height: var(--bf-h6-line-height, 1.5rem);
|
|
6352
|
-
color: var(--bf-color-text-muted);
|
|
6353
6566
|
margin: 0;
|
|
6354
6567
|
padding-block: 0;
|
|
6355
6568
|
}
|
|
@@ -6396,7 +6609,7 @@ html.u-baseline-grid::after {
|
|
|
6396
6609
|
:where(.bf-theme) :where(.bf-list-tree) {
|
|
6397
6610
|
list-style: none;
|
|
6398
6611
|
margin: 0;
|
|
6399
|
-
padding-left:
|
|
6612
|
+
padding-left: 0;
|
|
6400
6613
|
}
|
|
6401
6614
|
|
|
6402
6615
|
:where(.bf-theme) :where(.bf-list-tree) :where(.bf-list-tree) {
|
|
@@ -6410,27 +6623,29 @@ html.u-baseline-grid::after {
|
|
|
6410
6623
|
}
|
|
6411
6624
|
|
|
6412
6625
|
:where(.bf-theme) :where(.bf-list-tree-item) {
|
|
6626
|
+
display: grid;
|
|
6413
6627
|
margin: 0;
|
|
6414
|
-
padding-left:
|
|
6628
|
+
padding-left: 0;
|
|
6415
6629
|
position: relative;
|
|
6416
6630
|
}
|
|
6417
6631
|
|
|
6418
|
-
:where(.bf-theme) :where(.bf-list-tree-link) {
|
|
6632
|
+
:where(.bf-theme) :where(a.bf-list-tree-link) {
|
|
6419
6633
|
font-family: var(--bf-body-font-family, "Ubuntu Sans", "Segoe UI", system-ui, sans-serif);
|
|
6420
6634
|
font-size: var(--bf-body-font-size, 0.875rem);
|
|
6421
6635
|
font-style: var(--bf-body-font-style, normal);
|
|
6422
6636
|
font-weight: var(--bf-body-font-weight, 400);
|
|
6423
6637
|
line-height: var(--bf-body-line-height, 1.25rem);
|
|
6424
6638
|
color: var(--bf-color-text-default);
|
|
6639
|
+
border-block: var(--bf-border-width) solid transparent;
|
|
6425
6640
|
cursor: pointer;
|
|
6426
6641
|
display: block;
|
|
6427
|
-
margin: 0;
|
|
6428
|
-
|
|
6429
|
-
padding-
|
|
6642
|
+
margin: 0 0 var(--bf-single-line-row-margin-block-end);
|
|
6643
|
+
padding-block: var(--bf-single-line-row-padding-block);
|
|
6644
|
+
padding-inline: var(--bf-component-inline-inset-continuation) var(--bf-component-inline-inset-action);
|
|
6430
6645
|
text-decoration: none;
|
|
6431
6646
|
}
|
|
6432
6647
|
|
|
6433
|
-
:where(.bf-theme) :where(.bf-list-tree-link
|
|
6648
|
+
:where(.bf-theme) :where(a.bf-list-tree-link:hover) {
|
|
6434
6649
|
color: var(--bf-color-link-default);
|
|
6435
6650
|
text-decoration: underline;
|
|
6436
6651
|
}
|
|
@@ -6444,8 +6659,8 @@ html.u-baseline-grid::after {
|
|
|
6444
6659
|
}
|
|
6445
6660
|
|
|
6446
6661
|
:where(.bf-theme) :where(.bf-list-tree-link):focus-visible {
|
|
6447
|
-
outline:
|
|
6448
|
-
outline-offset: -
|
|
6662
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
6663
|
+
outline-offset: -0.125rem;
|
|
6449
6664
|
}
|
|
6450
6665
|
|
|
6451
6666
|
:where(.bf-theme) :where(.bf-list-tree-toggle) {
|
|
@@ -6457,14 +6672,14 @@ html.u-baseline-grid::after {
|
|
|
6457
6672
|
align-items: center;
|
|
6458
6673
|
background: transparent;
|
|
6459
6674
|
border: 0;
|
|
6675
|
+
border-block: var(--bf-border-width) solid transparent;
|
|
6460
6676
|
color: var(--bf-color-text-default);
|
|
6461
6677
|
cursor: pointer;
|
|
6462
|
-
display:
|
|
6463
|
-
gap:
|
|
6464
|
-
margin: 0 0
|
|
6465
|
-
|
|
6466
|
-
padding-
|
|
6467
|
-
padding-inline: calc(var(--bf-baseline) * 0.25) calc(var(--bf-baseline) * 0.5);
|
|
6678
|
+
display: flex;
|
|
6679
|
+
gap: var(--bf-disclosure-gap);
|
|
6680
|
+
margin: 0 0 var(--bf-single-line-row-margin-block-end);
|
|
6681
|
+
padding-block: var(--bf-single-line-row-padding-block);
|
|
6682
|
+
padding-inline: 0 calc(var(--bf-baseline) * 0.5);
|
|
6468
6683
|
text-align: left;
|
|
6469
6684
|
width: 100%;
|
|
6470
6685
|
}
|
|
@@ -6478,8 +6693,8 @@ html.u-baseline-grid::after {
|
|
|
6478
6693
|
}
|
|
6479
6694
|
|
|
6480
6695
|
:where(.bf-theme) :where(.bf-list-tree-toggle):focus-visible {
|
|
6481
|
-
outline:
|
|
6482
|
-
outline-offset: -
|
|
6696
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
6697
|
+
outline-offset: -0.125rem;
|
|
6483
6698
|
}
|
|
6484
6699
|
|
|
6485
6700
|
:where(.bf-theme) :where(.bf-list-tree-toggle)::before {
|
|
@@ -6491,20 +6706,42 @@ html.u-baseline-grid::after {
|
|
|
6491
6706
|
content: "";
|
|
6492
6707
|
flex: 0 0 1rem;
|
|
6493
6708
|
inline-size: 1rem;
|
|
6494
|
-
transform: rotate(-90deg);
|
|
6709
|
+
transform: translateY(var(--bf-disclosure-icon-optical-offset-block)) rotate(-90deg);
|
|
6495
6710
|
}
|
|
6496
6711
|
|
|
6497
6712
|
:where(.bf-theme) :where(.bf-list-tree-toggle[aria-expanded='true'])::before {
|
|
6498
|
-
transform: rotate(0deg);
|
|
6713
|
+
transform: translateY(var(--bf-disclosure-icon-optical-offset-block)) rotate(0deg);
|
|
6499
6714
|
}
|
|
6500
6715
|
|
|
6501
6716
|
|
|
6502
6717
|
:where(.bf-theme) :where(.bf-side-navigation, .bf-side-navigation.is-icons, .bf-side-navigation.is-accordion, .bf-side-navigation.is-raw-html) {
|
|
6718
|
+
/* Plain navigation commands use the action rail. Icon-led rows move only their mark canvas,
|
|
6719
|
+
so their copy reaches the shared continuation rail without a fourth
|
|
6720
|
+
component inset. Navigation depth is added separately below. */
|
|
6721
|
+
/* Navigation copy uses one continuation rail whether a row has a leading
|
|
6722
|
+
disclosure/icon slot or not. The mark canvas is derived backwards from
|
|
6723
|
+
that rail, so iconless rows never introduce a fourth text start. */
|
|
6724
|
+
--bf-side-navigation-content-inset: var(--bf-component-inline-inset-continuation);
|
|
6725
|
+
--bf-side-navigation-disclosure-inset: max(0rem, calc(var(--bf-component-inline-inset-continuation) - var(--bf-disclosure-icon-inline-size) - var(--bf-disclosure-gap)));
|
|
6726
|
+
--bf-side-navigation-depth-step: var(--bf-space-2);
|
|
6727
|
+
--bf-side-navigation-group-gap: 1.5rem;
|
|
6503
6728
|
color: var(--bf-color-text-inactive);
|
|
6504
6729
|
display: block;
|
|
6505
6730
|
inline-size: 100%;
|
|
6506
6731
|
}
|
|
6507
6732
|
|
|
6733
|
+
:where(.bf-theme) :where(.bf-side-navigation-groups) {
|
|
6734
|
+
align-content: start;
|
|
6735
|
+
display: grid;
|
|
6736
|
+
gap: var(--bf-side-navigation-group-gap);
|
|
6737
|
+
}
|
|
6738
|
+
|
|
6739
|
+
:where(.bf-theme) :where(.bf-side-navigation-group) {
|
|
6740
|
+
display: grid;
|
|
6741
|
+
gap: 0rem;
|
|
6742
|
+
min-inline-size: 0;
|
|
6743
|
+
}
|
|
6744
|
+
|
|
6508
6745
|
:where(.bf-theme) :where(.bf-side-navigation-drawer) {
|
|
6509
6746
|
background: var(--bf-color-background-default);
|
|
6510
6747
|
bottom: 0;
|
|
@@ -6521,7 +6758,7 @@ html.u-baseline-grid::after {
|
|
|
6521
6758
|
}
|
|
6522
6759
|
|
|
6523
6760
|
: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) {
|
|
6524
|
-
box-shadow: 0
|
|
6761
|
+
box-shadow: 0 1.5rem 4.5rem rgba(0, 0, 0, 0.38);
|
|
6525
6762
|
transform: translateX(0);
|
|
6526
6763
|
}
|
|
6527
6764
|
|
|
@@ -6551,7 +6788,7 @@ html.u-baseline-grid::after {
|
|
|
6551
6788
|
border-bottom: var(--bf-border-width) solid var(--bf-color-border-low-contrast);
|
|
6552
6789
|
margin-bottom: calc(var(--bf-baseline) * 2);
|
|
6553
6790
|
padding-bottom: calc(var(--bf-panel-padding-block) - var(--bf-border-width));
|
|
6554
|
-
padding-inline: var(--bf-
|
|
6791
|
+
padding-inline: var(--bf-component-inline-inset-continuation);
|
|
6555
6792
|
padding-top: var(--bf-panel-padding-block);
|
|
6556
6793
|
position: sticky;
|
|
6557
6794
|
top: 0;
|
|
@@ -6574,9 +6811,9 @@ html.u-baseline-grid::after {
|
|
|
6574
6811
|
display: inline-flex;
|
|
6575
6812
|
gap: calc(var(--bf-baseline) * 0.5);
|
|
6576
6813
|
justify-content: center;
|
|
6577
|
-
margin: 0 0
|
|
6578
|
-
padding-block:
|
|
6579
|
-
padding-inline: var(--bf-control-inline-padding-action);
|
|
6814
|
+
margin: 0 0 var(--bf-single-line-row-margin-block-end);
|
|
6815
|
+
padding-block: var(--bf-single-line-row-padding-block);
|
|
6816
|
+
padding-inline: var(--bf-control-inline-padding-action-bordered);
|
|
6580
6817
|
text-decoration: none;
|
|
6581
6818
|
}
|
|
6582
6819
|
|
|
@@ -6611,8 +6848,8 @@ html.u-baseline-grid::after {
|
|
|
6611
6848
|
}
|
|
6612
6849
|
|
|
6613
6850
|
:where(.bf-theme) :where(.bf-side-navigation-toggle:focus-visible) {
|
|
6614
|
-
outline:
|
|
6615
|
-
outline-offset: -
|
|
6851
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
6852
|
+
outline-offset: -0.125rem;
|
|
6616
6853
|
}
|
|
6617
6854
|
|
|
6618
6855
|
:where(.bf-theme) :where(.bf-side-navigation-heading, .bf-side-navigation-heading.is-linked) {
|
|
@@ -6624,22 +6861,22 @@ html.u-baseline-grid::after {
|
|
|
6624
6861
|
display: block;
|
|
6625
6862
|
margin: 0 0 var(--bf-body-margin-bottom);
|
|
6626
6863
|
padding-block: var(--bf-body-nudge-start) 0;
|
|
6864
|
+
padding-inline: var(--bf-side-navigation-content-inset);
|
|
6627
6865
|
}
|
|
6628
6866
|
|
|
6629
|
-
:where(.bf-theme) :where(.bf-side-navigation-
|
|
6630
|
-
|
|
6631
|
-
list-style: none;
|
|
6632
|
-
margin: 0 0 calc(var(--bf-baseline) * 2);
|
|
6633
|
-
padding: 0 0 calc((var(--bf-baseline) * 2) - var(--bf-border-width));
|
|
6867
|
+
:where(.bf-theme) :where(.bf-side-navigation-heading.is-linked) {
|
|
6868
|
+
padding-inline: 0;
|
|
6634
6869
|
}
|
|
6635
6870
|
|
|
6636
|
-
:where(.bf-theme) :where(.bf-side-navigation-list
|
|
6637
|
-
|
|
6638
|
-
|
|
6639
|
-
|
|
6871
|
+
:where(.bf-theme) :where(.bf-side-navigation-list) {
|
|
6872
|
+
display: grid;
|
|
6873
|
+
list-style: none;
|
|
6874
|
+
margin: 0;
|
|
6875
|
+
padding: 0;
|
|
6640
6876
|
}
|
|
6641
6877
|
|
|
6642
6878
|
:where(.bf-theme) :where(.bf-side-navigation-item, .bf-side-navigation-item.is-title) {
|
|
6879
|
+
display: grid;
|
|
6643
6880
|
margin: 0;
|
|
6644
6881
|
position: relative;
|
|
6645
6882
|
}
|
|
@@ -6653,21 +6890,23 @@ html.u-baseline-grid::after {
|
|
|
6653
6890
|
align-items: center;
|
|
6654
6891
|
background: transparent;
|
|
6655
6892
|
border: 0;
|
|
6893
|
+
border-block: var(--bf-border-width) solid transparent;
|
|
6656
6894
|
color: var(--bf-color-text-inactive);
|
|
6657
6895
|
display: flex;
|
|
6658
6896
|
gap: calc(var(--bf-baseline) * 0.5);
|
|
6659
6897
|
inline-size: 100%;
|
|
6660
6898
|
justify-content: flex-start;
|
|
6661
|
-
margin: 0;
|
|
6662
|
-
|
|
6663
|
-
padding-
|
|
6664
|
-
|
|
6899
|
+
margin: 0 0 var(--bf-single-line-row-margin-block-end);
|
|
6900
|
+
padding-block: var(--bf-single-line-row-padding-block);
|
|
6901
|
+
padding-inline: var(--bf-side-navigation-content-inset);
|
|
6902
|
+
--bf-side-navigation-row-inset: var(--bf-side-navigation-content-inset);
|
|
6665
6903
|
position: relative;
|
|
6666
6904
|
text-align: left;
|
|
6667
6905
|
text-decoration: none;
|
|
6668
6906
|
}
|
|
6669
6907
|
|
|
6670
6908
|
:where(.bf-theme) :where(.bf-side-navigation-accordion-button) {
|
|
6909
|
+
--bf-side-navigation-row-inset: var(--bf-side-navigation-disclosure-inset);
|
|
6671
6910
|
gap: var(--bf-disclosure-gap);
|
|
6672
6911
|
}
|
|
6673
6912
|
|
|
@@ -6676,22 +6915,21 @@ html.u-baseline-grid::after {
|
|
|
6676
6915
|
font-weight: 600;
|
|
6677
6916
|
}
|
|
6678
6917
|
|
|
6679
|
-
:where(.bf-theme) :where(.bf-side-navigation-heading, .bf-side-navigation-heading.is-linked),
|
|
6680
6918
|
: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) {
|
|
6681
|
-
padding-inline-start: var(--bf-
|
|
6919
|
+
padding-inline-start: var(--bf-side-navigation-row-inset, var(--bf-side-navigation-content-inset));
|
|
6682
6920
|
}
|
|
6683
6921
|
|
|
6684
6922
|
:where(.bf-theme) :where(.bf-side-navigation-item, .bf-side-navigation-item.is-title)
|
|
6685
6923
|
:where(.bf-side-navigation-item, .bf-side-navigation-item.is-title)
|
|
6686
6924
|
> :where(.bf-side-navigation-link, .bf-side-navigation-text, .bf-side-navigation-accordion-button) {
|
|
6687
|
-
padding-inline-start: calc(var(--bf-
|
|
6925
|
+
padding-inline-start: calc(var(--bf-side-navigation-row-inset, var(--bf-side-navigation-content-inset)) + var(--bf-side-navigation-depth-step));
|
|
6688
6926
|
}
|
|
6689
6927
|
|
|
6690
6928
|
:where(.bf-theme) :where(.bf-side-navigation-item, .bf-side-navigation-item.is-title)
|
|
6691
6929
|
:where(.bf-side-navigation-item, .bf-side-navigation-item.is-title)
|
|
6692
6930
|
:where(.bf-side-navigation-item, .bf-side-navigation-item.is-title)
|
|
6693
6931
|
> :where(.bf-side-navigation-link, .bf-side-navigation-text, .bf-side-navigation-accordion-button) {
|
|
6694
|
-
padding-inline-start: calc(var(--bf-
|
|
6932
|
+
padding-inline-start: calc(var(--bf-side-navigation-row-inset, var(--bf-side-navigation-content-inset)) + (var(--bf-side-navigation-depth-step) * 2));
|
|
6695
6933
|
}
|
|
6696
6934
|
|
|
6697
6935
|
:where(.bf-theme) :where(.bf-side-navigation-item, .bf-side-navigation-item.is-title)
|
|
@@ -6699,7 +6937,7 @@ html.u-baseline-grid::after {
|
|
|
6699
6937
|
:where(.bf-side-navigation-item, .bf-side-navigation-item.is-title)
|
|
6700
6938
|
:where(.bf-side-navigation-item, .bf-side-navigation-item.is-title)
|
|
6701
6939
|
> :where(.bf-side-navigation-link, .bf-side-navigation-text, .bf-side-navigation-accordion-button) {
|
|
6702
|
-
padding-inline-start: calc(var(--bf-
|
|
6940
|
+
padding-inline-start: calc(var(--bf-side-navigation-row-inset, var(--bf-side-navigation-content-inset)) + (var(--bf-side-navigation-depth-step) * 3));
|
|
6703
6941
|
}
|
|
6704
6942
|
|
|
6705
6943
|
:where(.bf-theme) :where(.bf-side-navigation-link:hover, .bf-side-navigation-accordion-button:hover) {
|
|
@@ -6708,13 +6946,17 @@ html.u-baseline-grid::after {
|
|
|
6708
6946
|
text-decoration: none;
|
|
6709
6947
|
}
|
|
6710
6948
|
|
|
6949
|
+
:where(.bf-theme) :where(a.bf-side-navigation-link:is(:hover, :active)) {
|
|
6950
|
+
text-decoration: none;
|
|
6951
|
+
}
|
|
6952
|
+
|
|
6711
6953
|
:where(.bf-theme) :where(.bf-side-navigation-link:focus:not(:focus-visible), .bf-side-navigation-accordion-button:focus:not(:focus-visible)) {
|
|
6712
6954
|
outline: none;
|
|
6713
6955
|
}
|
|
6714
6956
|
|
|
6715
6957
|
:where(.bf-theme) :where(.bf-side-navigation-link:focus-visible, .bf-side-navigation-accordion-button:focus-visible) {
|
|
6716
|
-
outline:
|
|
6717
|
-
outline-offset: -
|
|
6958
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
6959
|
+
outline-offset: -0.125rem;
|
|
6718
6960
|
}
|
|
6719
6961
|
|
|
6720
6962
|
:where(.bf-theme) :where(.bf-side-navigation-link.is-active, .bf-side-navigation-link[aria-current='page'], .bf-side-navigation-link[aria-current='true']) {
|
|
@@ -6885,13 +7127,17 @@ html.u-baseline-grid::after {
|
|
|
6885
7127
|
text-decoration: none;
|
|
6886
7128
|
}
|
|
6887
7129
|
|
|
7130
|
+
:where(.bf-theme) :where(a.bf-top-navigation-link:is(:hover, :active)) {
|
|
7131
|
+
text-decoration: none;
|
|
7132
|
+
}
|
|
7133
|
+
|
|
6888
7134
|
: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)) {
|
|
6889
7135
|
outline: none;
|
|
6890
7136
|
}
|
|
6891
7137
|
|
|
6892
7138
|
:where(.bf-theme) :where(.bf-top-navigation-link:focus-visible, .bf-top-navigation-menu-toggle:focus-visible, .bf-top-navigation-search-toggle:focus-visible) {
|
|
6893
|
-
outline:
|
|
6894
|
-
outline-offset: -
|
|
7139
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
7140
|
+
outline-offset: -0.125rem;
|
|
6895
7141
|
}
|
|
6896
7142
|
|
|
6897
7143
|
:where(.bf-theme) :where(.bf-top-navigation-item.is-selected) > :where(.bf-top-navigation-link),
|
|
@@ -7015,8 +7261,8 @@ html.u-baseline-grid::after {
|
|
|
7015
7261
|
}
|
|
7016
7262
|
|
|
7017
7263
|
:where(.bf-theme) :where(.bf-top-navigation-dropdown-item:focus-visible) {
|
|
7018
|
-
outline:
|
|
7019
|
-
outline-offset: -
|
|
7264
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
7265
|
+
outline-offset: -0.125rem;
|
|
7020
7266
|
}
|
|
7021
7267
|
|
|
7022
7268
|
:where(.bf-theme) :where(.bf-top-navigation-search-label) {
|
|
@@ -7187,11 +7433,12 @@ html.u-baseline-grid::after {
|
|
|
7187
7433
|
content: "";
|
|
7188
7434
|
flex: 0 0 var(--bf-disclosure-icon-inline-size);
|
|
7189
7435
|
inline-size: var(--bf-disclosure-icon-inline-size);
|
|
7436
|
+
transform: translateY(var(--bf-disclosure-icon-optical-offset-block));
|
|
7190
7437
|
transition: transform 120ms ease;
|
|
7191
7438
|
}
|
|
7192
7439
|
|
|
7193
7440
|
:where(.bf-theme) :where(.bf-side-navigation-accordion-button[aria-expanded='false'], .bf-side-navigation-expand[aria-expanded='false'])::before {
|
|
7194
|
-
transform: rotate(-90deg);
|
|
7441
|
+
transform: translateY(var(--bf-disclosure-icon-optical-offset-block)) rotate(-90deg);
|
|
7195
7442
|
}
|
|
7196
7443
|
|
|
7197
7444
|
:where(.bf-theme) :where(.bf-side-navigation-expand) {
|
|
@@ -7256,14 +7503,34 @@ html.u-baseline-grid::after {
|
|
|
7256
7503
|
}
|
|
7257
7504
|
|
|
7258
7505
|
:where(.bf-theme) :where(.bf-side-navigation.is-icons) :where(.bf-side-navigation-link, .bf-side-navigation-text, .bf-side-navigation-accordion-button) {
|
|
7506
|
+
--bf-side-navigation-row-inset: max(0rem, calc(var(--bf-component-inline-inset-continuation) - 1rem - var(--bf-side-navigation-icon-gap)));
|
|
7259
7507
|
align-items: baseline;
|
|
7260
7508
|
column-gap: var(--bf-side-navigation-icon-gap);
|
|
7261
7509
|
}
|
|
7262
7510
|
|
|
7511
|
+
/* Icon navigation keeps one stable label edge. Rows may omit a decorative
|
|
7512
|
+
icon without collapsing the shared icon track and pulling their copy left. */
|
|
7513
|
+
:where(.bf-theme) :where(.bf-side-navigation.is-icons) :where(.bf-side-navigation-link, .bf-side-navigation-text):not(:has(> .bf-side-navigation-icon))::before {
|
|
7514
|
+
content: "";
|
|
7515
|
+
flex: 0 0 1rem;
|
|
7516
|
+
inline-size: 1rem;
|
|
7517
|
+
}
|
|
7518
|
+
|
|
7519
|
+
/* A collapsed icon rail cannot communicate an iconless destination. Remove
|
|
7520
|
+
the alignment spacer with the hidden label so it cannot become a blank
|
|
7521
|
+
visual affordance in that state. */
|
|
7522
|
+
:where(.bf-theme) :where(.bf-navigation.is-collapsed) :where(.bf-side-navigation.is-icons) :where(.bf-side-navigation-link, .bf-side-navigation-text):not(:has(> .bf-side-navigation-icon))::before {
|
|
7523
|
+
content: none;
|
|
7524
|
+
}
|
|
7525
|
+
|
|
7263
7526
|
/* Icon-navigation headings share the label edge, not the icon edge. This
|
|
7264
7527
|
keeps section names aligned with both the menu copy and a tagged wordmark. */
|
|
7265
|
-
:where(.bf-theme) :where(.bf-side-navigation.is-icons) :where(.bf-side-navigation-heading
|
|
7266
|
-
padding-inline-start:
|
|
7528
|
+
:where(.bf-theme) :where(.bf-side-navigation.is-icons) :where(.bf-side-navigation-heading:not(.is-linked)) {
|
|
7529
|
+
padding-inline-start: var(--bf-component-inline-inset-continuation);
|
|
7530
|
+
}
|
|
7531
|
+
|
|
7532
|
+
:where(.bf-theme) :where(.bf-side-navigation.is-icons) :where(.bf-side-navigation-heading.is-linked) > :where(.bf-side-navigation-link) {
|
|
7533
|
+
padding-inline-start: var(--bf-component-inline-inset-continuation);
|
|
7267
7534
|
}
|
|
7268
7535
|
|
|
7269
7536
|
:where(.bf-theme) :where(.bf-side-navigation-icon) > svg {
|
|
@@ -7307,7 +7574,7 @@ html.u-baseline-grid::after {
|
|
|
7307
7574
|
:where(.bf-theme) :where(.bf-contextual-menu-dropdown) {
|
|
7308
7575
|
background: var(--bf-color-background-default);
|
|
7309
7576
|
border: var(--bf-border-width) solid var(--bf-color-border-default);
|
|
7310
|
-
box-shadow: 0
|
|
7577
|
+
box-shadow: 0 0.75rem 2rem rgba(0, 0, 0, 0.28);
|
|
7311
7578
|
display: none;
|
|
7312
7579
|
list-style: none;
|
|
7313
7580
|
margin: 0;
|
|
@@ -7341,7 +7608,7 @@ html.u-baseline-grid::after {
|
|
|
7341
7608
|
}
|
|
7342
7609
|
|
|
7343
7610
|
:where(.bf-theme) :where(.bf-contextual-menu-group) + :where(.bf-contextual-menu-group) {
|
|
7344
|
-
box-shadow: inset 0
|
|
7611
|
+
box-shadow: inset 0 0.0625rem 0 var(--bf-color-border-default);
|
|
7345
7612
|
}
|
|
7346
7613
|
|
|
7347
7614
|
:where(.bf-theme) :where(.bf-contextual-menu-link) {
|
|
@@ -7359,7 +7626,7 @@ html.u-baseline-grid::after {
|
|
|
7359
7626
|
margin: 0;
|
|
7360
7627
|
overflow: hidden;
|
|
7361
7628
|
padding-block: var(--bf-control-block-padding-compact);
|
|
7362
|
-
padding-inline: var(--bf-
|
|
7629
|
+
padding-inline: var(--bf-component-inline-inset-action);
|
|
7363
7630
|
text-align: left;
|
|
7364
7631
|
text-decoration: none;
|
|
7365
7632
|
text-overflow: ellipsis;
|
|
@@ -7385,8 +7652,8 @@ html.u-baseline-grid::after {
|
|
|
7385
7652
|
}
|
|
7386
7653
|
|
|
7387
7654
|
:where(.bf-theme) :where(.bf-contextual-menu-link):focus-visible {
|
|
7388
|
-
outline:
|
|
7389
|
-
outline-offset: -
|
|
7655
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
7656
|
+
outline-offset: -0.125rem;
|
|
7390
7657
|
}
|
|
7391
7658
|
|
|
7392
7659
|
:where(.bf-theme) :where(.bf-contextual-menu-link.is-disabled, .bf-contextual-menu-link[disabled]) {
|
|
@@ -7414,7 +7681,7 @@ html.u-baseline-grid::after {
|
|
|
7414
7681
|
font-weight: var(--bf-body-font-weight, 400);
|
|
7415
7682
|
line-height: var(--bf-body-line-height, 1.25rem);
|
|
7416
7683
|
background-color: var(--bf-color-background-alt);
|
|
7417
|
-
box-shadow: inset 0 0 0 var(--bf-border-width) var(--bf-color-border-default), 0
|
|
7684
|
+
box-shadow: inset 0 0 0 var(--bf-border-width) var(--bf-color-border-default), 0 0.75rem 2rem rgba(0, 0, 0, 0.24);
|
|
7418
7685
|
color: var(--bf-color-text-default);
|
|
7419
7686
|
inline-size: max-content;
|
|
7420
7687
|
left: 0;
|
|
@@ -7423,7 +7690,7 @@ html.u-baseline-grid::after {
|
|
|
7423
7690
|
opacity: 0;
|
|
7424
7691
|
padding-block-end: var(--bf-body-nudge-end);
|
|
7425
7692
|
padding-block-start: var(--bf-body-nudge-start, 0.0775rem);
|
|
7426
|
-
padding-inline: var(--bf-
|
|
7693
|
+
padding-inline: var(--bf-component-inline-inset-continuation);
|
|
7427
7694
|
pointer-events: none;
|
|
7428
7695
|
position: absolute;
|
|
7429
7696
|
top: 100%;
|
|
@@ -7567,10 +7834,10 @@ html.u-baseline-grid::after {
|
|
|
7567
7834
|
display: inline-flex;
|
|
7568
7835
|
gap: calc(var(--bf-baseline) * 0.5);
|
|
7569
7836
|
justify-content: center;
|
|
7570
|
-
margin-bottom:
|
|
7837
|
+
margin-bottom: var(--bf-single-line-row-margin-block-end);
|
|
7571
7838
|
min-inline-size: var(--bf-control-box-size);
|
|
7572
7839
|
padding-block: max(0rem, calc(var(--bf-button-block-padding) - var(--bf-border-width)));
|
|
7573
|
-
padding-inline: var(--bf-control-inline-padding-action);
|
|
7840
|
+
padding-inline: var(--bf-control-inline-padding-action-bordered);
|
|
7574
7841
|
text-align: center;
|
|
7575
7842
|
text-decoration: none;
|
|
7576
7843
|
}
|
|
@@ -7584,8 +7851,8 @@ html.u-baseline-grid::after {
|
|
|
7584
7851
|
}
|
|
7585
7852
|
|
|
7586
7853
|
:where(.bf-theme) :where(.bf-pagination-link:focus-visible, .bf-pagination-link.is-previous:focus-visible, .bf-pagination-link.is-next:focus-visible) {
|
|
7587
|
-
outline:
|
|
7588
|
-
outline-offset:
|
|
7854
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
7855
|
+
outline-offset: 0.125rem;
|
|
7589
7856
|
}
|
|
7590
7857
|
|
|
7591
7858
|
:where(.bf-theme) :where(.bf-pagination-link.is-active, .bf-pagination-link[aria-current='page'], .bf-pagination-link[aria-current='true']) {
|
|
@@ -7664,14 +7931,15 @@ html.u-baseline-grid::after {
|
|
|
7664
7931
|
appearance: none;
|
|
7665
7932
|
background: transparent;
|
|
7666
7933
|
border: 0;
|
|
7934
|
+
border-block: var(--bf-border-width) solid transparent;
|
|
7667
7935
|
color: var(--bf-color-text-default);
|
|
7668
7936
|
cursor: pointer;
|
|
7669
7937
|
display: flex;
|
|
7670
7938
|
gap: var(--bf-disclosure-gap);
|
|
7671
7939
|
inline-size: 100%;
|
|
7672
7940
|
justify-content: flex-start;
|
|
7673
|
-
|
|
7674
|
-
padding-block: var(--bf-
|
|
7941
|
+
margin-block-end: var(--bf-single-line-row-margin-block-end);
|
|
7942
|
+
padding-block: var(--bf-single-line-row-padding-block);
|
|
7675
7943
|
padding-inline: 0;
|
|
7676
7944
|
text-align: left;
|
|
7677
7945
|
}
|
|
@@ -7681,8 +7949,8 @@ html.u-baseline-grid::after {
|
|
|
7681
7949
|
}
|
|
7682
7950
|
|
|
7683
7951
|
:where(.bf-theme) :where(.bf-accordion-tab):focus-visible {
|
|
7684
|
-
outline:
|
|
7685
|
-
outline-offset:
|
|
7952
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
7953
|
+
outline-offset: 0.125rem;
|
|
7686
7954
|
}
|
|
7687
7955
|
|
|
7688
7956
|
:where(.bf-theme) :where(.bf-accordion-tab)::before {
|
|
@@ -7695,18 +7963,19 @@ html.u-baseline-grid::after {
|
|
|
7695
7963
|
display: inline-block;
|
|
7696
7964
|
flex: none;
|
|
7697
7965
|
inline-size: var(--bf-disclosure-icon-inline-size);
|
|
7966
|
+
transform: translateY(var(--bf-disclosure-icon-optical-offset-block));
|
|
7698
7967
|
transition: transform 120ms ease;
|
|
7699
7968
|
}
|
|
7700
7969
|
|
|
7701
7970
|
:where(.bf-theme) :where(.bf-accordion-tab[aria-expanded='false'])::before {
|
|
7702
|
-
transform: rotate(-90deg);
|
|
7971
|
+
transform: translateY(var(--bf-disclosure-icon-optical-offset-block)) rotate(-90deg);
|
|
7703
7972
|
}
|
|
7704
7973
|
|
|
7705
7974
|
:where(.bf-theme) :where(.bf-accordion-panel) {
|
|
7706
7975
|
margin: 0;
|
|
7707
7976
|
overflow: hidden;
|
|
7708
7977
|
padding-block-start: var(--bf-baseline);
|
|
7709
|
-
padding-inline-start:
|
|
7978
|
+
padding-inline-start: var(--bf-component-inline-inset-continuation);
|
|
7710
7979
|
}
|
|
7711
7980
|
|
|
7712
7981
|
:where(.bf-theme) :where(.bf-accordion-panel[aria-hidden='true']) {
|
|
@@ -7772,7 +8041,7 @@ html.u-baseline-grid::after {
|
|
|
7772
8041
|
:where(.bf-theme) :where(.bf-modal-header, .bf-modal-body, .bf-modal-footer) {
|
|
7773
8042
|
padding-block-end: calc(var(--bf-panel-padding-block) - var(--bf-border-width));
|
|
7774
8043
|
padding-block-start: calc(var(--bf-panel-padding-block) - var(--bf-border-width));
|
|
7775
|
-
padding-inline: var(--bf-
|
|
8044
|
+
padding-inline: var(--bf-component-inline-inset-continuation);
|
|
7776
8045
|
}
|
|
7777
8046
|
|
|
7778
8047
|
:where(.bf-theme) :where(.bf-modal-header) {
|
|
@@ -7846,7 +8115,7 @@ html.u-baseline-grid::after {
|
|
|
7846
8115
|
:where(.bf-theme) :where(.bf-code-snippet-header) {
|
|
7847
8116
|
align-items: start;
|
|
7848
8117
|
background: var(--bf-color-background-active);
|
|
7849
|
-
box-shadow: inset 0 -
|
|
8118
|
+
box-shadow: inset 0 -0.0625rem 0 var(--bf-color-border-default);
|
|
7850
8119
|
display: flex;
|
|
7851
8120
|
flex-wrap: wrap;
|
|
7852
8121
|
justify-content: space-between;
|
|
@@ -7868,7 +8137,7 @@ html.u-baseline-grid::after {
|
|
|
7868
8137
|
margin: 0;
|
|
7869
8138
|
overflow-wrap: anywhere;
|
|
7870
8139
|
padding-block: var(--bf-panel-padding-block);
|
|
7871
|
-
padding-inline: var(--bf-
|
|
8140
|
+
padding-inline: var(--bf-component-inline-inset-continuation);
|
|
7872
8141
|
}
|
|
7873
8142
|
|
|
7874
8143
|
:where(.bf-theme) :where(.bf-code-snippet-dropdowns) {
|
|
@@ -7883,7 +8152,7 @@ html.u-baseline-grid::after {
|
|
|
7883
8152
|
:where(.bf-theme) :where(.bf-code-snippet-header.is-stacked) :where(.bf-code-snippet-dropdowns) {
|
|
7884
8153
|
justify-content: stretch;
|
|
7885
8154
|
margin-inline-start: 0;
|
|
7886
|
-
box-shadow: inset 0
|
|
8155
|
+
box-shadow: inset 0 0.0625rem 0 var(--bf-color-border-default);
|
|
7887
8156
|
width: 100%;
|
|
7888
8157
|
}
|
|
7889
8158
|
|
|
@@ -7902,12 +8171,12 @@ html.u-baseline-grid::after {
|
|
|
7902
8171
|
min-block-size: calc(var(--bf-body-line-height, 1.25rem) + (var(--bf-panel-padding-block) * 2));
|
|
7903
8172
|
min-inline-size: 0;
|
|
7904
8173
|
padding-block: var(--bf-panel-padding-block);
|
|
7905
|
-
padding-inline: var(--bf-
|
|
8174
|
+
padding-inline: var(--bf-component-inline-inset-action);
|
|
7906
8175
|
text-align: start;
|
|
7907
8176
|
}
|
|
7908
8177
|
|
|
7909
8178
|
:where(.bf-theme) :where(.bf-code-snippet-dropdown) + :where(.bf-code-snippet-dropdown) {
|
|
7910
|
-
box-shadow: inset
|
|
8179
|
+
box-shadow: inset 0.0625rem 0 0 var(--bf-color-border-default);
|
|
7911
8180
|
}
|
|
7912
8181
|
|
|
7913
8182
|
:where(.bf-theme) :where(.bf-code-snippet-dropdown):focus:not(:focus-visible) {
|
|
@@ -7915,8 +8184,8 @@ html.u-baseline-grid::after {
|
|
|
7915
8184
|
}
|
|
7916
8185
|
|
|
7917
8186
|
:where(.bf-theme) :where(.bf-code-snippet-dropdown):focus-visible {
|
|
7918
|
-
outline:
|
|
7919
|
-
outline-offset: -
|
|
8187
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
8188
|
+
outline-offset: -0.125rem;
|
|
7920
8189
|
}
|
|
7921
8190
|
|
|
7922
8191
|
:where(.bf-theme) :where(.bf-code-snippet-block, .bf-code-snippet-block.is-icon, .bf-code-snippet-block.is-numbered) {
|
|
@@ -7931,7 +8200,7 @@ html.u-baseline-grid::after {
|
|
|
7931
8200
|
min-inline-size: 0;
|
|
7932
8201
|
overflow-x: auto;
|
|
7933
8202
|
padding-block: var(--bf-panel-padding-block);
|
|
7934
|
-
padding-inline: var(--bf-
|
|
8203
|
+
padding-inline: var(--bf-component-inline-inset-continuation);
|
|
7935
8204
|
tab-size: 2;
|
|
7936
8205
|
white-space: pre;
|
|
7937
8206
|
}
|
|
@@ -7947,7 +8216,7 @@ html.u-baseline-grid::after {
|
|
|
7947
8216
|
|
|
7948
8217
|
:where(.bf-theme) :where(.bf-code-snippet-block.is-icon) {
|
|
7949
8218
|
cursor: copy;
|
|
7950
|
-
padding-inline-start: calc(var(--bf-
|
|
8219
|
+
padding-inline-start: calc(var(--bf-component-inline-inset-continuation) + (var(--bf-baseline) * 3));
|
|
7951
8220
|
position: relative;
|
|
7952
8221
|
}
|
|
7953
8222
|
|
|
@@ -7959,7 +8228,7 @@ html.u-baseline-grid::after {
|
|
|
7959
8228
|
line-height: var(--bf-h6-line-height, 1.5rem);
|
|
7960
8229
|
color: var(--bf-color-text-muted);
|
|
7961
8230
|
content: "$";
|
|
7962
|
-
inset-inline-start: var(--bf-
|
|
8231
|
+
inset-inline-start: var(--bf-component-inline-inset-continuation);
|
|
7963
8232
|
inset-block-start: var(--bf-panel-padding-block);
|
|
7964
8233
|
position: absolute;
|
|
7965
8234
|
}
|
|
@@ -7974,7 +8243,7 @@ html.u-baseline-grid::after {
|
|
|
7974
8243
|
|
|
7975
8244
|
:where(.bf-theme) :where(.bf-code-snippet-block.is-icon.is-copied) {
|
|
7976
8245
|
background: color-mix(in srgb, var(--bf-color-background-alt) 78%, var(--bf-color-background-information-default));
|
|
7977
|
-
box-shadow: inset 0 0 0
|
|
8246
|
+
box-shadow: inset 0 0 0 0.0625rem var(--bf-color-border-information);
|
|
7978
8247
|
}
|
|
7979
8248
|
|
|
7980
8249
|
:where(.bf-theme) :where(.bf-code-snippet-block.is-icon):focus:not(:focus-visible) {
|
|
@@ -7982,8 +8251,8 @@ html.u-baseline-grid::after {
|
|
|
7982
8251
|
}
|
|
7983
8252
|
|
|
7984
8253
|
:where(.bf-theme) :where(.bf-code-snippet-block.is-icon):focus-visible {
|
|
7985
|
-
outline:
|
|
7986
|
-
outline-offset: -
|
|
8254
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
8255
|
+
outline-offset: -0.125rem;
|
|
7987
8256
|
}
|
|
7988
8257
|
|
|
7989
8258
|
:where(.bf-theme) :where(.bf-code-snippet-block.is-numbered) {
|
|
@@ -8045,6 +8314,32 @@ html.u-baseline-grid::after {
|
|
|
8045
8314
|
z-index: 40;
|
|
8046
8315
|
}
|
|
8047
8316
|
|
|
8317
|
+
/* A responsive application brand occupies the persistent bar only while the
|
|
8318
|
+
* full navigation brand is unavailable. The same public tagged-logo contract
|
|
8319
|
+
* is used in both locations; state CSS guarantees that only one copy is
|
|
8320
|
+
* visible and exposed at a time. */
|
|
8321
|
+
:where(.bf-theme) :where(.bf-navigation-bar.is-responsive) :where(.bf-panel-header.is-navigation-brand) {
|
|
8322
|
+
align-items: start;
|
|
8323
|
+
column-gap: calc(var(--bf-baseline) * 2);
|
|
8324
|
+
padding-inline-end: var(--bf-panel-content-padding-inline, var(--bf-panel-padding-inline));
|
|
8325
|
+
}
|
|
8326
|
+
|
|
8327
|
+
:where(.bf-theme) :where(.bf-navigation-bar.is-responsive) {
|
|
8328
|
+
margin-block-end: calc(var(--bf-border-width) * -1);
|
|
8329
|
+
}
|
|
8330
|
+
|
|
8331
|
+
:where(.bf-theme) :where(.bf-navigation-bar.is-responsive) :where(.bf-panel-header.is-navigation-brand) > :where(.bf-top-navigation-logo.is-canonical-tagged) {
|
|
8332
|
+
flex: 1 1 12rem;
|
|
8333
|
+
inline-size: auto;
|
|
8334
|
+
min-inline-size: 0;
|
|
8335
|
+
}
|
|
8336
|
+
|
|
8337
|
+
:where(.bf-theme) :where(.bf-application:has(> .bf-navigation:not(.is-collapsed)))
|
|
8338
|
+
> :where(.bf-navigation-bar.is-responsive)
|
|
8339
|
+
:where(.bf-top-navigation-logo) {
|
|
8340
|
+
visibility: hidden;
|
|
8341
|
+
}
|
|
8342
|
+
|
|
8048
8343
|
:where(.bf-theme) :where(.bf-navigation) {
|
|
8049
8344
|
grid-column: 1 / -1;
|
|
8050
8345
|
grid-row: 1 / -1;
|
|
@@ -8091,7 +8386,7 @@ html.u-baseline-grid::after {
|
|
|
8091
8386
|
}
|
|
8092
8387
|
|
|
8093
8388
|
:where(.bf-theme) :where(.bf-navigation:not(.is-collapsed)) > :where(.bf-navigation-drawer) {
|
|
8094
|
-
box-shadow: 0
|
|
8389
|
+
box-shadow: 0 1.5rem 4.5rem rgba(0, 0, 0, 0.38);
|
|
8095
8390
|
transform: translateX(0);
|
|
8096
8391
|
visibility: visible;
|
|
8097
8392
|
}
|
|
@@ -8101,10 +8396,10 @@ html.u-baseline-grid::after {
|
|
|
8101
8396
|
}
|
|
8102
8397
|
|
|
8103
8398
|
:where(.bf-theme) :where(.bf-navigation.is-collapsed) :where(.bf-side-navigation-label) {
|
|
8104
|
-
block-size:
|
|
8399
|
+
block-size: 0.0625rem;
|
|
8105
8400
|
clip-path: inset(50%);
|
|
8106
|
-
inline-size:
|
|
8107
|
-
max-inline-size:
|
|
8401
|
+
inline-size: 0.0625rem;
|
|
8402
|
+
max-inline-size: 0.0625rem;
|
|
8108
8403
|
opacity: 0;
|
|
8109
8404
|
overflow: hidden;
|
|
8110
8405
|
pointer-events: none;
|
|
@@ -8122,8 +8417,8 @@ html.u-baseline-grid::after {
|
|
|
8122
8417
|
padding-inline: calc(var(--bf-baseline) * 1.25);
|
|
8123
8418
|
}
|
|
8124
8419
|
|
|
8125
|
-
:where(.bf-theme) :where(.bf-navigation.is-collapsed) :where(.bf-side-navigation-list) {
|
|
8126
|
-
|
|
8420
|
+
:where(.bf-theme) :where(.bf-navigation.is-collapsed) :where(.bf-side-navigation-list)::after {
|
|
8421
|
+
content: none;
|
|
8127
8422
|
}
|
|
8128
8423
|
|
|
8129
8424
|
: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) {
|
|
@@ -8136,6 +8431,14 @@ html.u-baseline-grid::after {
|
|
|
8136
8431
|
grid-template-rows: minmax(0, 1fr);
|
|
8137
8432
|
}
|
|
8138
8433
|
|
|
8434
|
+
:where(.bf-theme) :where(.bf-application:has(> .bf-navigation)):has(> .bf-aside.is-pinned:not(.is-collapsed)) {
|
|
8435
|
+
grid-template-areas:
|
|
8436
|
+
"navigation-bar navigation-bar"
|
|
8437
|
+
"main aside";
|
|
8438
|
+
grid-template-columns: minmax(0, 1fr) minmax(0, var(--bf-application-aside-width));
|
|
8439
|
+
grid-template-rows: min-content minmax(0, 1fr);
|
|
8440
|
+
}
|
|
8441
|
+
|
|
8139
8442
|
:where(.bf-theme) :where(.bf-main) {
|
|
8140
8443
|
grid-area: main;
|
|
8141
8444
|
min-block-size: 0;
|
|
@@ -8174,7 +8477,7 @@ html.u-baseline-grid::after {
|
|
|
8174
8477
|
:where(.bf-theme) :where(.bf-aside.is-overlay, .bf-aside.is-drawer) {
|
|
8175
8478
|
align-self: stretch;
|
|
8176
8479
|
block-size: auto;
|
|
8177
|
-
box-shadow: 0
|
|
8480
|
+
box-shadow: 0 1.5rem 4.5rem rgba(0, 0, 0, 0.38);
|
|
8178
8481
|
bottom: 0;
|
|
8179
8482
|
grid-column: 1 / -1;
|
|
8180
8483
|
grid-row: 1 / -1;
|
|
@@ -8264,14 +8567,14 @@ html.u-baseline-grid::after {
|
|
|
8264
8567
|
|
|
8265
8568
|
:where(.bf-theme) :where(.bf-application-aside-resize-handle)::after {
|
|
8266
8569
|
background: var(--bf-color-border-default);
|
|
8267
|
-
border-radius:
|
|
8570
|
+
border-radius: 62.4375rem;
|
|
8268
8571
|
content: "";
|
|
8269
8572
|
inset-block: var(--bf-panel-padding-block);
|
|
8270
|
-
inset-inline-start: calc(50% -
|
|
8573
|
+
inset-inline-start: calc(50% - 0.0625rem);
|
|
8271
8574
|
opacity: 0.95;
|
|
8272
8575
|
position: absolute;
|
|
8273
8576
|
transition: background-color 120ms ease, opacity 120ms ease;
|
|
8274
|
-
width:
|
|
8577
|
+
width: 0.125rem;
|
|
8275
8578
|
}
|
|
8276
8579
|
|
|
8277
8580
|
:where(.bf-theme) :where(.bf-application-aside-resize-handle):hover::after,
|
|
@@ -8281,8 +8584,8 @@ html.u-baseline-grid::after {
|
|
|
8281
8584
|
}
|
|
8282
8585
|
|
|
8283
8586
|
:where(.bf-theme) :where(.bf-application-aside-resize-handle):focus-visible {
|
|
8284
|
-
outline:
|
|
8285
|
-
outline-offset: -
|
|
8587
|
+
outline: 0.125rem solid var(--bf-application-resize-handle-focus-ring);
|
|
8588
|
+
outline-offset: -0.125rem;
|
|
8286
8589
|
}
|
|
8287
8590
|
|
|
8288
8591
|
@media (min-width: 64.75rem) {
|
|
@@ -8301,6 +8604,16 @@ html.u-baseline-grid::after {
|
|
|
8301
8604
|
grid-template-columns: minmax(0, var(--bf-application-navigation-width)) minmax(0, 1fr) minmax(0, var(--bf-application-aside-width));
|
|
8302
8605
|
}
|
|
8303
8606
|
|
|
8607
|
+
:where(.bf-theme) :where(.bf-application:has(> .bf-navigation:not(.is-collapsed))) > :where(.bf-navigation-bar.is-responsive) {
|
|
8608
|
+
block-size: 0;
|
|
8609
|
+
border: 0;
|
|
8610
|
+
min-block-size: 0;
|
|
8611
|
+
overflow: hidden;
|
|
8612
|
+
pointer-events: none;
|
|
8613
|
+
position: absolute;
|
|
8614
|
+
visibility: hidden;
|
|
8615
|
+
}
|
|
8616
|
+
|
|
8304
8617
|
:where(.bf-theme) :where(.bf-application:has(> .bf-navigation.is-collapsed)) {
|
|
8305
8618
|
--bf-application-navigation-width: var(--bf-application-navigation-width-collapsed);
|
|
8306
8619
|
}
|
|
@@ -8346,8 +8659,8 @@ html.u-baseline-grid::after {
|
|
|
8346
8659
|
}
|
|
8347
8660
|
|
|
8348
8661
|
/* The tagged treatment is opt-in. The Circle of Friends is aligned to the
|
|
8349
|
-
* first title line, then the
|
|
8350
|
-
* Its
|
|
8662
|
+
* first title line, then the 2.375rem tag extends upward to the navigation edge.
|
|
8663
|
+
* Its 1.375rem inline size preserves the established 38:22 (~1.73) tag ratio; the
|
|
8351
8664
|
* tag must not stretch to the full occupied navigation row. */
|
|
8352
8665
|
:where(.bf-theme) :where(.bf-top-navigation-logo.is-canonical-tagged) {
|
|
8353
8666
|
min-inline-size: 0;
|
|
@@ -8401,8 +8714,8 @@ html.u-baseline-grid::after {
|
|
|
8401
8714
|
line-height: var(--bf-top-navigation-logo-title-line-height, var(--bf-body-line-height, 1.5));
|
|
8402
8715
|
overflow: visible;
|
|
8403
8716
|
overflow-wrap: anywhere;
|
|
8404
|
-
/* The first title line and the
|
|
8405
|
-
* tag block-end minus the
|
|
8717
|
+
/* The first title line and the 1rem mark share the mark's fixed centre:
|
|
8718
|
+
* tag block-end minus the 0.375rem inset minus half the mark. Symmetric title
|
|
8406
8719
|
* padding keeps the occupied row stable across all four type-density tiers. */
|
|
8407
8720
|
padding-block: calc(
|
|
8408
8721
|
var(--bf-top-navigation-logo-tag-block-size)
|
|
@@ -8488,11 +8801,15 @@ html.u-baseline-grid::after {
|
|
|
8488
8801
|
:where(.bf-theme) :where(.bf-in-page-navigation) {
|
|
8489
8802
|
container-name: bf-in-page-navigation;
|
|
8490
8803
|
container-type: inline-size;
|
|
8491
|
-
margin
|
|
8804
|
+
margin: 0;
|
|
8492
8805
|
min-inline-size: 0;
|
|
8493
8806
|
}
|
|
8494
8807
|
|
|
8495
8808
|
:where(.bf-theme) :where(.bf-in-page-navigation-nav) {
|
|
8809
|
+
--bf-stack-space: var(--bf-space-1);
|
|
8810
|
+
align-content: start;
|
|
8811
|
+
display: grid;
|
|
8812
|
+
gap: var(--bf-stack-space);
|
|
8496
8813
|
max-block-size: 100dvb;
|
|
8497
8814
|
min-inline-size: 0;
|
|
8498
8815
|
overflow: auto;
|
|
@@ -8508,12 +8825,17 @@ html.u-baseline-grid::after {
|
|
|
8508
8825
|
line-height: var(--bf-h6-line-height, 1.5rem);
|
|
8509
8826
|
color: var(--bf-color-text-muted);
|
|
8510
8827
|
display: block;
|
|
8511
|
-
margin: 0
|
|
8512
|
-
padding-block:
|
|
8828
|
+
margin-block: 0 var(--bf-h6-margin-bottom);
|
|
8829
|
+
padding-block-end: 0;
|
|
8830
|
+
padding-block-start: var(--bf-h6-nudge-start);
|
|
8513
8831
|
}
|
|
8514
8832
|
|
|
8515
8833
|
:where(.bf-theme) :where(.bf-in-page-navigation-list) {
|
|
8834
|
+
--bf-stack-space: var(--bf-space-1);
|
|
8835
|
+
align-content: start;
|
|
8516
8836
|
border-inline-start: var(--bf-bar-thickness) solid var(--bf-color-border-low-contrast);
|
|
8837
|
+
display: grid;
|
|
8838
|
+
gap: var(--bf-stack-space);
|
|
8517
8839
|
list-style: none;
|
|
8518
8840
|
margin: 0;
|
|
8519
8841
|
min-inline-size: 0;
|
|
@@ -8521,13 +8843,16 @@ html.u-baseline-grid::after {
|
|
|
8521
8843
|
}
|
|
8522
8844
|
|
|
8523
8845
|
:where(.bf-theme) :where(.bf-in-page-navigation-item) {
|
|
8846
|
+
align-content: start;
|
|
8847
|
+
display: grid;
|
|
8848
|
+
gap: var(--bf-stack-space);
|
|
8524
8849
|
margin: 0;
|
|
8525
8850
|
min-inline-size: 0;
|
|
8526
8851
|
padding: 0;
|
|
8527
8852
|
position: relative;
|
|
8528
8853
|
}
|
|
8529
8854
|
|
|
8530
|
-
:where(.bf-theme) :where(.bf-in-page-navigation-link) {
|
|
8855
|
+
:where(.bf-theme) :where(a.bf-in-page-navigation-link) {
|
|
8531
8856
|
font-family: var(--bf-body-font-family, "Ubuntu Sans", "Segoe UI", system-ui, sans-serif);
|
|
8532
8857
|
font-size: var(--bf-body-font-size, 0.875rem);
|
|
8533
8858
|
font-style: var(--bf-body-font-style, normal);
|
|
@@ -8540,7 +8865,7 @@ html.u-baseline-grid::after {
|
|
|
8540
8865
|
min-inline-size: 0;
|
|
8541
8866
|
overflow: hidden;
|
|
8542
8867
|
overflow-wrap: anywhere;
|
|
8543
|
-
padding-block:
|
|
8868
|
+
padding-block: var(--bf-body-nudge-start) var(--bf-body-nudge-end);
|
|
8544
8869
|
padding-inline: var(--bf-space-2) 0;
|
|
8545
8870
|
position: relative;
|
|
8546
8871
|
text-decoration: none;
|
|
@@ -8548,7 +8873,7 @@ html.u-baseline-grid::after {
|
|
|
8548
8873
|
-webkit-box-orient: vertical;
|
|
8549
8874
|
}
|
|
8550
8875
|
|
|
8551
|
-
:where(.bf-theme) :where(.bf-in-page-navigation-link:hover) {
|
|
8876
|
+
:where(.bf-theme) :where(a.bf-in-page-navigation-link:hover) {
|
|
8552
8877
|
color: var(--bf-color-text-default);
|
|
8553
8878
|
text-decoration: none;
|
|
8554
8879
|
}
|
|
@@ -8558,8 +8883,8 @@ html.u-baseline-grid::after {
|
|
|
8558
8883
|
}
|
|
8559
8884
|
|
|
8560
8885
|
:where(.bf-theme) :where(.bf-in-page-navigation-link:focus-visible) {
|
|
8561
|
-
outline:
|
|
8562
|
-
outline-offset:
|
|
8886
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
8887
|
+
outline-offset: 0.125rem;
|
|
8563
8888
|
}
|
|
8564
8889
|
|
|
8565
8890
|
:where(.bf-theme) :where(.bf-in-page-navigation-link.is-active, .bf-in-page-navigation-link[aria-current]) {
|
|
@@ -8615,8 +8940,8 @@ html.u-baseline-grid::after {
|
|
|
8615
8940
|
}
|
|
8616
8941
|
|
|
8617
8942
|
:where(.bf-theme) :where(.bf-in-page-navigation-toggle:focus-visible) {
|
|
8618
|
-
outline:
|
|
8619
|
-
outline-offset: -
|
|
8943
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
8944
|
+
outline-offset: -0.125rem;
|
|
8620
8945
|
}
|
|
8621
8946
|
|
|
8622
8947
|
:where(.bf-theme) :where(.bf-in-page-navigation-toggle > .bf-icon) {
|
|
@@ -8630,6 +8955,7 @@ html.u-baseline-grid::after {
|
|
|
8630
8955
|
border-block-end: var(--bf-border-width) solid var(--bf-color-border-low-contrast);
|
|
8631
8956
|
display: grid;
|
|
8632
8957
|
grid-template-columns: minmax(0, 1fr) auto;
|
|
8958
|
+
row-gap: 0;
|
|
8633
8959
|
max-block-size: none;
|
|
8634
8960
|
overflow: visible;
|
|
8635
8961
|
position: static;
|
|
@@ -8642,6 +8968,7 @@ html.u-baseline-grid::after {
|
|
|
8642
8968
|
:where(.bf-theme) :where(.bf-in-page-navigation-list) {
|
|
8643
8969
|
border: 0;
|
|
8644
8970
|
display: flex;
|
|
8971
|
+
gap: 0;
|
|
8645
8972
|
grid-column: 1;
|
|
8646
8973
|
grid-row: 1;
|
|
8647
8974
|
margin: 0;
|
|
@@ -8706,7 +9033,8 @@ html.u-baseline-grid::after {
|
|
|
8706
9033
|
:where(.bf-theme) :where(.bf-in-page-navigation.is-expanded > .bf-in-page-navigation-nav > .bf-in-page-navigation-list, .bf-in-page-navigation:has(.bf-in-page-navigation-toggle[aria-expanded='true']) > .bf-in-page-navigation-nav > .bf-in-page-navigation-list) {
|
|
8707
9034
|
background: var(--bf-color-background-alt);
|
|
8708
9035
|
border-inline-start: var(--bf-bar-thickness) solid var(--bf-color-border-low-contrast);
|
|
8709
|
-
display:
|
|
9036
|
+
display: grid;
|
|
9037
|
+
gap: var(--bf-stack-space);
|
|
8710
9038
|
grid-column: 1 / -1;
|
|
8711
9039
|
grid-row: 2;
|
|
8712
9040
|
/* The mobile nav owns a bottom rule; reserve its thickness within the
|
|
@@ -8717,20 +9045,21 @@ html.u-baseline-grid::after {
|
|
|
8717
9045
|
}
|
|
8718
9046
|
|
|
8719
9047
|
:where(.bf-theme) :where(.bf-in-page-navigation.is-expanded .bf-in-page-navigation-item, .bf-in-page-navigation:has(.bf-in-page-navigation-toggle[aria-expanded='true']) .bf-in-page-navigation-item) {
|
|
8720
|
-
display:
|
|
9048
|
+
display: grid;
|
|
8721
9049
|
max-inline-size: none;
|
|
8722
9050
|
}
|
|
8723
9051
|
|
|
8724
9052
|
:where(.bf-theme) :where(.bf-in-page-navigation.is-expanded .bf-in-page-navigation-link, .bf-in-page-navigation:has(.bf-in-page-navigation-toggle[aria-expanded='true']) .bf-in-page-navigation-link) {
|
|
8725
9053
|
display: -webkit-box;
|
|
8726
9054
|
overflow-wrap: anywhere;
|
|
8727
|
-
padding-block:
|
|
9055
|
+
padding-block: var(--bf-body-nudge-start) var(--bf-body-nudge-end);
|
|
8728
9056
|
padding-inline: var(--bf-space-2) 0;
|
|
8729
9057
|
white-space: normal;
|
|
8730
9058
|
}
|
|
8731
9059
|
|
|
8732
9060
|
:where(.bf-theme) :where(.bf-in-page-navigation.is-expanded .bf-in-page-navigation-list .bf-in-page-navigation-list, .bf-in-page-navigation:has(.bf-in-page-navigation-toggle[aria-expanded='true']) .bf-in-page-navigation-list .bf-in-page-navigation-list) {
|
|
8733
|
-
display:
|
|
9061
|
+
display: grid;
|
|
9062
|
+
gap: var(--bf-stack-space);
|
|
8734
9063
|
}
|
|
8735
9064
|
|
|
8736
9065
|
:where(.bf-theme) :where(.bf-in-page-navigation.is-expanded .bf-in-page-navigation-link.is-active, .bf-in-page-navigation.is-expanded .bf-in-page-navigation-link[aria-current], .bf-in-page-navigation:has(.bf-in-page-navigation-toggle[aria-expanded='true']) .bf-in-page-navigation-link.is-active, .bf-in-page-navigation:has(.bf-in-page-navigation-toggle[aria-expanded='true']) .bf-in-page-navigation-link[aria-current])::before {
|
|
@@ -8813,35 +9142,47 @@ html.u-baseline-grid::after {
|
|
|
8813
9142
|
/* ------------------------------------------------------------------ */
|
|
8814
9143
|
|
|
8815
9144
|
:where(.bf-theme) :where(.bf-table-of-contents) {
|
|
9145
|
+
--bf-table-of-contents-section-gap: var(--bf-section-space-shallow);
|
|
9146
|
+
align-content: start;
|
|
8816
9147
|
container-name: bf-table-of-contents;
|
|
8817
9148
|
container-type: inline-size;
|
|
8818
|
-
|
|
9149
|
+
display: grid;
|
|
9150
|
+
gap: var(--bf-table-of-contents-section-gap);
|
|
9151
|
+
margin: 0;
|
|
8819
9152
|
min-inline-size: 0;
|
|
8820
9153
|
}
|
|
8821
9154
|
|
|
8822
9155
|
:where(.bf-theme) :where(.bf-table-of-contents-section) {
|
|
9156
|
+
--bf-stack-space: 0rem;
|
|
9157
|
+
align-content: start;
|
|
9158
|
+
display: grid;
|
|
9159
|
+
gap: var(--bf-stack-space);
|
|
8823
9160
|
margin: 0;
|
|
8824
9161
|
min-inline-size: 0;
|
|
8825
|
-
padding
|
|
9162
|
+
padding: 0;
|
|
9163
|
+
position: relative;
|
|
8826
9164
|
}
|
|
8827
9165
|
|
|
8828
|
-
:where(.bf-theme) :where(.bf-table-of-contents-section + .bf-table-of-contents-section) {
|
|
8829
|
-
|
|
8830
|
-
|
|
9166
|
+
:where(.bf-theme) :where(.bf-table-of-contents-section + .bf-table-of-contents-section)::before {
|
|
9167
|
+
background: var(--bf-color-border-low-contrast);
|
|
9168
|
+
block-size: var(--bf-border-width);
|
|
9169
|
+
content: "";
|
|
9170
|
+
inset-block-start: 0;
|
|
9171
|
+
inset-inline: 0;
|
|
9172
|
+
position: absolute;
|
|
8831
9173
|
}
|
|
8832
9174
|
|
|
8833
9175
|
:where(.bf-theme) :where(.bf-table-of-contents-heading) {
|
|
8834
|
-
|
|
8835
|
-
|
|
8836
|
-
|
|
8837
|
-
font-weight: var(--bf-h6-font-weight, 300);
|
|
8838
|
-
line-height: var(--bf-h6-line-height, 1.5rem);
|
|
8839
|
-
color: var(--bf-color-text-muted);
|
|
8840
|
-
margin: 0 0 var(--bf-space-1);
|
|
8841
|
-
padding-block: var(--bf-h6-nudge-start) var(--bf-h6-nudge-end);
|
|
9176
|
+
color: var(--bf-color-text-default);
|
|
9177
|
+
margin: 0;
|
|
9178
|
+
padding-block-end: 0;
|
|
8842
9179
|
}
|
|
8843
9180
|
|
|
8844
9181
|
:where(.bf-theme) :where(.bf-table-of-contents-list) {
|
|
9182
|
+
--bf-stack-space: 0rem;
|
|
9183
|
+
align-content: start;
|
|
9184
|
+
display: grid;
|
|
9185
|
+
gap: var(--bf-stack-space);
|
|
8845
9186
|
list-style: none;
|
|
8846
9187
|
margin: 0;
|
|
8847
9188
|
min-inline-size: 0;
|
|
@@ -8849,26 +9190,30 @@ html.u-baseline-grid::after {
|
|
|
8849
9190
|
}
|
|
8850
9191
|
|
|
8851
9192
|
:where(.bf-theme) :where(.bf-table-of-contents-item) {
|
|
9193
|
+
align-content: start;
|
|
9194
|
+
display: grid;
|
|
9195
|
+
gap: var(--bf-stack-space);
|
|
8852
9196
|
margin: 0;
|
|
8853
9197
|
min-inline-size: 0;
|
|
8854
9198
|
padding: 0;
|
|
8855
9199
|
}
|
|
8856
9200
|
|
|
8857
|
-
:where(.bf-theme) :where(.bf-table-of-contents-link) {
|
|
9201
|
+
:where(.bf-theme) :where(a.bf-table-of-contents-link) {
|
|
8858
9202
|
font-family: var(--bf-body-font-family, "Ubuntu Sans", "Segoe UI", system-ui, sans-serif);
|
|
8859
9203
|
font-size: var(--bf-body-font-size, 0.875rem);
|
|
8860
9204
|
font-style: var(--bf-body-font-style, normal);
|
|
8861
9205
|
font-weight: var(--bf-body-font-weight, 400);
|
|
8862
9206
|
line-height: var(--bf-body-line-height, 1.25rem);
|
|
9207
|
+
border-block: var(--bf-border-width) solid transparent;
|
|
8863
9208
|
color: var(--bf-color-link-default);
|
|
8864
9209
|
display: block;
|
|
8865
|
-
margin: 0;
|
|
9210
|
+
margin: 0 0 var(--bf-single-line-row-margin-block-end);
|
|
8866
9211
|
overflow-wrap: anywhere;
|
|
8867
|
-
padding-block:
|
|
9212
|
+
padding-block: var(--bf-single-line-row-padding-block);
|
|
8868
9213
|
text-decoration: none;
|
|
8869
9214
|
}
|
|
8870
9215
|
|
|
8871
|
-
:where(.bf-theme) :where(.bf-table-of-contents-link:hover) {
|
|
9216
|
+
:where(.bf-theme) :where(a.bf-table-of-contents-link:hover) {
|
|
8872
9217
|
color: var(--bf-color-text-default);
|
|
8873
9218
|
text-decoration: underline;
|
|
8874
9219
|
}
|
|
@@ -8878,8 +9223,8 @@ html.u-baseline-grid::after {
|
|
|
8878
9223
|
}
|
|
8879
9224
|
|
|
8880
9225
|
:where(.bf-theme) :where(.bf-table-of-contents-link:focus-visible) {
|
|
8881
|
-
outline:
|
|
8882
|
-
outline-offset:
|
|
9226
|
+
outline: 0.125rem solid var(--bf-color-focus);
|
|
9227
|
+
outline-offset: 0.125rem;
|
|
8883
9228
|
}
|
|
8884
9229
|
|
|
8885
9230
|
:where(.bf-theme) :where(.bf-table-of-contents-link.is-active, .bf-table-of-contents-link[aria-current]) {
|
|
@@ -8959,9 +9304,9 @@ html.u-baseline-grid::after {
|
|
|
8959
9304
|
padding: 0;
|
|
8960
9305
|
}
|
|
8961
9306
|
|
|
8962
|
-
:where(.bf-theme) :where(.bf-tiered-list-header) >
|
|
8963
|
-
:where(.bf-theme) :where(.bf-tiered-list-item) >
|
|
8964
|
-
:where(.bf-theme) :where(.bf-tiered-list-cta) >
|
|
9307
|
+
:where(.bf-theme) :where(.bf-tiered-list-header) > hr,
|
|
9308
|
+
:where(.bf-theme) :where(.bf-tiered-list-item) > hr,
|
|
9309
|
+
:where(.bf-theme) :where(.bf-tiered-list-cta) > hr {
|
|
8965
9310
|
grid-column: 1 / -1;
|
|
8966
9311
|
}
|
|
8967
9312
|
|
|
@@ -8976,8 +9321,8 @@ html.u-baseline-grid::after {
|
|
|
8976
9321
|
grid-template-columns: repeat(8, minmax(0, 1fr));
|
|
8977
9322
|
}
|
|
8978
9323
|
|
|
8979
|
-
:where(.bf-theme) :where(.bf-tiered-list:not(.is-list-full-width):not(.is-flush):not(.is-triple)) :where(.bf-tiered-list-item) >
|
|
8980
|
-
:where(.bf-theme) :where(.bf-tiered-list:not(.is-list-full-width):not(.is-flush):not(.is-triple)) :where(.bf-tiered-list-cta) >
|
|
9324
|
+
:where(.bf-theme) :where(.bf-tiered-list:not(.is-list-full-width):not(.is-flush):not(.is-triple)) :where(.bf-tiered-list-item) > hr,
|
|
9325
|
+
:where(.bf-theme) :where(.bf-tiered-list:not(.is-list-full-width):not(.is-flush):not(.is-triple)) :where(.bf-tiered-list-cta) > hr {
|
|
8981
9326
|
grid-column: 3 / span 6;
|
|
8982
9327
|
}
|
|
8983
9328
|
|
|
@@ -8992,9 +9337,9 @@ html.u-baseline-grid::after {
|
|
|
8992
9337
|
}
|
|
8993
9338
|
|
|
8994
9339
|
/* ------------------------------------------------------------------ */
|
|
8995
|
-
/* Header split (≥
|
|
9340
|
+
/* Header split (≥ 45rem): the shared readable 50/50 title/content split. */
|
|
8996
9341
|
/* ------------------------------------------------------------------ */
|
|
8997
|
-
@container (width >=
|
|
9342
|
+
@container (width >= 45rem) {
|
|
8998
9343
|
:where(.bf-theme) :where(.bf-tiered-list:not(.is-description-full-width)) :where(.bf-tiered-list-header) {
|
|
8999
9344
|
grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
|
|
9000
9345
|
}
|
|
@@ -9018,7 +9363,7 @@ html.u-baseline-grid::after {
|
|
|
9018
9363
|
queries cannot style their own container, so responsive descendants span
|
|
9019
9364
|
these tracks instead of relying on an ineligible self-query. */
|
|
9020
9365
|
grid-template-columns: repeat(8, minmax(0, 1fr));
|
|
9021
|
-
margin
|
|
9366
|
+
margin: 0;
|
|
9022
9367
|
position: relative;
|
|
9023
9368
|
}
|
|
9024
9369
|
|
|
@@ -9035,7 +9380,7 @@ html.u-baseline-grid::after {
|
|
|
9035
9380
|
/* Responsive aspect media can make a shared subgrid track land between
|
|
9036
9381
|
baselines. Snap that media box itself; the surrounding composition still
|
|
9037
9382
|
does not own or erase any child's semantic margins. */
|
|
9038
|
-
@supports (block-size: calc-size(auto, round(up, size,
|
|
9383
|
+
@supports (block-size: calc-size(auto, round(up, size, 0.0625rem))) {
|
|
9039
9384
|
:where(.bf-theme) :where(.bf-equal-height-row-item) > :where(.bf-aspect) {
|
|
9040
9385
|
block-size: calc-size(auto, round(up, size, var(--bf-baseline)));
|
|
9041
9386
|
}
|
|
@@ -9114,7 +9459,7 @@ html.u-baseline-grid::after {
|
|
|
9114
9459
|
:where(.bf-theme) :where(.bf-equal-height-row.is-divider-3:not(.is-divider-1))::before,
|
|
9115
9460
|
:where(.bf-theme) :where(.bf-equal-height-row.is-divider-3:not(.is-divider-2))::after {
|
|
9116
9461
|
background-color: var(--bf-color-border-low-contrast);
|
|
9117
|
-
block-size:
|
|
9462
|
+
block-size: 0.0625rem;
|
|
9118
9463
|
content: "";
|
|
9119
9464
|
display: none;
|
|
9120
9465
|
grid-column: 1 / -1;
|
|
@@ -9187,8 +9532,8 @@ html.u-baseline-grid::after {
|
|
|
9187
9532
|
/* ------------------------------------------------------------------ */
|
|
9188
9533
|
/* Gutter and margin escalation — viewport-based, all tiers */
|
|
9189
9534
|
/* Grid spec v0.3 §2.3: gutters set by global viewport breakpoint. */
|
|
9190
|
-
/* Baseline Foundry models the spec's
|
|
9191
|
-
/* default <
|
|
9535
|
+
/* Baseline Foundry models the spec's 28.75rem x-small row as part of the */
|
|
9536
|
+
/* default <38.75rem bracket because the values do not change at 28.75rem. */
|
|
9192
9537
|
/* ------------------------------------------------------------------ */
|
|
9193
9538
|
|
|
9194
9539
|
:where(.bf-theme) {
|
|
@@ -9271,6 +9616,13 @@ html.u-baseline-grid::after {
|
|
|
9271
9616
|
padding-inline: 0;
|
|
9272
9617
|
}
|
|
9273
9618
|
|
|
9619
|
+
/* A page is the outer grid row and therefore owns its horizontal gutter.
|
|
9620
|
+
* Fixed-width regions nested anywhere inside it retain their cap and
|
|
9621
|
+
* centering behavior without introducing a second page inset. */
|
|
9622
|
+
:where(.bf-theme) :where(.bf-page) :where(.bf-fixed-width) {
|
|
9623
|
+
padding-inline: 0;
|
|
9624
|
+
}
|
|
9625
|
+
|
|
9274
9626
|
/* ------------------------------------------------------------------ */
|
|
9275
9627
|
/* Grid base — 4 columns, all tiers */
|
|
9276
9628
|
/* ------------------------------------------------------------------ */
|
|
@@ -9292,7 +9644,7 @@ html.u-baseline-grid::after {
|
|
|
9292
9644
|
|
|
9293
9645
|
:where(.bf-theme) :where(.bf-grid.is-guide) > * {
|
|
9294
9646
|
background: color-mix(in srgb, var(--bf-color-accent) 18%, var(--bf-color-background-default));
|
|
9295
|
-
box-shadow: inset 0 0 0
|
|
9647
|
+
box-shadow: inset 0 0 0 0.0625rem color-mix(in srgb, var(--bf-color-accent) 50%, var(--bf-color-rule));
|
|
9296
9648
|
min-block-size: calc(var(--bf-baseline) * 4);
|
|
9297
9649
|
}
|
|
9298
9650
|
|
|
@@ -9375,18 +9727,18 @@ html.u-baseline-grid::after {
|
|
|
9375
9727
|
|
|
9376
9728
|
:where(.bf-theme.bf-tier-app) :where(.bf-form-label, .bf-form-help, .bf-button, .bf-button.is-base, .bf-status-label, .bf-chip, .bf-checkbox-label, .bf-radio-label, .bf-tabs-link, .bf-accordion-tab, .bf-validation-message) {
|
|
9377
9729
|
font-family: inherit;
|
|
9378
|
-
font-size:
|
|
9730
|
+
font-size: var(--bf-body-font-size);
|
|
9379
9731
|
font-style: normal;
|
|
9380
9732
|
font-weight: 400;
|
|
9381
|
-
line-height:
|
|
9733
|
+
line-height: var(--bf-body-line-height);
|
|
9382
9734
|
}
|
|
9383
9735
|
|
|
9384
9736
|
:where(.bf-theme.bf-tier-app) :where(.bf-input, .bf-button, .bf-button.is-base) {
|
|
9385
9737
|
font-family: inherit;
|
|
9386
|
-
font-size:
|
|
9738
|
+
font-size: var(--bf-body-font-size);
|
|
9387
9739
|
font-style: normal;
|
|
9388
9740
|
font-weight: 400;
|
|
9389
|
-
line-height:
|
|
9741
|
+
line-height: var(--bf-body-line-height);
|
|
9390
9742
|
}
|
|
9391
9743
|
|
|
9392
9744
|
:where(.bf-theme.bf-tier-app) :where(.bf-application) {
|
|
@@ -9396,7 +9748,7 @@ html.u-baseline-grid::after {
|
|
|
9396
9748
|
:where(.bf-theme.bf-tier-app) :where(.bf-navigation-drawer),
|
|
9397
9749
|
:where(.bf-theme.bf-tier-app) :where(.bf-navigation:not(.is-collapsed)) > :where(.bf-navigation-drawer),
|
|
9398
9750
|
:where(.bf-theme.bf-tier-app) :where(.bf-aside.is-overlay, .bf-aside.is-drawer) {
|
|
9399
|
-
box-shadow: 0
|
|
9751
|
+
box-shadow: 0 0.625rem 1.25rem rgba(0, 0, 0, 0.12), 0 0 0.1875rem rgba(0, 0, 0, 0.12);
|
|
9400
9752
|
}
|
|
9401
9753
|
|
|
9402
9754
|
:where(.bf-theme.bf-tier-app) :where(.bf-panel-header) {
|
|
@@ -9415,6 +9767,11 @@ html.u-baseline-grid::after {
|
|
|
9415
9767
|
padding-block-end: calc(var(--bf-panel-padding-block) - var(--bf-border-width));
|
|
9416
9768
|
}
|
|
9417
9769
|
|
|
9770
|
+
:where(.bf-theme.bf-tier-app) :where(.bf-navigation-bar.is-responsive) :where(.bf-panel-header.is-navigation-brand) {
|
|
9771
|
+
gap: calc(var(--bf-baseline) * 2);
|
|
9772
|
+
padding-block: 0;
|
|
9773
|
+
}
|
|
9774
|
+
|
|
9418
9775
|
:where(.bf-theme.bf-tier-app) :where(.bf-panel-controls) {
|
|
9419
9776
|
gap: calc(var(--bf-baseline) * 1.5);
|
|
9420
9777
|
}
|