bullframe.css 6.0.0 → 6.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/CHANGELOG.md +25 -1
  2. package/README.md +86 -26
  3. package/dist/css/bullframe-classless-dark.css +65 -58
  4. package/dist/css/bullframe-classless-dark.css.map +1 -1
  5. package/dist/css/bullframe-classless-dark.min.css +1 -1
  6. package/dist/css/bullframe-classless-dark.min.css.map +1 -1
  7. package/dist/css/bullframe-classless-system-default.css +61 -102
  8. package/dist/css/bullframe-classless-system-default.css.map +1 -1
  9. package/dist/css/bullframe-classless-system-default.min.css +1 -1
  10. package/dist/css/bullframe-classless-system-default.min.css.map +1 -1
  11. package/dist/css/bullframe-classless.css +37 -52
  12. package/dist/css/bullframe-classless.css.map +1 -1
  13. package/dist/css/bullframe-classless.min.css +1 -1
  14. package/dist/css/bullframe-classless.min.css.map +1 -1
  15. package/dist/css/bullframe-dark.css +216 -155
  16. package/dist/css/bullframe-dark.css.map +1 -1
  17. package/dist/css/bullframe-dark.min.css +1 -1
  18. package/dist/css/bullframe-dark.min.css.map +1 -1
  19. package/dist/css/bullframe-system-default.css +221 -154
  20. package/dist/css/bullframe-system-default.css.map +1 -1
  21. package/dist/css/bullframe-system-default.min.css +1 -1
  22. package/dist/css/bullframe-system-default.min.css.map +1 -1
  23. package/dist/css/bullframe-utilities.css +132 -65
  24. package/dist/css/bullframe-utilities.css.map +1 -1
  25. package/dist/css/bullframe-utilities.min.css +1 -1
  26. package/dist/css/bullframe-utilities.min.css.map +1 -1
  27. package/dist/css/bullframe.css +160 -115
  28. package/dist/css/bullframe.css.map +1 -1
  29. package/dist/css/bullframe.min.css +1 -1
  30. package/dist/css/bullframe.min.css.map +1 -1
  31. package/package.json +9 -5
@@ -1,8 +1,8 @@
1
- /* ! Bullframe CSS v6.0.0 | MIT License | https://github.com/marcop135/bullframe.css */
1
+ /* ! Bullframe CSS v6.1.0 | MIT License | https://github.com/marcop135/bullframe.css */
2
2
 
3
- /* Classless + system dark via prefers-color-scheme. */
3
+ /* Classless + system dark via prefers-color-scheme (element styles only). */
4
4
 
5
- /* Classless build: semantic element styles only (no .bf-* utilities). */
5
+ /* Classless build: semantic element styles only (no .bf-* classes). */
6
6
 
7
7
  /* Variables */
8
8
  /* Design tokens (--bf-*). Shared by every build variant.
@@ -34,6 +34,11 @@
34
34
  /* Invalid / error */
35
35
  --bf-red: rgb(255 0 0);
36
36
 
37
+ /* Focus ring (prefers-contrast: more raises colour for WCAG 1.4.11) */
38
+ --bf-focus-ring-color: var(--bf-orange);
39
+ --bf-focus-ring-width: 0.2rem;
40
+ --bf-focus-ring-offset: 0.3rem;
41
+
37
42
  /* Dark-mode surfaces (used by utility-global-dark*.css) */
38
43
  --bf-dark-bg: rgb(28 28 28);
39
44
  --bf-dark-link: rgb(77 165 255);
@@ -111,11 +116,6 @@ template {
111
116
  * Light UA improvements; complements Bullframe base styles. */
112
117
 
113
118
  @layer {
114
- /* Spacing between content and focus outline (enhances focus.css). */
115
- :focus-visible {
116
- outline-offset: 3px;
117
- }
118
-
119
119
  /* Disable mobile landscape text inflation on optimized layouts. */
120
120
  html {
121
121
  -webkit-text-size-adjust: none;
@@ -123,14 +123,11 @@ template {
123
123
  text-size-adjust: none;
124
124
  }
125
125
 
126
- /* Comfortable default root line-height (body still uses --bf-body-line-height). */
127
- html {
128
- line-height: 1.5;
129
- }
130
-
131
126
  /* Stable scrollbar gutter avoids layout jump on short pages. */
132
- html {
133
- scrollbar-gutter: stable;
127
+ @supports (scrollbar-gutter: stable) {
128
+ html {
129
+ scrollbar-gutter: stable;
130
+ }
134
131
  }
135
132
 
136
133
  /* Nested h1 size/margin: match modern UA (Safari still nests sectioning styles). */
@@ -139,13 +136,6 @@ template {
139
136
  margin-block: 0.67em;
140
137
  }
141
138
 
142
- /* abbr[title]: dotted underline + help cursor across engines. */
143
- abbr[title] {
144
- cursor: help;
145
- text-decoration-line: underline;
146
- text-decoration-style: dotted;
147
- }
148
-
149
139
  /* mark: system Highlight colors under forced-colors. */
150
140
  @media (forced-colors: active) {
151
141
  mark {
@@ -215,17 +205,12 @@ template {
215
205
  direction: ltr;
216
206
  }
217
207
 
218
- /* Tables: collapsed borders + cell padding for scanability. */
208
+ /* Tables: outer border. Cell borders and padding come from
209
+ * miscellaneous/tables.css, which is unlayered and therefore wins. */
219
210
  table {
220
211
  border: 1px solid currentColor;
221
212
  }
222
213
 
223
- th,
224
- td {
225
- border: 1px solid currentColor;
226
- padding: 0.25em 0.5em;
227
- }
228
-
229
214
  /* Soft dialog / popover enter transitions (skip when reduced-motion is on). */
230
215
  @media (prefers-reduced-motion: no-preference) {
231
216
  dialog::backdrop {
@@ -259,26 +244,11 @@ template {
259
244
  }
260
245
  }
261
246
 
262
- /* Keep [hidden] hard-hidden except until-found. */
263
- [hidden]:not([hidden='until-found']) {
264
- display: none !important;
265
- }
266
-
267
247
  /* Images as blocks (max-width still from embedded-content.css). */
268
248
  img {
269
249
  display: block;
270
250
  }
271
251
 
272
- /* summary: pointer on the whole control, not only ::marker. */
273
- summary {
274
- cursor: default;
275
- }
276
-
277
- /* iframes: no default border. */
278
- iframe {
279
- border: none;
280
- }
281
-
282
252
  /* Popovers: anchor near trigger when position-area is supported. */
283
253
  @supports (position-area: block-end span-inline-end) {
284
254
  [popover] {
@@ -356,7 +326,18 @@ h6 {
356
326
  color: inherit;
357
327
  line-height: 1.25;
358
328
  margin-bottom: var(--bf-spacing-lg);
359
- text-wrap: balance;
329
+ }
330
+
331
+ /* Balanced headings where supported; no-op elsewhere. */
332
+ @supports (text-wrap: balance) {
333
+ h1,
334
+ h2,
335
+ h3,
336
+ h4,
337
+ h5,
338
+ h6 {
339
+ text-wrap: balance;
340
+ }
360
341
  }
361
342
 
362
343
  h1 {
@@ -441,6 +422,7 @@ strong {
441
422
  font-weight: inherit;
442
423
  }
443
424
 
425
+ /* stylelint-disable-next-line no-duplicate-selectors -- normalize.css Safari fix */
444
426
  b,
445
427
  strong {
446
428
  font-weight: bolder;
@@ -1116,7 +1098,7 @@ a:not([href], [class]):hover {
1116
1098
  a:not([href], [tabindex]):focus {
1117
1099
  outline: 0;
1118
1100
  }
1119
- /* Keyboard-first focus: orange :focus-visible ring; mute mouse outline.
1101
+ /* Keyboard-first focus: :focus-visible ring from --bf-focus-ring-*; mute mouse outline.
1120
1102
  * Text-like controls clear UA outline here; field chrome is in forms/styling.css. */
1121
1103
 
1122
1104
  :where(:focus:not(:focus-visible)) {
@@ -1129,8 +1111,8 @@ a:not([href], [tabindex]):focus {
1129
1111
  }
1130
1112
 
1131
1113
  :focus-visible {
1132
- outline: 0.2rem solid var(--bf-orange);
1133
- outline-offset: 0.3rem;
1114
+ outline: var(--bf-focus-ring-width) solid var(--bf-focus-ring-color);
1115
+ outline-offset: var(--bf-focus-ring-offset);
1134
1116
  }
1135
1117
 
1136
1118
  /* Clear UA outline on text-like controls (styled fields keep their own chrome).
@@ -1155,8 +1137,7 @@ button:focus,
1155
1137
  [type='checkbox']:focus,
1156
1138
  input[list]:focus,
1157
1139
  select:focus,
1158
- textarea:focus,
1159
- .bf-btn:focus {
1140
+ textarea:focus {
1160
1141
  outline: 0;
1161
1142
  }
1162
1143
  /* List spacing and nav list reset. */
@@ -1187,7 +1168,6 @@ ol {
1187
1168
  nav ol,
1188
1169
  nav ul {
1189
1170
  list-style: none;
1190
- list-style-image: none;
1191
1171
  margin-left: 0;
1192
1172
  }
1193
1173
 
@@ -1430,6 +1410,12 @@ caption {
1430
1410
  text-decoration: underline;
1431
1411
  }
1432
1412
 
1413
+ /* Darker amber clears WCAG 1.4.11 (3:1) on white, --bf-light and --bf-dark-bg;
1414
+ * the default --bf-orange ring is only ~2:1 on white. */
1415
+ :root {
1416
+ --bf-focus-ring-color: rgb(184 115 0);
1417
+ }
1418
+
1433
1419
  :focus-visible {
1434
1420
  outline-width: 0.3rem;
1435
1421
  outline-offset: 0.4rem;
@@ -1468,17 +1454,19 @@ caption {
1468
1454
  button,
1469
1455
  [type='button'],
1470
1456
  [type='reset'],
1471
- [type='submit'],
1472
- .bf-btn {
1457
+ [type='submit'] {
1473
1458
  border: 1px solid ButtonText;
1474
1459
  }
1475
1460
  }
1476
- /* System-preference dark: shared dark rules + scrollbars under prefers-color-scheme.
1477
- * postcss-import wraps each import in the media query at build time. */
1478
1461
  @media (prefers-color-scheme: dark) {
1479
1462
 
1480
- /* Shared dark-mode rules for always-dark and prefers-color-scheme builds.
1481
- * Variant-only extras: utility-global-dark.css. Scrollbars: global-dark-scrollbars.css.
1463
+ /* Always-dark overrides for classless (no media query, no .bf-* selectors). */
1464
+ }
1465
+ @media (prefers-color-scheme: dark) {
1466
+
1467
+ /* Element-level dark-mode rules, shared by the class-based and classless dark
1468
+ * sheets. Contains no .bf-* selector, so the classless builds can import it as
1469
+ * they are. Class-based extras live in _utility-global-dark-shared.css.
1482
1470
  * Underscore prefix excludes this file from the buildAllCss glob. */
1483
1471
 
1484
1472
  html {
@@ -1565,17 +1553,6 @@ textarea:focus {
1565
1553
  box-shadow: 0 0 0 3px var(--bf-dark-shadow-focus);
1566
1554
  }
1567
1555
 
1568
- .bf-focused {
1569
- border-color: var(--bf-dark-border-focus) !important;
1570
- box-shadow: 0 0 0 3px var(--bf-dark-shadow-focus) !important;
1571
- }
1572
-
1573
- .bf-invalid,
1574
- .bf-invalid:focus {
1575
- color: var(--bf-dark-invalid) !important;
1576
- border-color: var(--bf-dark-invalid) !important;
1577
- }
1578
-
1579
1556
  select:not([size], select[multiple]) {
1580
1557
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23f0f0f0' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e");
1581
1558
  }
@@ -1608,8 +1585,7 @@ textarea::placeholder {
1608
1585
  button,
1609
1586
  [type='button'],
1610
1587
  [type='reset'],
1611
- [type='submit'],
1612
- .bf-btn {
1588
+ [type='submit'] {
1613
1589
  background: var(--bf-gray-light);
1614
1590
  }
1615
1591
 
@@ -1624,10 +1600,7 @@ button:focus,
1624
1600
  [type='reset']:focus,
1625
1601
  [type='submit']:hover,
1626
1602
  [type='submit']:active,
1627
- [type='submit']:focus,
1628
- .bf-btn:hover,
1629
- .bf-btn:active,
1630
- .bf-btn:focus {
1603
+ [type='submit']:focus {
1631
1604
  background: var(--bf-dark-button-hover);
1632
1605
  }
1633
1606
 
@@ -1638,37 +1611,10 @@ button:focus,
1638
1611
  [type='reset']:active,
1639
1612
  [type='reset']:focus,
1640
1613
  [type='submit']:active,
1641
- [type='submit']:focus,
1642
- .bf-btn:active,
1643
- .bf-btn:focus {
1614
+ [type='submit']:focus {
1644
1615
  box-shadow: 0 0 0 3px var(--bf-dark-button-shadow);
1645
1616
  }
1646
1617
 
1647
- .bf-btn.bf-btn--primary {
1648
- background: var(--bf-blue);
1649
- }
1650
-
1651
- .bf-btn.bf-btn--primary:hover,
1652
- .bf-btn.bf-btn--primary:active,
1653
- .bf-btn.bf-btn--primary:focus {
1654
- background: var(--bf-blue-light);
1655
- }
1656
-
1657
- .bf-btn.bf-btn--primary:active,
1658
- .bf-btn.bf-btn--primary:focus {
1659
- box-shadow: 0 0 0 3px rgb(190 216 254 / 75%);
1660
- }
1661
-
1662
- .bf-table th,
1663
- .bf-table td {
1664
- border-color: var(--bf-gray-dark);
1665
- }
1666
-
1667
- .bf-table--zebra tbody tr:nth-child(odd),
1668
- .bf-table-responsive--zebra tbody tr:nth-child(odd) {
1669
- background-color: var(--bf-gray-dark-extra);
1670
- }
1671
-
1672
1618
  dialog {
1673
1619
  color: var(--bf-light);
1674
1620
  background-color: var(--bf-dark-bg);
@@ -1691,6 +1637,19 @@ progress[value]::-webkit-progress-value {
1691
1637
  background: var(--bf-blue);
1692
1638
  }
1693
1639
  }
1640
+
1641
+ @media (prefers-color-scheme: dark) {
1642
+
1643
+ a:focus,
1644
+ input:focus {
1645
+ outline-color: rgb(214 140 0); /* orange -15% */
1646
+ }
1647
+
1648
+ :focus-visible {
1649
+ outline-color: rgb(214 140 0); /* orange -15% */
1650
+ }
1651
+ }
1652
+
1694
1653
  @media (prefers-color-scheme: dark) {
1695
1654
 
1696
1655
  /* Dark scrollbar colors (Firefox + WebKit). */
@@ -1 +1 @@
1
- {"version":3,"sources":["<no source>","bullframe-classless-system-default.css","bullframe-classless.css","variables.css","miscellaneous/layout.css","miscellaneous/uaplus-enhancements.css","typography/html-body.css","typography/headings.css","typography/blockquotes.css","typography/misc.css","typography/monospaced-elements.css","forms/normalization.css","forms/styling.css","forms/styling-select.css","forms/styling-range.css","miscellaneous/anchors.css","miscellaneous/focus.css","miscellaneous/lists.css","miscellaneous/embedded-content.css","miscellaneous/interactive.css","miscellaneous/scrolling.css","miscellaneous/tables.css","miscellaneous/accessibility.css","miscellaneous/accessibility-preferences.css","utility-global-dark-prefers.css","_utility-global-dark-shared.css","utilities/global-dark-scrollbars.css"],"names":[],"mappings":"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","file":"bullframe-classless-system-default.css","sourcesContent":[null,"/* Classless + system dark via prefers-color-scheme. */\n\n@import './bullframe-classless.css';\n@import './utility-global-dark-prefers.css';\n","/* Classless build: semantic element styles only (no .bf-* utilities). */\n\n/* Variables */\n@import './variables.css';\n\n/* Layout */\n@import './miscellaneous/layout.css';\n@import './miscellaneous/uaplus-enhancements.css';\n\n/* Typography */\n@import './typography/html-body.css';\n@import './typography/headings.css';\n@import './typography/blockquotes.css';\n@import './typography/misc.css';\n@import './typography/monospaced-elements.css';\n\n/* Forms */\n@import './forms/normalization.css';\n@import './forms/styling.css';\n@import './forms/styling-select.css';\n@import './forms/styling-range.css';\n\n/* Miscellaneous */\n@import './miscellaneous/anchors.css';\n@import './miscellaneous/focus.css';\n@import './miscellaneous/lists.css';\n@import './miscellaneous/embedded-content.css';\n@import './miscellaneous/interactive.css';\n@import './miscellaneous/scrolling.css';\n@import './miscellaneous/tables.css';\n@import './miscellaneous/accessibility.css';\n@import './miscellaneous/accessibility-preferences.css';\n","/* Design tokens (--bf-*). Shared by every build variant.\n * Override on :root (or a scope) to theme without rebuilding. */\n\n:root {\n /* Neutrals */\n --bf-white: rgb(255 255 255);\n --bf-light: rgb(240 240 240);\n --bf-gray-light-extra: rgb(233 233 233);\n --bf-gray-light: rgb(204 204 204);\n --bf-gray: rgb(153 153 153);\n --bf-gray-dark: rgb(102 102 102);\n --bf-gray-dark-extra: rgb(51 51 51);\n --bf-dark: rgb(34 34 34);\n --bf-dark-extra: rgb(17 17 17);\n --bf-black: rgb(0 0 0);\n\n /* Highlight / mark */\n --bf-yellow-light: rgb(255 255 153);\n --bf-yellow: rgb(255 255 0);\n --bf-orange: rgb(255 165 0);\n\n /* Accent: WCAG AA on white (links 4.5:1) and white-on-blue buttons (4.5:1) */\n --bf-blue: rgb(0 86 179);\n --bf-blue-light: rgb(0 65 135);\n --bf-blue-light-extra: rgb(190 216 254);\n\n /* Invalid / error */\n --bf-red: rgb(255 0 0);\n\n /* Dark-mode surfaces (used by utility-global-dark*.css) */\n --bf-dark-bg: rgb(28 28 28);\n --bf-dark-link: rgb(77 165 255);\n --bf-dark-link-hover: rgb(77 165 255);\n --bf-dark-border-focus: rgb(26 140 255);\n --bf-dark-shadow-focus: rgb(3 102 214 / 50%);\n --bf-dark-mark-bg: rgb(230 230 0);\n --bf-dark-ins-bg: rgb(255 255 200);\n --bf-dark-button-hover: rgb(184 184 184);\n --bf-dark-button-shadow: rgb(255 255 255 / 45%);\n --bf-dark-invalid: rgb(255 38 38);\n\n /* Spacing scale + grid gutter */\n --bf-spacing-sm: 0.25rem;\n --bf-spacing-md: 0.5rem;\n --bf-spacing-lg: 1rem;\n --bf-spacing-xl: 2rem;\n --bf-spacing-xxl: 3rem;\n --bf-spacing-grid-gutter: 1.5rem;\n\n /* Type */\n --bf-font-sans-serif:\n -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell,\n 'Helvetica Neue', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',\n 'Segoe UI Symbol', 'Noto Color Emoji';\n --bf-font-serif: Georgia, Times, 'Times New Roman', serif;\n --bf-font-monospace:\n SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;\n --bf-body-font-size-rem: 1.6rem;\n --bf-body-line-height: 1.5;\n\n /* Breakpoint tokens (documentation / tooling; media queries use literal px below) */\n --bf-breakpoint-xs: 0;\n --bf-breakpoint-sm: 576px;\n --bf-breakpoint-md: 768px;\n --bf-breakpoint-lg: 992px;\n --bf-breakpoint-xl: 1200px;\n --bf-breakpoint-xxl: 1400px;\n}\n","/* Border-box and HTML5 block elements. */\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\narticle,\naside,\ndialog,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\ndetails {\n display: block;\n}\n\ntemplate {\n display: none;\n}\n\n/* [hidden] stays hidden (except until-found). */\n[hidden]:where(:not([hidden='until-found'])) {\n display: none !important;\n}\n","/* UA+ enhancements (adapted from https://fokus.dev/tools/uaplus/).\n * Light UA improvements; complements Bullframe base styles. */\n\n@layer {\n /* Spacing between content and focus outline (enhances focus.css). */\n :focus-visible {\n outline-offset: 3px;\n }\n\n /* Disable mobile landscape text inflation on optimized layouts. */\n html {\n -webkit-text-size-adjust: none;\n text-size-adjust: none;\n }\n\n /* Comfortable default root line-height (body still uses --bf-body-line-height). */\n html {\n line-height: 1.5;\n }\n\n /* Stable scrollbar gutter avoids layout jump on short pages. */\n html {\n scrollbar-gutter: stable;\n }\n\n /* Nested h1 size/margin: match modern UA (Safari still nests sectioning styles). */\n h1 {\n font-size: 2em;\n margin-block: 0.67em;\n }\n\n /* abbr[title]: dotted underline + help cursor across engines. */\n abbr[title] {\n cursor: help;\n text-decoration-line: underline;\n text-decoration-style: dotted;\n }\n\n /* mark: system Highlight colors under forced-colors. */\n @media (forced-colors: active) {\n mark {\n color: HighlightText;\n background-color: Highlight;\n }\n }\n\n /* Embedded media: stay within container block/inline size. */\n audio,\n iframe,\n img,\n svg,\n video {\n max-block-size: 100%;\n max-inline-size: 100%;\n }\n\n /* fieldset: avoid min-content overflow from children. */\n fieldset {\n min-inline-size: 0;\n }\n\n /* Labels for text-like controls are block; :has() gated for older engines. */\n @supports selector(:has(*)) {\n label:has(+ input:not([type='radio'], [type='checkbox']), select, textarea) {\n display: block;\n }\n }\n\n /* Taller default textarea when rows is omitted. */\n textarea:not([rows]) {\n min-block-size: 6em;\n }\n\n /* Form controls inherit page font family/size. */\n button,\n input,\n select,\n textarea {\n font-family: inherit;\n font-size: inherit;\n }\n\n /* Search: drop WebKit rounded search chrome. */\n [type='search'] {\n -webkit-appearance: textfield;\n }\n\n /* iOS only: system border/background for search. */\n @supports (-webkit-touch-callout: none) {\n [type='search'] {\n border: 1px solid -apple-system-secondary-label;\n background-color: canvas;\n }\n }\n\n /* Keep tel/url/email/number LTR when a value is present (RTL placeholders stay). */\n input:where([type='tel'], [type='url'], [type='email'], [type='number']):not(\n :placeholder-shown\n ) {\n direction: ltr;\n }\n\n /* Tables: collapsed borders + cell padding for scanability. */\n table {\n border: 1px solid currentColor;\n }\n\n th,\n td {\n border: 1px solid currentColor;\n padding: 0.25em 0.5em;\n }\n\n /* Soft dialog / popover enter transitions (skip when reduced-motion is on). */\n @media (prefers-reduced-motion: no-preference) {\n dialog::backdrop {\n background: rgb(0 0 0 / 0.3);\n }\n\n @supports (overlay: auto) {\n dialog,\n [popover],\n dialog::backdrop {\n opacity: 0;\n transition:\n opacity 300ms ease-out,\n display 300ms allow-discrete,\n overlay 300ms allow-discrete;\n }\n\n dialog[open],\n :popover-open,\n dialog[open]::backdrop {\n opacity: 1;\n }\n\n @starting-style {\n dialog[open],\n :popover-open,\n dialog[open]::backdrop {\n opacity: 0;\n }\n }\n }\n }\n\n /* Keep [hidden] hard-hidden except until-found. */\n [hidden]:not([hidden='until-found']) {\n display: none !important;\n }\n\n /* Images as blocks (max-width still from embedded-content.css). */\n img {\n display: block;\n }\n\n /* summary: pointer on the whole control, not only ::marker. */\n summary {\n cursor: default;\n }\n\n /* iframes: no default border. */\n iframe {\n border: none;\n }\n\n /* Popovers: anchor near trigger when position-area is supported. */\n @supports (position-area: block-end span-inline-end) {\n [popover] {\n margin: 0;\n position-area: block-end span-inline-end;\n }\n }\n}\n","/* Root type and page chrome. */\n\nhtml {\n text-size-adjust: 100%;\n\n /* 62.5% root so 1rem ≈ 10px. */\n font-size: 62.5%;\n\n color: var(--bf-dark);\n font-family: system-ui, sans-serif;\n line-height: 1.15;\n\n /* No tap flash on touch. */\n -webkit-tap-highlight-color: rgb(0 0 0 / 0%);\n}\n\nbody {\n margin: 0;\n font-size: var(--bf-body-font-size-rem);\n line-height: var(--bf-body-line-height);\n font-weight: 400;\n text-align: left;\n\n /* System UI stack (OS-native). */\n font-family:\n /* Safari / iOS (San Francisco) */\n -apple-system,\n /* Chrome < 56 on macOS (San Francisco) */ BlinkMacSystemFont,\n /* Windows */ 'Segoe UI',\n /* Android */ Roboto,\n /* KDE */ Oxygen-Sans,\n /* Ubuntu */ Ubuntu,\n /* GNOME */ Cantarell,\n /* macOS 10.10 and below */ 'Helvetica Neue',\n Helvetica,\n /* Web fallback */ Arial,\n 'Noto Sans',\n sans-serif,\n /* Emoji */ 'Apple Color Emoji',\n 'Segoe UI Emoji',\n 'Segoe UI Symbol',\n 'Noto Color Emoji';\n\n /* Ligatures and kerning. */\n text-rendering: optimizeLegibility;\n\n /* Long unbroken strings (e.g. headlines) wrap instead of overflowing. */\n word-wrap: break-word;\n\n background-color: var(--bf-white);\n}\n","/* Heading scale and rhythm. */\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n margin-top: 0;\n font-weight: 600;\n font-family: inherit;\n color: inherit;\n line-height: 1.25;\n margin-bottom: var(--bf-spacing-lg);\n text-wrap: balance;\n}\n\nh1 {\n font-size: 36px;\n font-size: 3.6rem;\n}\n\nh2 {\n font-size: 30px;\n font-size: 3rem;\n}\n\nh3 {\n font-size: 24px;\n font-size: 2.4rem;\n}\n\nh4 {\n font-size: 20px;\n font-size: 2rem;\n}\n\nh5,\nh6 {\n font-size: 16px;\n font-size: 1.6rem;\n}\n","/* Blockquote and citation. */\n\nblockquote {\n margin: 0 0 var(--bf-spacing-xl);\n padding-left: 0;\n font-style: italic;\n}\n\nblockquote p {\n margin-bottom: 0;\n}\n\nblockquote small {\n color: var(--bf-gray);\n display: block;\n}\n\nblockquote small::before {\n content: '\\2014 \\00A0';\n}\n\nq {\n quotes: '\\201C' '\\201D' '\\2018' '\\2019';\n}\n","/* Paragraphs, abbr, mark/ins, emphasis, sub/sup, small, hr. */\n\np {\n margin: 0 0 var(--bf-spacing-xl) 0;\n}\n\n/* abbr (Bootstrap 4): dotted underline + help cursor. */\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n text-decoration: underline;\n text-decoration: underline dotted;\n border-bottom: 0;\n}\n\nmark {\n background-color: var(--bf-yellow);\n color: var(--bf-black);\n}\n\nins {\n background-color: var(--bf-yellow-light);\n color: var(--bf-black);\n text-decoration: none;\n}\n\n/* Inherit first so Safari does not double-apply bolder, then set bolder. */\nb,\nstrong {\n font-weight: inherit;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\ndfn {\n font-style: italic;\n}\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsup {\n top: -8px;\n top: -0.8rem;\n}\n\nsub {\n bottom: -4px;\n bottom: -0.4rem;\n}\n\nsmall {\n font-size: 80%;\n}\n\n/* Tighter leading when a paragraph contains <small>. */\n@supports selector(:has(*)) {\n p:has(small) {\n line-height: 1.25;\n }\n}\n\nhr {\n box-sizing: content-box;\n display: block;\n height: 0;\n border-style: solid;\n border-width: 1px 0 0;\n color: inherit;\n margin: var(--bf-spacing-xl) 0;\n padding: 0;\n overflow: visible; /* Edge: show overflow. */\n}\n","/* pre / code / kbd / samp. */\n\npre {\n margin: 0 0 var(--bf-spacing-xl) 0;\n\n display: block;\n overflow: auto;\n word-break: break-all; /* WebKit */\n word-wrap: break-word;\n white-space: pre;\n hyphens: none;\n\n /* Keep scrollbars visible in legacy Edge.\n * https://github.com/twbs/bootstrap/pull/30685 */\n -ms-overflow-style: auto;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family:\n /* macOS 10.10+ */\n Menlo, Consolas, 'Roboto Mono', 'Ubuntu Monospace', 'Noto Mono', 'Oxygen Mono',\n 'Liberation Mono', monospace, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',\n 'Noto Color Emoji';\n\n /* Mono faces read large; use a slightly smaller size. */\n font-size: 0.875em;\n}\n\ncode {\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n","/* Form control reset: inheritance, sizing, and UA quirks. */\n\n:where(html input, button, select, optgroup, textarea) {\n color: inherit;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\n:where(html input, button, [type='radio'], [type='checkbox'], select, optgroup, textarea) {\n margin: 0;\n}\n\n:where(html input, select, textarea, legend) {\n width: 100%;\n}\n\n/* Shrink-to-content controls stay auto-width. */\n:where(\n html label,\n button,\n [type='image'],\n [type='submit'],\n [type='reset'],\n html [type='button'],\n [type='radio'],\n [type='checkbox']\n) {\n width: auto;\n}\n\n/* inline-block: consistent sizing and vertical-align across engines. */\n:where(\n html input,\n label,\n select,\n textarea,\n button,\n html [type='button'],\n [type='reset'],\n [type='submit'],\n output\n) {\n display: inline-block;\n}\n\n:where([type='file']) {\n display: block;\n background-color: transparent;\n}\n\n:where(button, html input, select, textarea) {\n background-image: none;\n}\n\n:where(input, select, textarea) {\n vertical-align: baseline;\n}\n\n:where(form) {\n margin: 0;\n}\n\n/* Drop fieldset min-content width so nested grids can shrink. */\n:where(fieldset) {\n border: 0;\n padding: 0;\n margin: 0;\n min-width: 0;\n}\n\n:where(legend) {\n display: table; /* Text wrapping in Edge / IE. */\n max-width: 100%;\n white-space: normal;\n border: 0;\n padding: 0;\n font-weight: 400;\n margin-bottom: var(--bf-spacing-md);\n font-size: inherit;\n line-height: 1.375;\n color: inherit;\n}\n\n:where(label) {\n font-weight: 400;\n font-size: 90%;\n line-height: 1.375;\n margin-bottom: var(--bf-spacing-md);\n}\n\n:where(label input, label select, label textarea) {\n font-size: 110%;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n:where([type='search']) {\n outline-offset: calc(-1 * var(--bf-spacing-sm));\n}\n\n:where(output) {\n vertical-align: middle;\n}\n\n:where(button, select) {\n text-transform: none;\n}\n\n:where(select) {\n word-wrap: normal;\n}\n\n/* Hide WebKit datalist picker chrome (Bootstrap Reboot 5.2).\n * https://unpkg.com/browse/bootstrap@5.2.0/dist/css/bootstrap-reboot.css */\n:where([list]):not(\n [type='date'],\n [type='datetime-local'],\n [type='month'],\n [type='week'],\n [type='time']\n )::-webkit-calendar-picker-indicator {\n display: none !important;\n}\n\n:where(optgroup) {\n font-family: inherit;\n font-size: inherit;\n font-style: inherit; /* Families without a 600 face. */\n font-weight: 600;\n}\n\n/* Reset WebKit / Blink appearance on text-like controls. */\n:where(\n button,\n html [type='button'],\n [type='reset'],\n [type='submit'],\n [type='email'],\n [type='number'],\n [type='text'],\n [type='tel'],\n [type='date'],\n [type='datetime-local'],\n [type='month'],\n [type='week'],\n [type='url'],\n [type='image'],\n [type='password'],\n [type='search'],\n [type='search']::-webkit-search-decoration,\n [type='search']::-webkit-search-cancel-button,\n input[list],\n textarea\n) {\n appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n appearance: auto;\n}\n\n::file-selector-button {\n font: inherit;\n appearance: auto;\n}\n\n:where(button, input, select, textarea) {\n border-radius: var(--bf-spacing-sm);\n}\n\n:where([type='radio']) {\n border-radius: 50%;\n}\n\n:where([type='checkbox']) {\n border-radius: var(--bf-spacing-md);\n}\n\n:where([type='radio'], [type='checkbox']) {\n padding: 0;\n background-color: var(--bf-white);\n}\n\n:where([type='range' i]) {\n background-color: transparent;\n}\n\n:where(select[size], select[multiple]) {\n height: auto;\n}\n\n:where(select[multiple]) {\n background-image: none;\n}\n\n:where(textarea) {\n height: auto;\n min-height: 60px;\n min-height: 6rem;\n overflow: auto;\n vertical-align: top;\n resize: vertical;\n}\n\n/* Firefox: strip inner focus padding/border. */\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\n:where(button, [type='button'], [type='reset'], [type='submit']) {\n line-height: normal;\n text-align: center;\n margin: 0;\n background-clip: padding-box;\n vertical-align: baseline;\n overflow: visible;\n -webkit-tap-highlight-color: rgb(0 0 0 / 0%);\n user-select: none;\n border: 0;\n background-image: none; /* Firefox mobile */\n}\n\n:where(button, [type='button'], [type='reset'], [type='submit']):hover,\n:where(button, [type='button'], [type='reset'], [type='submit']):active,\n:where(button, [type='button'], [type='reset'], [type='submit']):focus {\n text-decoration: none;\n color: var(--bf-dark);\n}\n\n:where(\n button:not(:disabled),\n [type='button']:not(:disabled),\n [type='reset']:not(:disabled),\n [type='submit']:not(:disabled)\n) {\n cursor: pointer;\n}\n\n/* Firefox: input color must not override placeholder color.\n * https://github.com/necolas/normalize.css/issues/150 */\n:where(input::placeholder, textarea::placeholder) {\n color: var(--bf-gray-dark);\n}\n\n/* Firefox: modern focus ring on all focusable elements. */\n:-moz-focusring {\n outline: auto;\n}\n\n/* Firefox: drop :-moz-ui-invalid glow; use .bf-invalid for JS validation.\n * https://developer.mozilla.org/en-US/docs/Web/CSS/:-moz-ui-invalid */\n:-moz-ui-invalid {\n box-shadow: none;\n}\n","/* Form field and button chrome (borders, focus, disabled). */\n\n:where(\n [type='email'],\n [type='number'],\n [type='password'],\n [type='tel'],\n [type='search'],\n [type='text'],\n [type='date'],\n [type='datetime-local'],\n [type='month'],\n [type='week'],\n [type='time'],\n [type='url'],\n input[list],\n select,\n textarea\n) {\n background-color: var(--bf-white);\n border: 1px solid var(--bf-gray);\n padding: var(--bf-spacing-md) calc(var(--bf-spacing-lg) * 0.75);\n}\n\n:where(\n [type='email'],\n [type='number'],\n [type='password'],\n [type='tel'],\n [type='search'],\n [type='text'],\n [type='date'],\n [type='datetime-local'],\n [type='month'],\n [type='week'],\n [type='time'],\n [type='url'],\n input[list],\n select,\n textarea,\n [type='radio'],\n [type='checkbox']\n):active,\n:where(\n [type='email'],\n [type='number'],\n [type='password'],\n [type='tel'],\n [type='search'],\n [type='text'],\n [type='date'],\n [type='datetime-local'],\n [type='month'],\n [type='week'],\n [type='time'],\n [type='url'],\n input[list],\n select,\n textarea,\n [type='radio'],\n [type='checkbox']\n):focus {\n transition:\n border 0.2s,\n background-color 0.2s,\n box-shadow 0.2s;\n border-color: var(--bf-blue);\n box-shadow: 0 0 0 3px rgb(0 86 179 / 25%);\n}\n\n:where(button, [type='button'], [type='reset'], [type='submit']) {\n color: var(--bf-dark);\n padding: calc(var(--bf-spacing-xl) / 3) calc(calc(var(--bf-spacing-xl) / 3) * 2);\n background: var(--bf-gray-light);\n transition:\n color 0.2s,\n background 0.2s,\n box-shadow 0.2s;\n}\n\n:where(button, [type='button'], [type='reset'], [type='submit']):hover,\n:where(button, [type='button'], [type='reset'], [type='submit']):active,\n:where(button, [type='button'], [type='reset'], [type='submit']):focus:not(.bf-disabled):not(\n [aria-disabled='true']\n ) {\n text-decoration: none;\n color: var(--bf-dark);\n background: rgb(184 184 184); /* --bf-gray-light, ~10% darker */\n}\n\n:where(button, [type='button'], [type='reset'], [type='submit']):active,\n:where(button, [type='button'], [type='reset'], [type='submit']):focus:not(.bf-disabled):not(\n [aria-disabled='true']\n ) {\n box-shadow: 0 0 0 3px rgb(0 0 0 / 15%);\n}\n\n/* Disabled / aria-disabled / fieldset[disabled]. */\n:where(\n fieldset[disabled] button,\n fieldset[disabled] input,\n fieldset[disabled] input::after,\n fieldset[disabled] input::before,\n fieldset[disabled] input:checked,\n fieldset[disabled] select,\n fieldset[disabled] textarea,\n fieldset[disabled] label,\n button[disabled],\n input[disabled],\n input[disabled]::after,\n input[disabled]::before,\n input[disabled]:checked,\n select[disabled],\n textarea[disabled],\n label[disabled],\n button:disabled,\n input:disabled,\n input:disabled::after,\n input:disabled::before,\n input:disabled:checked,\n select:disabled,\n textarea:disabled,\n label:disabled,\n button[aria-disabled='true'],\n input[aria-disabled='true'],\n input[aria-disabled='true']::after,\n input[aria-disabled='true']::before,\n input[aria-disabled='true']:checked,\n select[aria-disabled='true'],\n textarea[aria-disabled='true'],\n label[aria-disabled='true']\n) {\n cursor: default !important;\n cursor: not-allowed !important;\n pointer-events: none !important;\n user-select: none !important;\n box-shadow: none !important;\n outline: none !important;\n opacity: 0.5 !important;\n}\n","/* Select: custom arrow for single-value controls.\n * Skip [size] / [multiple] (native UI differs by engine). Inspired by water.css. */\n\n:where(select):not([size], select[multiple]) {\n appearance: none;\n background: var(--bf-white)\n url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\")\n no-repeat right 0.85rem center/8px 10px;\n padding-right: calc(var(--bf-spacing-lg) + var(--bf-spacing-lg));\n}\n\n/* RTL: mirror arrow after appearance:none removes the native control. */\n:where(*[dir='rtl']) :where(select):not([size], select[multiple]),\n:where(select[dir='rtl']):not([size], select[multiple]) {\n background-position: left 0.85rem top 50%;\n padding-right: calc(var(--bf-spacing-lg) * 0.75);\n padding-left: calc(var(--bf-spacing-lg) + var(--bf-spacing-lg));\n}\n","/* Range: custom thumb/track when appearance:none is supported.\n * CodePen: https://codepen.io/marcop135/pen/JjGrNMx */\n\n@supports (appearance: none) {\n :where([type='range']) {\n appearance: none;\n width: 100%;\n height: 1.4rem;\n }\n\n :where([type='range'])::-webkit-slider-thumb {\n border: 0;\n appearance: none;\n\n width: 1.5rem;\n height: 1.5rem;\n margin-top: -0.25rem;\n background-color: var(--bf-blue);\n border-radius: 1.5rem;\n transition:\n background-color 0.15s ease-in-out,\n border-color 0.15s ease-in-out,\n box-shadow 0.15s ease-in-out;\n }\n\n :where([type='range'])::-webkit-slider-thumb:active {\n background-color: var(--bf-blue);\n }\n\n :where([type='range'])::-moz-range-thumb {\n border: 0;\n appearance: none;\n\n width: 1.5rem;\n height: 1.5rem;\n background-color: var(--bf-blue);\n border-radius: 1.5rem;\n transition:\n background-color 0.15s ease-in-out,\n border-color 0.15s ease-in-out,\n box-shadow 0.15s ease-in-out;\n }\n\n :where([type='range'])::-moz-range-thumb:active {\n background-color: var(--bf-blue);\n }\n\n :where([type='range'])::-webkit-slider-runnable-track {\n color: transparent;\n border-color: transparent;\n\n width: 100%;\n height: 0.65rem;\n cursor: pointer;\n background-color: var(--bf-gray-light-extra);\n }\n\n :where([type='range'])::-moz-range-track {\n color: transparent;\n border-color: transparent;\n\n width: 100%;\n height: 0.65rem;\n cursor: pointer;\n background-color: var(--bf-gray-light-extra);\n }\n\n :where([type='range']):focus {\n outline: none;\n }\n\n :where([type='range']):focus::-webkit-slider-thumb {\n box-shadow:\n 0 0 0 0.1rem var(--bf-white),\n 0 0 0 0.2rem rgb(0 123 255 / 25%);\n }\n\n :where([type='range']):focus::-moz-range-thumb {\n box-shadow:\n 0 0 0 0.1rem var(--bf-white),\n 0 0 0 0.2rem rgb(0 123 255 / 25%);\n }\n\n :where([type='range'])::-moz-focus-outer {\n border: 0;\n }\n\n :where([type='range']):disabled {\n pointer-events: none;\n }\n\n :where([type='range']):disabled::-webkit-slider-thumb {\n background-color: var(--bf-gray-light);\n }\n\n :where([type='range']):disabled::-moz-range-thumb {\n background-color: var(--bf-gray-light);\n }\n}\n","/* Link defaults. --bf-blue meets WCAG AA 4.5:1 on white. */\n\na {\n color: var(--bf-blue);\n text-decoration: none;\n background-color: transparent; /* Legacy Edge active background. */\n}\n\na:hover,\na:focus {\n text-decoration: underline;\n color: var(--bf-blue-light);\n}\n\n/* Non-href anchors inherit text (Bootstrap reboot pattern). */\na:not([href], [tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href], [class]),\na:not([href], [class]):hover {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href], [tabindex]):focus {\n outline: 0;\n}\n","/* Keyboard-first focus: orange :focus-visible ring; mute mouse outline.\n * Text-like controls clear UA outline here; field chrome is in forms/styling.css. */\n\n:where(:focus:not(:focus-visible)) {\n outline: none;\n}\n\n/* tabindex=\"-1\" targets should not show a ring on programmatic focus. */\n:where([tabindex='-1']:focus:not(:focus-visible)) {\n outline: 0 !important;\n}\n\n:focus-visible {\n outline: 0.2rem solid var(--bf-orange);\n outline-offset: 0.3rem;\n}\n\n/* Clear UA outline on text-like controls (styled fields keep their own chrome).\n * Leave color / range / file alone; they often use custom widgets. */\nbutton:focus,\n[type='button']:focus,\n[type='reset']:focus,\n[type='submit']:focus,\n[type='email']:focus,\n[type='number']:focus,\n[type='password']:focus,\n[type='tel']:focus,\n[type='search']:focus,\n[type='text']:focus,\n[type='date']:focus,\n[type='datetime-local']:focus,\n[type='month']:focus,\n[type='time']:focus,\n[type='week']:focus,\n[type='url']:focus,\n[type='radio']:focus,\n[type='checkbox']:focus,\ninput[list]:focus,\nselect:focus,\ntextarea:focus,\n.bf-btn:focus {\n outline: 0;\n}\n","/* List spacing and nav list reset. */\n\nmenu,\nol,\nul,\ndl {\n margin: 0 0 var(--bf-spacing-xl) 0;\n padding: 0;\n}\n\nmenu ul,\nmenu ol,\nul ul,\nul ol,\nol ol,\nol ul,\ndd {\n margin-bottom: 0;\n}\n\nul,\nol {\n margin-left: var(--bf-spacing-xl);\n}\n\nnav ol,\nnav ul {\n list-style: none;\n list-style-image: none;\n margin-left: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-left: 0;\n}\n\n/* VoiceOver: zero-width space so list-style:none lists stay announced. */\nnav li::before {\n content: '\\200B';\n position: absolute;\n}\n","/* Media elements, figures, progress/meter, and iframes. */\n\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block;\n}\n\nimg,\ncanvas,\naudio,\nvideo,\niframe,\nobject,\nembed {\n max-width: 100%;\n}\n\naudio,\nvideo,\ncanvas,\nimg,\nsvg {\n vertical-align: middle;\n}\n\nimg {\n height: auto;\n border-style: none;\n}\n\nfigure {\n margin: 0;\n}\n\nfigure,\nfigcaption {\n display: block;\n}\n\nfigcaption {\n line-height: 1.375;\n font-size: 90%;\n}\n\nvideo {\n height: auto;\n}\n\naudio {\n width: 100%;\n}\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\nsvg:not([fill]) {\n fill: currentColor;\n}\n\nprogress,\nmeter {\n display: inline-block;\n vertical-align: baseline;\n width: 100%;\n max-width: 100%;\n}\n\n/* progress[value] reset (https://css-tricks.com/html5-progress-element/). */\nprogress[value] {\n appearance: none;\n border: none; /* Firefox default border. */\n\n height: 20px;\n height: 2rem;\n\n background: var(--bf-gray-light);\n color: var(--bf-blue); /* Progress fill in IE10+. */\n}\n\nprogress[value]::-webkit-progress-bar {\n background: var(--bf-gray-light);\n}\n\nprogress[value]::-webkit-progress-value {\n background: var(--bf-blue);\n}\n\n/* No default border (covers embeds that ignore frameborder=\"0\"). */\niframe {\n border-style: none;\n}\n","/* Address, details/summary, and dialog defaults. */\n\naddress {\n font-style: normal;\n margin-bottom: var(--bf-spacing-lg);\n line-height: inherit;\n}\n\ndetails > summary:first-of-type {\n display: list-item;\n}\n\nsummary {\n cursor: pointer;\n font-weight: 700;\n word-break: break-all;\n}\n\ndialog {\n background-color: var(--bf-white);\n color: var(--bf-dark);\n border: none;\n border-radius: var(--bf-spacing-sm);\n padding: var(--bf-spacing-xl);\n height: fit-content;\n min-width: min(25rem, 100%);\n max-width: calc(100vw - (var(--bf-spacing-grid-gutter) * 2));\n}\n\n@media (min-width: 768px) {\n dialog {\n max-width: 50rem;\n }\n}\n\n/* Open dialog wins over [hidden] (e.g. <dialog hidden open>). */\ndialog[open] {\n display: block !important;\n}\n\ndialog::backdrop {\n background: rgb(0 0 0 / 40%);\n}\n","/* Smooth scrolling when motion is allowed. */\n\n@media (prefers-reduced-motion: no-preference) {\n :root {\n scroll-behavior: smooth;\n }\n}\n","/* Table border collapse and cell alignment. */\n\ntable {\n caption-side: bottom;\n max-width: 100%;\n border-collapse: collapse;\n border-color: currentcolor; /* Chrome / Safari inheritance. */\n text-indent: 0; /* Chrome / Safari table indent. */\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\nthead th {\n vertical-align: bottom;\n}\n\nth,\ntd {\n vertical-align: top;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n font-weight: 700;\n}\n\ncaption {\n padding-top: var(--bf-spacing-md);\n padding-bottom: var(--bf-spacing-md);\n color: var(--bf-gray);\n text-align: left;\n caption-side: bottom;\n line-height: 1.375;\n font-size: 90%;\n}\n","/* Accessibility helpers (adapted from sanitize.css). */\n\n/* Busy: progress cursor. */\n:where([aria-busy='true' i]) {\n cursor: progress;\n}\n\n/* Disabled / inoperable: not-allowed cursor. */\n:where([aria-disabled='true' i], [disabled]) {\n cursor: not-allowed;\n}\n\n/* aria-hidden=\"false\" on [hidden]: keep in a11y tree when not focused. */\n:where([aria-hidden='false' i][hidden]) {\n display: initial;\n}\n\n:where([aria-hidden='false' i][hidden]:not(:focus)) {\n clip: rect(0, 0, 0, 0);\n position: absolute;\n}\n","/* Preference queries only (prefers-contrast, forced-colors). Additive. */\n\n/* prefers-contrast: more: underline links, thicker focus, stronger borders (WCAG 1.4.1). */\n@media (prefers-contrast: more) {\n a {\n text-decoration: underline;\n }\n\n :focus-visible {\n outline-width: 0.3rem;\n outline-offset: 0.4rem;\n }\n\n [type='email'],\n [type='number'],\n [type='password'],\n [type='tel'],\n [type='search'],\n [type='text'],\n [type='date'],\n [type='datetime-local'],\n [type='month'],\n [type='time'],\n [type='url'],\n [type='week'],\n input[list],\n select,\n textarea {\n border-width: 2px;\n }\n}\n\n/* forced-colors: restore focus via Highlight; underline links; keep button borders. */\n@media (forced-colors: active) {\n :focus-visible {\n outline-color: Highlight;\n }\n\n a {\n text-decoration: underline;\n }\n\n /* Keep button borders so disabled/active stay distinguishable. */\n button,\n [type='button'],\n [type='reset'],\n [type='submit'],\n .bf-btn {\n border: 1px solid ButtonText;\n }\n}\n","/* System-preference dark: shared dark rules + scrollbars under prefers-color-scheme.\n * postcss-import wraps each import in the media query at build time. */\n\n@import './_utility-global-dark-shared.css' (prefers-color-scheme: dark);\n@import './utilities/global-dark-scrollbars.css' (prefers-color-scheme: dark);\n","/* Shared dark-mode rules for always-dark and prefers-color-scheme builds.\n * Variant-only extras: utility-global-dark.css. Scrollbars: global-dark-scrollbars.css.\n * Underscore prefix excludes this file from the buildAllCss glob. */\n\nhtml {\n color: var(--bf-light);\n}\n\nbody {\n background-color: var(--bf-dark-bg);\n}\n\na {\n color: var(--bf-dark-link);\n}\n\na:hover,\na:focus {\n color: var(--bf-dark-link-hover);\n}\n\nmark {\n background-color: var(--bf-dark-mark-bg);\n}\n\nins {\n background-color: var(--bf-dark-ins-bg);\n}\n\n[type='email'],\n[type='number'],\n[type='password'],\n[type='tel'],\n[type='search'],\n[type='text'],\n[type='date'],\n[type='datetime-local'],\n[type='month'],\n[type='week'],\n[type='time'],\n[type='url'],\n[type='range'],\ninput[list],\nselect,\nselect:not([size], select[multiple]),\ntextarea {\n background-color: var(--bf-dark-extra);\n border-color: var(--bf-black);\n color: var(--bf-gray-light);\n}\n\n[type='email']:active,\n[type='email']:focus,\n[type='number']:active,\n[type='number']:focus,\n[type='password']:active,\n[type='password']:focus,\n[type='tel']:active,\n[type='tel']:focus,\n[type='search']:active,\n[type='search']:focus,\n[type='text']:active,\n[type='text']:focus,\n[type='date']:active,\n[type='date']:focus,\n[type='datetime-local']:active,\n[type='datetime-local']:focus,\n[type='month']:active,\n[type='month']:focus,\n[type='week']:active,\n[type='week']:focus,\n[type='time']:active,\n[type='time']:focus,\n[type='url']:active,\n[type='url']:focus,\ninput[list]:active,\ninput[list]:focus,\nselect:active,\nselect:focus,\nselect:not([size], select[multiple]):active,\nselect:not([size], select[multiple]):focus,\ntextarea:active,\ntextarea:focus {\n background-color: var(--bf-dark-extra);\n border-color: var(--bf-dark-border-focus);\n box-shadow: 0 0 0 3px var(--bf-dark-shadow-focus);\n}\n\n.bf-focused {\n border-color: var(--bf-dark-border-focus) !important;\n box-shadow: 0 0 0 3px var(--bf-dark-shadow-focus) !important;\n}\n\n.bf-invalid,\n.bf-invalid:focus {\n color: var(--bf-dark-invalid) !important;\n border-color: var(--bf-dark-invalid) !important;\n}\n\nselect:not([size], select[multiple]) {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23f0f0f0' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\");\n}\n\n[type='range'] {\n background-color: transparent;\n}\n\n[type='range']:focus {\n background-color: transparent;\n}\n\n[type='range']::-webkit-slider-runnable-track {\n background-color: var(--bf-dark-extra);\n}\n\n[type='range']::-moz-range-track {\n background-color: var(--bf-dark-extra);\n}\n\ninput::placeholder,\ntextarea::placeholder {\n color: var(--bf-gray);\n}\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'],\n.bf-btn {\n background: var(--bf-gray-light);\n}\n\nbutton:hover,\nbutton:active,\nbutton:focus,\n[type='button']:hover,\n[type='button']:active,\n[type='button']:focus,\n[type='reset']:hover,\n[type='reset']:active,\n[type='reset']:focus,\n[type='submit']:hover,\n[type='submit']:active,\n[type='submit']:focus,\n.bf-btn:hover,\n.bf-btn:active,\n.bf-btn:focus {\n background: var(--bf-dark-button-hover);\n}\n\nbutton:active,\nbutton:focus,\n[type='button']:active,\n[type='button']:focus,\n[type='reset']:active,\n[type='reset']:focus,\n[type='submit']:active,\n[type='submit']:focus,\n.bf-btn:active,\n.bf-btn:focus {\n box-shadow: 0 0 0 3px var(--bf-dark-button-shadow);\n}\n\n.bf-btn.bf-btn--primary {\n background: var(--bf-blue);\n}\n\n.bf-btn.bf-btn--primary:hover,\n.bf-btn.bf-btn--primary:active,\n.bf-btn.bf-btn--primary:focus {\n background: var(--bf-blue-light);\n}\n\n.bf-btn.bf-btn--primary:active,\n.bf-btn.bf-btn--primary:focus {\n box-shadow: 0 0 0 3px rgb(190 216 254 / 75%);\n}\n\n.bf-table th,\n.bf-table td {\n border-color: var(--bf-gray-dark);\n}\n\n.bf-table--zebra tbody tr:nth-child(odd),\n.bf-table-responsive--zebra tbody tr:nth-child(odd) {\n background-color: var(--bf-gray-dark-extra);\n}\n\ndialog {\n color: var(--bf-light);\n background-color: var(--bf-dark-bg);\n}\n\ncaption {\n color: var(--bf-gray-light);\n}\n\nprogress[value] {\n background: var(--bf-gray-dark-extra);\n color: var(--bf-blue);\n}\n\nprogress[value]::-webkit-progress-bar {\n background: var(--bf-gray-dark-extra);\n}\n\nprogress[value]::-webkit-progress-value {\n background: var(--bf-blue);\n}\n","/* Dark scrollbar colors (Firefox + WebKit). */\n\nhtml {\n scrollbar-color: rgb(97 97 97) var(--bf-dark-extra); /* gray-dark -5% lightness */\n}\n\n/* WebKit thumb / track. */\n\n::-webkit-scrollbar {\n width: 1.5rem;\n height: 1.5rem;\n}\n\n::-webkit-scrollbar-track {\n background-color: var(--bf-dark-extra);\n}\n\n::-webkit-scrollbar-thumb {\n background-color: rgb(97 97 97); /* gray-dark -5% lightness */\n}\n\n::-webkit-scrollbar-thumb:hover {\n background-color: rgb(115 115 115); /* gray-dark +10% lightness */\n}\n"]}
1
+ {"version":3,"sources":["<no source>","bullframe-classless-system-default.css","bullframe-classless.css","variables.css","miscellaneous/layout.css","miscellaneous/uaplus-enhancements.css","typography/html-body.css","typography/headings.css","typography/blockquotes.css","typography/misc.css","typography/monospaced-elements.css","forms/normalization.css","forms/styling.css","forms/styling-select.css","forms/styling-range.css","miscellaneous/anchors.css","miscellaneous/focus.css","miscellaneous/lists.css","miscellaneous/embedded-content.css","miscellaneous/interactive.css","miscellaneous/scrolling.css","miscellaneous/tables.css","miscellaneous/accessibility.css","miscellaneous/accessibility-preferences.css","utility-global-dark-classless.css","_utility-global-dark-elements.css","utilities/global-dark-scrollbars.css"],"names":[],"mappings":"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","file":"bullframe-classless-system-default.css","sourcesContent":[null,"/* Classless + system dark via prefers-color-scheme (element styles only). */\n\n@import './bullframe-classless.css';\n@import './utility-global-dark-classless.css' (prefers-color-scheme: dark);\n@import './utilities/global-dark-scrollbars.css' (prefers-color-scheme: dark);\n","/* Classless build: semantic element styles only (no .bf-* classes). */\n\n/* Variables */\n@import './variables.css';\n\n/* Layout */\n@import './miscellaneous/layout.css';\n@import './miscellaneous/uaplus-enhancements.css';\n\n/* Typography */\n@import './typography/html-body.css';\n@import './typography/headings.css';\n@import './typography/blockquotes.css';\n@import './typography/misc.css';\n@import './typography/monospaced-elements.css';\n\n/* Forms */\n@import './forms/normalization.css';\n@import './forms/styling.css';\n@import './forms/styling-select.css';\n@import './forms/styling-range.css';\n\n/* Miscellaneous */\n@import './miscellaneous/anchors.css';\n@import './miscellaneous/focus.css';\n@import './miscellaneous/lists.css';\n@import './miscellaneous/embedded-content.css';\n@import './miscellaneous/interactive.css';\n@import './miscellaneous/scrolling.css';\n@import './miscellaneous/tables.css';\n@import './miscellaneous/accessibility.css';\n@import './miscellaneous/accessibility-preferences.css';\n","/* Design tokens (--bf-*). Shared by every build variant.\n * Override on :root (or a scope) to theme without rebuilding. */\n\n:root {\n /* Neutrals */\n --bf-white: rgb(255 255 255);\n --bf-light: rgb(240 240 240);\n --bf-gray-light-extra: rgb(233 233 233);\n --bf-gray-light: rgb(204 204 204);\n --bf-gray: rgb(153 153 153);\n --bf-gray-dark: rgb(102 102 102);\n --bf-gray-dark-extra: rgb(51 51 51);\n --bf-dark: rgb(34 34 34);\n --bf-dark-extra: rgb(17 17 17);\n --bf-black: rgb(0 0 0);\n\n /* Highlight / mark */\n --bf-yellow-light: rgb(255 255 153);\n --bf-yellow: rgb(255 255 0);\n --bf-orange: rgb(255 165 0);\n\n /* Accent: WCAG AA on white (links 4.5:1) and white-on-blue buttons (4.5:1) */\n --bf-blue: rgb(0 86 179);\n --bf-blue-light: rgb(0 65 135);\n --bf-blue-light-extra: rgb(190 216 254);\n\n /* Invalid / error */\n --bf-red: rgb(255 0 0);\n\n /* Focus ring (prefers-contrast: more raises colour for WCAG 1.4.11) */\n --bf-focus-ring-color: var(--bf-orange);\n --bf-focus-ring-width: 0.2rem;\n --bf-focus-ring-offset: 0.3rem;\n\n /* Dark-mode surfaces (used by utility-global-dark*.css) */\n --bf-dark-bg: rgb(28 28 28);\n --bf-dark-link: rgb(77 165 255);\n --bf-dark-link-hover: rgb(77 165 255);\n --bf-dark-border-focus: rgb(26 140 255);\n --bf-dark-shadow-focus: rgb(3 102 214 / 50%);\n --bf-dark-mark-bg: rgb(230 230 0);\n --bf-dark-ins-bg: rgb(255 255 200);\n --bf-dark-button-hover: rgb(184 184 184);\n --bf-dark-button-shadow: rgb(255 255 255 / 45%);\n --bf-dark-invalid: rgb(255 38 38);\n\n /* Spacing scale + grid gutter */\n --bf-spacing-sm: 0.25rem;\n --bf-spacing-md: 0.5rem;\n --bf-spacing-lg: 1rem;\n --bf-spacing-xl: 2rem;\n --bf-spacing-xxl: 3rem;\n --bf-spacing-grid-gutter: 1.5rem;\n\n /* Type */\n --bf-font-sans-serif:\n -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell,\n 'Helvetica Neue', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',\n 'Segoe UI Symbol', 'Noto Color Emoji';\n --bf-font-serif: Georgia, Times, 'Times New Roman', serif;\n --bf-font-monospace:\n SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;\n --bf-body-font-size-rem: 1.6rem;\n --bf-body-line-height: 1.5;\n\n /* Breakpoint tokens (documentation / tooling; media queries use literal px below) */\n --bf-breakpoint-xs: 0;\n --bf-breakpoint-sm: 576px;\n --bf-breakpoint-md: 768px;\n --bf-breakpoint-lg: 992px;\n --bf-breakpoint-xl: 1200px;\n --bf-breakpoint-xxl: 1400px;\n}\n","/* Border-box and HTML5 block elements. */\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\narticle,\naside,\ndialog,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\ndetails {\n display: block;\n}\n\ntemplate {\n display: none;\n}\n\n/* [hidden] stays hidden (except until-found). */\n[hidden]:where(:not([hidden='until-found'])) {\n display: none !important;\n}\n","/* UA+ enhancements (adapted from https://fokus.dev/tools/uaplus/).\n * Light UA improvements; complements Bullframe base styles. */\n\n@layer {\n /* Disable mobile landscape text inflation on optimized layouts. */\n html {\n -webkit-text-size-adjust: none;\n text-size-adjust: none;\n }\n\n /* Stable scrollbar gutter avoids layout jump on short pages. */\n @supports (scrollbar-gutter: stable) {\n html {\n scrollbar-gutter: stable;\n }\n }\n\n /* Nested h1 size/margin: match modern UA (Safari still nests sectioning styles). */\n h1 {\n font-size: 2em;\n margin-block: 0.67em;\n }\n\n /* mark: system Highlight colors under forced-colors. */\n @media (forced-colors: active) {\n mark {\n color: HighlightText;\n background-color: Highlight;\n }\n }\n\n /* Embedded media: stay within container block/inline size. */\n audio,\n iframe,\n img,\n svg,\n video {\n max-block-size: 100%;\n max-inline-size: 100%;\n }\n\n /* fieldset: avoid min-content overflow from children. */\n fieldset {\n min-inline-size: 0;\n }\n\n /* Labels for text-like controls are block; :has() gated for older engines. */\n @supports selector(:has(*)) {\n label:has(+ input:not([type='radio'], [type='checkbox']), select, textarea) {\n display: block;\n }\n }\n\n /* Taller default textarea when rows is omitted. */\n textarea:not([rows]) {\n min-block-size: 6em;\n }\n\n /* Form controls inherit page font family/size. */\n button,\n input,\n select,\n textarea {\n font-family: inherit;\n font-size: inherit;\n }\n\n /* Search: drop WebKit rounded search chrome. */\n [type='search'] {\n -webkit-appearance: textfield;\n }\n\n /* iOS only: system border/background for search. */\n @supports (-webkit-touch-callout: none) {\n [type='search'] {\n border: 1px solid -apple-system-secondary-label;\n background-color: canvas;\n }\n }\n\n /* Keep tel/url/email/number LTR when a value is present (RTL placeholders stay). */\n input:where([type='tel'], [type='url'], [type='email'], [type='number']):not(\n :placeholder-shown\n ) {\n direction: ltr;\n }\n\n /* Tables: outer border. Cell borders and padding come from\n * miscellaneous/tables.css, which is unlayered and therefore wins. */\n table {\n border: 1px solid currentColor;\n }\n\n /* Soft dialog / popover enter transitions (skip when reduced-motion is on). */\n @media (prefers-reduced-motion: no-preference) {\n dialog::backdrop {\n background: rgb(0 0 0 / 0.3);\n }\n\n @supports (overlay: auto) {\n dialog,\n [popover],\n dialog::backdrop {\n opacity: 0;\n transition:\n opacity 300ms ease-out,\n display 300ms allow-discrete,\n overlay 300ms allow-discrete;\n }\n\n dialog[open],\n :popover-open,\n dialog[open]::backdrop {\n opacity: 1;\n }\n\n @starting-style {\n dialog[open],\n :popover-open,\n dialog[open]::backdrop {\n opacity: 0;\n }\n }\n }\n }\n\n /* Images as blocks (max-width still from embedded-content.css). */\n img {\n display: block;\n }\n\n /* Popovers: anchor near trigger when position-area is supported. */\n @supports (position-area: block-end span-inline-end) {\n [popover] {\n margin: 0;\n position-area: block-end span-inline-end;\n }\n }\n}\n","/* Root type and page chrome. */\n\nhtml {\n text-size-adjust: 100%;\n\n /* 62.5% root so 1rem ≈ 10px. */\n font-size: 62.5%;\n\n color: var(--bf-dark);\n font-family: system-ui, sans-serif;\n line-height: 1.15;\n\n /* No tap flash on touch. */\n -webkit-tap-highlight-color: rgb(0 0 0 / 0%);\n}\n\nbody {\n margin: 0;\n font-size: var(--bf-body-font-size-rem);\n line-height: var(--bf-body-line-height);\n font-weight: 400;\n text-align: left;\n\n /* System UI stack (OS-native). */\n font-family:\n /* Safari / iOS (San Francisco) */\n -apple-system,\n /* Chrome < 56 on macOS (San Francisco) */ BlinkMacSystemFont,\n /* Windows */ 'Segoe UI',\n /* Android */ Roboto,\n /* KDE */ Oxygen-Sans,\n /* Ubuntu */ Ubuntu,\n /* GNOME */ Cantarell,\n /* macOS 10.10 and below */ 'Helvetica Neue',\n Helvetica,\n /* Web fallback */ Arial,\n 'Noto Sans',\n sans-serif,\n /* Emoji */ 'Apple Color Emoji',\n 'Segoe UI Emoji',\n 'Segoe UI Symbol',\n 'Noto Color Emoji';\n\n /* Ligatures and kerning. */\n text-rendering: optimizeLegibility;\n\n /* Long unbroken strings (e.g. headlines) wrap instead of overflowing. */\n word-wrap: break-word;\n\n background-color: var(--bf-white);\n}\n","/* Heading scale and rhythm. */\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n margin-top: 0;\n font-weight: 600;\n font-family: inherit;\n color: inherit;\n line-height: 1.25;\n margin-bottom: var(--bf-spacing-lg);\n}\n\n/* Balanced headings where supported; no-op elsewhere. */\n@supports (text-wrap: balance) {\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n text-wrap: balance;\n }\n}\n\nh1 {\n font-size: 36px;\n font-size: 3.6rem;\n}\n\nh2 {\n font-size: 30px;\n font-size: 3rem;\n}\n\nh3 {\n font-size: 24px;\n font-size: 2.4rem;\n}\n\nh4 {\n font-size: 20px;\n font-size: 2rem;\n}\n\nh5,\nh6 {\n font-size: 16px;\n font-size: 1.6rem;\n}\n","/* Blockquote and citation. */\n\nblockquote {\n margin: 0 0 var(--bf-spacing-xl);\n padding-left: 0;\n font-style: italic;\n}\n\nblockquote p {\n margin-bottom: 0;\n}\n\nblockquote small {\n color: var(--bf-gray);\n display: block;\n}\n\nblockquote small::before {\n content: '\\2014 \\00A0';\n}\n\nq {\n quotes: '\\201C' '\\201D' '\\2018' '\\2019';\n}\n","/* Paragraphs, abbr, mark/ins, emphasis, sub/sup, small, hr. */\n\np {\n margin: 0 0 var(--bf-spacing-xl) 0;\n}\n\n/* abbr (Bootstrap 4): dotted underline + help cursor. */\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n text-decoration: underline;\n text-decoration: underline dotted;\n border-bottom: 0;\n}\n\nmark {\n background-color: var(--bf-yellow);\n color: var(--bf-black);\n}\n\nins {\n background-color: var(--bf-yellow-light);\n color: var(--bf-black);\n text-decoration: none;\n}\n\n/* Inherit first so Safari does not double-apply bolder, then set bolder. */\nb,\nstrong {\n font-weight: inherit;\n}\n\n/* stylelint-disable-next-line no-duplicate-selectors -- normalize.css Safari fix */\nb,\nstrong {\n font-weight: bolder;\n}\n\ndfn {\n font-style: italic;\n}\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsup {\n top: -8px;\n top: -0.8rem;\n}\n\nsub {\n bottom: -4px;\n bottom: -0.4rem;\n}\n\nsmall {\n font-size: 80%;\n}\n\n/* Tighter leading when a paragraph contains <small>. */\n@supports selector(:has(*)) {\n p:has(small) {\n line-height: 1.25;\n }\n}\n\nhr {\n box-sizing: content-box;\n display: block;\n height: 0;\n border-style: solid;\n border-width: 1px 0 0;\n color: inherit;\n margin: var(--bf-spacing-xl) 0;\n padding: 0;\n overflow: visible; /* Edge: show overflow. */\n}\n","/* pre / code / kbd / samp. */\n\npre {\n margin: 0 0 var(--bf-spacing-xl) 0;\n\n display: block;\n overflow: auto;\n word-break: break-all; /* WebKit */\n word-wrap: break-word;\n white-space: pre;\n hyphens: none;\n\n /* Keep scrollbars visible in legacy Edge.\n * https://github.com/twbs/bootstrap/pull/30685 */\n -ms-overflow-style: auto;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family:\n /* macOS 10.10+ */\n Menlo, Consolas, 'Roboto Mono', 'Ubuntu Monospace', 'Noto Mono', 'Oxygen Mono',\n 'Liberation Mono', monospace, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',\n 'Noto Color Emoji';\n\n /* Mono faces read large; use a slightly smaller size. */\n font-size: 0.875em;\n}\n\ncode {\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n","/* Form control reset: inheritance, sizing, and UA quirks. */\n\n:where(html input, button, select, optgroup, textarea) {\n color: inherit;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\n:where(html input, button, [type='radio'], [type='checkbox'], select, optgroup, textarea) {\n margin: 0;\n}\n\n:where(html input, select, textarea, legend) {\n width: 100%;\n}\n\n/* Shrink-to-content controls stay auto-width. */\n:where(\n html label,\n button,\n [type='image'],\n [type='submit'],\n [type='reset'],\n html [type='button'],\n [type='radio'],\n [type='checkbox']\n) {\n width: auto;\n}\n\n/* inline-block: consistent sizing and vertical-align across engines. */\n:where(\n html input,\n label,\n select,\n textarea,\n button,\n html [type='button'],\n [type='reset'],\n [type='submit'],\n output\n) {\n display: inline-block;\n}\n\n:where([type='file']) {\n display: block;\n background-color: transparent;\n}\n\n:where(button, html input, select, textarea) {\n background-image: none;\n}\n\n:where(input, select, textarea) {\n vertical-align: baseline;\n}\n\n:where(form) {\n margin: 0;\n}\n\n/* Drop fieldset min-content width so nested grids can shrink. */\n:where(fieldset) {\n border: 0;\n padding: 0;\n margin: 0;\n min-width: 0;\n}\n\n:where(legend) {\n display: table; /* Text wrapping in Edge / IE. */\n max-width: 100%;\n white-space: normal;\n border: 0;\n padding: 0;\n font-weight: 400;\n margin-bottom: var(--bf-spacing-md);\n font-size: inherit;\n line-height: 1.375;\n color: inherit;\n}\n\n:where(label) {\n font-weight: 400;\n font-size: 90%;\n line-height: 1.375;\n margin-bottom: var(--bf-spacing-md);\n}\n\n:where(label input, label select, label textarea) {\n font-size: 110%;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n:where([type='search']) {\n outline-offset: calc(-1 * var(--bf-spacing-sm));\n}\n\n:where(output) {\n vertical-align: middle;\n}\n\n:where(button, select) {\n text-transform: none;\n}\n\n:where(select) {\n word-wrap: normal;\n}\n\n/* Hide WebKit datalist picker chrome (Bootstrap Reboot 5.2).\n * https://unpkg.com/browse/bootstrap@5.2.0/dist/css/bootstrap-reboot.css */\n:where([list]):not(\n [type='date'],\n [type='datetime-local'],\n [type='month'],\n [type='week'],\n [type='time']\n )::-webkit-calendar-picker-indicator {\n display: none !important;\n}\n\n:where(optgroup) {\n font-family: inherit;\n font-size: inherit;\n font-style: inherit; /* Families without a 600 face. */\n font-weight: 600;\n}\n\n/* Reset WebKit / Blink appearance on text-like controls. */\n:where(\n button,\n html [type='button'],\n [type='reset'],\n [type='submit'],\n [type='email'],\n [type='number'],\n [type='text'],\n [type='tel'],\n [type='date'],\n [type='datetime-local'],\n [type='month'],\n [type='week'],\n [type='url'],\n [type='image'],\n [type='password'],\n [type='search'],\n [type='search']::-webkit-search-decoration,\n [type='search']::-webkit-search-cancel-button,\n input[list],\n textarea\n) {\n appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n appearance: auto;\n}\n\n::file-selector-button {\n font: inherit;\n appearance: auto;\n}\n\n:where(button, input, select, textarea) {\n border-radius: var(--bf-spacing-sm);\n}\n\n:where([type='radio']) {\n border-radius: 50%;\n}\n\n:where([type='checkbox']) {\n border-radius: var(--bf-spacing-md);\n}\n\n:where([type='radio'], [type='checkbox']) {\n padding: 0;\n background-color: var(--bf-white);\n}\n\n:where([type='range' i]) {\n background-color: transparent;\n}\n\n:where(select[size], select[multiple]) {\n height: auto;\n}\n\n:where(select[multiple]) {\n background-image: none;\n}\n\n:where(textarea) {\n height: auto;\n min-height: 60px;\n min-height: 6rem;\n overflow: auto;\n vertical-align: top;\n resize: vertical;\n}\n\n/* Firefox: strip inner focus padding/border. */\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\n:where(button, [type='button'], [type='reset'], [type='submit']) {\n line-height: normal;\n text-align: center;\n margin: 0;\n background-clip: padding-box;\n vertical-align: baseline;\n overflow: visible;\n -webkit-tap-highlight-color: rgb(0 0 0 / 0%);\n user-select: none;\n border: 0;\n background-image: none; /* Firefox mobile */\n}\n\n:where(button, [type='button'], [type='reset'], [type='submit']):hover,\n:where(button, [type='button'], [type='reset'], [type='submit']):active,\n:where(button, [type='button'], [type='reset'], [type='submit']):focus {\n text-decoration: none;\n color: var(--bf-dark);\n}\n\n:where(\n button:not(:disabled),\n [type='button']:not(:disabled),\n [type='reset']:not(:disabled),\n [type='submit']:not(:disabled)\n) {\n cursor: pointer;\n}\n\n/* Firefox: input color must not override placeholder color.\n * https://github.com/necolas/normalize.css/issues/150 */\n:where(input::placeholder, textarea::placeholder) {\n color: var(--bf-gray-dark);\n}\n\n/* Firefox: modern focus ring on all focusable elements. */\n:-moz-focusring {\n outline: auto;\n}\n\n/* Firefox: drop :-moz-ui-invalid glow; use .bf-invalid for JS validation.\n * https://developer.mozilla.org/en-US/docs/Web/CSS/:-moz-ui-invalid */\n:-moz-ui-invalid {\n box-shadow: none;\n}\n","/* Form field and button chrome (borders, focus, disabled). */\n\n:where(\n [type='email'],\n [type='number'],\n [type='password'],\n [type='tel'],\n [type='search'],\n [type='text'],\n [type='date'],\n [type='datetime-local'],\n [type='month'],\n [type='week'],\n [type='time'],\n [type='url'],\n input[list],\n select,\n textarea\n) {\n background-color: var(--bf-white);\n border: 1px solid var(--bf-gray);\n padding: var(--bf-spacing-md) calc(var(--bf-spacing-lg) * 0.75);\n}\n\n:where(\n [type='email'],\n [type='number'],\n [type='password'],\n [type='tel'],\n [type='search'],\n [type='text'],\n [type='date'],\n [type='datetime-local'],\n [type='month'],\n [type='week'],\n [type='time'],\n [type='url'],\n input[list],\n select,\n textarea,\n [type='radio'],\n [type='checkbox']\n):active,\n:where(\n [type='email'],\n [type='number'],\n [type='password'],\n [type='tel'],\n [type='search'],\n [type='text'],\n [type='date'],\n [type='datetime-local'],\n [type='month'],\n [type='week'],\n [type='time'],\n [type='url'],\n input[list],\n select,\n textarea,\n [type='radio'],\n [type='checkbox']\n):focus {\n transition:\n border 0.2s,\n background-color 0.2s,\n box-shadow 0.2s;\n border-color: var(--bf-blue);\n box-shadow: 0 0 0 3px rgb(0 86 179 / 25%);\n}\n\n:where(button, [type='button'], [type='reset'], [type='submit']) {\n color: var(--bf-dark);\n padding: calc(var(--bf-spacing-xl) / 3) calc(calc(var(--bf-spacing-xl) / 3) * 2);\n background: var(--bf-gray-light);\n transition:\n color 0.2s,\n background 0.2s,\n box-shadow 0.2s;\n}\n\n:where(button, [type='button'], [type='reset'], [type='submit']):hover,\n:where(button, [type='button'], [type='reset'], [type='submit']):active,\n:where(button, [type='button'], [type='reset'], [type='submit']):focus:not(.bf-disabled):not(\n [aria-disabled='true']\n ) {\n text-decoration: none;\n color: var(--bf-dark);\n background: rgb(184 184 184); /* --bf-gray-light, ~10% darker */\n}\n\n:where(button, [type='button'], [type='reset'], [type='submit']):active,\n:where(button, [type='button'], [type='reset'], [type='submit']):focus:not(.bf-disabled):not(\n [aria-disabled='true']\n ) {\n box-shadow: 0 0 0 3px rgb(0 0 0 / 15%);\n}\n\n/* Disabled / aria-disabled / fieldset[disabled]. */\n:where(\n fieldset[disabled] button,\n fieldset[disabled] input,\n fieldset[disabled] input::after,\n fieldset[disabled] input::before,\n fieldset[disabled] input:checked,\n fieldset[disabled] select,\n fieldset[disabled] textarea,\n fieldset[disabled] label,\n button[disabled],\n input[disabled],\n input[disabled]::after,\n input[disabled]::before,\n input[disabled]:checked,\n select[disabled],\n textarea[disabled],\n label[disabled],\n button:disabled,\n input:disabled,\n input:disabled::after,\n input:disabled::before,\n input:disabled:checked,\n select:disabled,\n textarea:disabled,\n label:disabled,\n button[aria-disabled='true'],\n input[aria-disabled='true'],\n input[aria-disabled='true']::after,\n input[aria-disabled='true']::before,\n input[aria-disabled='true']:checked,\n select[aria-disabled='true'],\n textarea[aria-disabled='true'],\n label[aria-disabled='true']\n) {\n cursor: default !important;\n cursor: not-allowed !important;\n pointer-events: none !important;\n user-select: none !important;\n box-shadow: none !important;\n outline: none !important;\n opacity: 0.5 !important;\n}\n","/* Select: custom arrow for single-value controls.\n * Skip [size] / [multiple] (native UI differs by engine). Inspired by water.css. */\n\n:where(select):not([size], select[multiple]) {\n appearance: none;\n background: var(--bf-white)\n url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\")\n no-repeat right 0.85rem center/8px 10px;\n padding-right: calc(var(--bf-spacing-lg) + var(--bf-spacing-lg));\n}\n\n/* RTL: mirror arrow after appearance:none removes the native control. */\n:where(*[dir='rtl']) :where(select):not([size], select[multiple]),\n:where(select[dir='rtl']):not([size], select[multiple]) {\n background-position: left 0.85rem top 50%;\n padding-right: calc(var(--bf-spacing-lg) * 0.75);\n padding-left: calc(var(--bf-spacing-lg) + var(--bf-spacing-lg));\n}\n","/* Range: custom thumb/track when appearance:none is supported.\n * CodePen: https://codepen.io/marcop135/pen/JjGrNMx */\n\n@supports (appearance: none) {\n :where([type='range']) {\n appearance: none;\n width: 100%;\n height: 1.4rem;\n }\n\n :where([type='range'])::-webkit-slider-thumb {\n border: 0;\n appearance: none;\n\n width: 1.5rem;\n height: 1.5rem;\n margin-top: -0.25rem;\n background-color: var(--bf-blue);\n border-radius: 1.5rem;\n transition:\n background-color 0.15s ease-in-out,\n border-color 0.15s ease-in-out,\n box-shadow 0.15s ease-in-out;\n }\n\n :where([type='range'])::-webkit-slider-thumb:active {\n background-color: var(--bf-blue);\n }\n\n :where([type='range'])::-moz-range-thumb {\n border: 0;\n appearance: none;\n\n width: 1.5rem;\n height: 1.5rem;\n background-color: var(--bf-blue);\n border-radius: 1.5rem;\n transition:\n background-color 0.15s ease-in-out,\n border-color 0.15s ease-in-out,\n box-shadow 0.15s ease-in-out;\n }\n\n :where([type='range'])::-moz-range-thumb:active {\n background-color: var(--bf-blue);\n }\n\n :where([type='range'])::-webkit-slider-runnable-track {\n color: transparent;\n border-color: transparent;\n\n width: 100%;\n height: 0.65rem;\n cursor: pointer;\n background-color: var(--bf-gray-light-extra);\n }\n\n :where([type='range'])::-moz-range-track {\n color: transparent;\n border-color: transparent;\n\n width: 100%;\n height: 0.65rem;\n cursor: pointer;\n background-color: var(--bf-gray-light-extra);\n }\n\n :where([type='range']):focus {\n outline: none;\n }\n\n :where([type='range']):focus::-webkit-slider-thumb {\n box-shadow:\n 0 0 0 0.1rem var(--bf-white),\n 0 0 0 0.2rem rgb(0 123 255 / 25%);\n }\n\n :where([type='range']):focus::-moz-range-thumb {\n box-shadow:\n 0 0 0 0.1rem var(--bf-white),\n 0 0 0 0.2rem rgb(0 123 255 / 25%);\n }\n\n :where([type='range'])::-moz-focus-outer {\n border: 0;\n }\n\n :where([type='range']):disabled {\n pointer-events: none;\n }\n\n :where([type='range']):disabled::-webkit-slider-thumb {\n background-color: var(--bf-gray-light);\n }\n\n :where([type='range']):disabled::-moz-range-thumb {\n background-color: var(--bf-gray-light);\n }\n}\n","/* Link defaults. --bf-blue meets WCAG AA 4.5:1 on white. */\n\na {\n color: var(--bf-blue);\n text-decoration: none;\n background-color: transparent; /* Legacy Edge active background. */\n}\n\na:hover,\na:focus {\n text-decoration: underline;\n color: var(--bf-blue-light);\n}\n\n/* Non-href anchors inherit text (Bootstrap reboot pattern). */\na:not([href], [tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href], [class]),\na:not([href], [class]):hover {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href], [tabindex]):focus {\n outline: 0;\n}\n","/* Keyboard-first focus: :focus-visible ring from --bf-focus-ring-*; mute mouse outline.\n * Text-like controls clear UA outline here; field chrome is in forms/styling.css. */\n\n:where(:focus:not(:focus-visible)) {\n outline: none;\n}\n\n/* tabindex=\"-1\" targets should not show a ring on programmatic focus. */\n:where([tabindex='-1']:focus:not(:focus-visible)) {\n outline: 0 !important;\n}\n\n:focus-visible {\n outline: var(--bf-focus-ring-width) solid var(--bf-focus-ring-color);\n outline-offset: var(--bf-focus-ring-offset);\n}\n\n/* Clear UA outline on text-like controls (styled fields keep their own chrome).\n * Leave color / range / file alone; they often use custom widgets. */\nbutton:focus,\n[type='button']:focus,\n[type='reset']:focus,\n[type='submit']:focus,\n[type='email']:focus,\n[type='number']:focus,\n[type='password']:focus,\n[type='tel']:focus,\n[type='search']:focus,\n[type='text']:focus,\n[type='date']:focus,\n[type='datetime-local']:focus,\n[type='month']:focus,\n[type='time']:focus,\n[type='week']:focus,\n[type='url']:focus,\n[type='radio']:focus,\n[type='checkbox']:focus,\ninput[list]:focus,\nselect:focus,\ntextarea:focus {\n outline: 0;\n}\n","/* List spacing and nav list reset. */\n\nmenu,\nol,\nul,\ndl {\n margin: 0 0 var(--bf-spacing-xl) 0;\n padding: 0;\n}\n\nmenu ul,\nmenu ol,\nul ul,\nul ol,\nol ol,\nol ul,\ndd {\n margin-bottom: 0;\n}\n\nul,\nol {\n margin-left: var(--bf-spacing-xl);\n}\n\nnav ol,\nnav ul {\n list-style: none;\n margin-left: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-left: 0;\n}\n\n/* VoiceOver: zero-width space so list-style:none lists stay announced. */\nnav li::before {\n content: '\\200B';\n position: absolute;\n}\n","/* Media elements, figures, progress/meter, and iframes. */\n\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block;\n}\n\nimg,\ncanvas,\naudio,\nvideo,\niframe,\nobject,\nembed {\n max-width: 100%;\n}\n\naudio,\nvideo,\ncanvas,\nimg,\nsvg {\n vertical-align: middle;\n}\n\nimg {\n height: auto;\n border-style: none;\n}\n\nfigure {\n margin: 0;\n}\n\nfigure,\nfigcaption {\n display: block;\n}\n\nfigcaption {\n line-height: 1.375;\n font-size: 90%;\n}\n\nvideo {\n height: auto;\n}\n\naudio {\n width: 100%;\n}\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\nsvg:not([fill]) {\n fill: currentColor;\n}\n\nprogress,\nmeter {\n display: inline-block;\n vertical-align: baseline;\n width: 100%;\n max-width: 100%;\n}\n\n/* progress[value] reset (https://css-tricks.com/html5-progress-element/). */\nprogress[value] {\n appearance: none;\n border: none; /* Firefox default border. */\n\n height: 20px;\n height: 2rem;\n\n background: var(--bf-gray-light);\n color: var(--bf-blue); /* Progress fill in IE10+. */\n}\n\nprogress[value]::-webkit-progress-bar {\n background: var(--bf-gray-light);\n}\n\nprogress[value]::-webkit-progress-value {\n background: var(--bf-blue);\n}\n\n/* No default border (covers embeds that ignore frameborder=\"0\"). */\niframe {\n border-style: none;\n}\n","/* Address, details/summary, and dialog defaults. */\n\naddress {\n font-style: normal;\n margin-bottom: var(--bf-spacing-lg);\n line-height: inherit;\n}\n\ndetails > summary:first-of-type {\n display: list-item;\n}\n\nsummary {\n cursor: pointer;\n font-weight: 700;\n word-break: break-all;\n}\n\ndialog {\n background-color: var(--bf-white);\n color: var(--bf-dark);\n border: none;\n border-radius: var(--bf-spacing-sm);\n padding: var(--bf-spacing-xl);\n height: fit-content;\n min-width: min(25rem, 100%);\n max-width: calc(100vw - (var(--bf-spacing-grid-gutter) * 2));\n}\n\n@media (min-width: 768px) {\n dialog {\n max-width: 50rem;\n }\n}\n\n/* Open dialog wins over [hidden] (e.g. <dialog hidden open>). */\ndialog[open] {\n display: block !important;\n}\n\ndialog::backdrop {\n background: rgb(0 0 0 / 40%);\n}\n","/* Smooth scrolling when motion is allowed. */\n\n@media (prefers-reduced-motion: no-preference) {\n :root {\n scroll-behavior: smooth;\n }\n}\n","/* Table border collapse and cell alignment. */\n\ntable {\n caption-side: bottom;\n max-width: 100%;\n border-collapse: collapse;\n border-color: currentcolor; /* Chrome / Safari inheritance. */\n text-indent: 0; /* Chrome / Safari table indent. */\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\nthead th {\n vertical-align: bottom;\n}\n\nth,\ntd {\n vertical-align: top;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n font-weight: 700;\n}\n\ncaption {\n padding-top: var(--bf-spacing-md);\n padding-bottom: var(--bf-spacing-md);\n color: var(--bf-gray);\n text-align: left;\n caption-side: bottom;\n line-height: 1.375;\n font-size: 90%;\n}\n","/* Accessibility helpers (adapted from sanitize.css). */\n\n/* Busy: progress cursor. */\n:where([aria-busy='true' i]) {\n cursor: progress;\n}\n\n/* Disabled / inoperable: not-allowed cursor. */\n:where([aria-disabled='true' i], [disabled]) {\n cursor: not-allowed;\n}\n\n/* aria-hidden=\"false\" on [hidden]: keep in a11y tree when not focused. */\n:where([aria-hidden='false' i][hidden]) {\n display: initial;\n}\n\n:where([aria-hidden='false' i][hidden]:not(:focus)) {\n clip: rect(0, 0, 0, 0);\n position: absolute;\n}\n","/* Preference queries only (prefers-contrast, forced-colors). Additive. */\n\n/* prefers-contrast: more: underline links, thicker focus, stronger borders (WCAG 1.4.1). */\n@media (prefers-contrast: more) {\n a {\n text-decoration: underline;\n }\n\n /* Darker amber clears WCAG 1.4.11 (3:1) on white, --bf-light and --bf-dark-bg;\n * the default --bf-orange ring is only ~2:1 on white. */\n :root {\n --bf-focus-ring-color: rgb(184 115 0);\n }\n\n :focus-visible {\n outline-width: 0.3rem;\n outline-offset: 0.4rem;\n }\n\n [type='email'],\n [type='number'],\n [type='password'],\n [type='tel'],\n [type='search'],\n [type='text'],\n [type='date'],\n [type='datetime-local'],\n [type='month'],\n [type='time'],\n [type='url'],\n [type='week'],\n input[list],\n select,\n textarea {\n border-width: 2px;\n }\n}\n\n/* forced-colors: restore focus via Highlight; underline links; keep button borders. */\n@media (forced-colors: active) {\n :focus-visible {\n outline-color: Highlight;\n }\n\n a {\n text-decoration: underline;\n }\n\n /* Keep button borders so disabled/active stay distinguishable. */\n button,\n [type='button'],\n [type='reset'],\n [type='submit'] {\n border: 1px solid ButtonText;\n }\n}\n","/* Always-dark overrides for classless (no media query, no .bf-* selectors). */\n\n@import './_utility-global-dark-elements.css';\n\na:focus,\ninput:focus {\n outline-color: rgb(214 140 0); /* orange -15% */\n}\n\n:focus-visible {\n outline-color: rgb(214 140 0); /* orange -15% */\n}\n","/* Element-level dark-mode rules, shared by the class-based and classless dark\n * sheets. Contains no .bf-* selector, so the classless builds can import it as\n * they are. Class-based extras live in _utility-global-dark-shared.css.\n * Underscore prefix excludes this file from the buildAllCss glob. */\n\nhtml {\n color: var(--bf-light);\n}\n\nbody {\n background-color: var(--bf-dark-bg);\n}\n\na {\n color: var(--bf-dark-link);\n}\n\na:hover,\na:focus {\n color: var(--bf-dark-link-hover);\n}\n\nmark {\n background-color: var(--bf-dark-mark-bg);\n}\n\nins {\n background-color: var(--bf-dark-ins-bg);\n}\n\n[type='email'],\n[type='number'],\n[type='password'],\n[type='tel'],\n[type='search'],\n[type='text'],\n[type='date'],\n[type='datetime-local'],\n[type='month'],\n[type='week'],\n[type='time'],\n[type='url'],\n[type='range'],\ninput[list],\nselect,\nselect:not([size], select[multiple]),\ntextarea {\n background-color: var(--bf-dark-extra);\n border-color: var(--bf-black);\n color: var(--bf-gray-light);\n}\n\n[type='email']:active,\n[type='email']:focus,\n[type='number']:active,\n[type='number']:focus,\n[type='password']:active,\n[type='password']:focus,\n[type='tel']:active,\n[type='tel']:focus,\n[type='search']:active,\n[type='search']:focus,\n[type='text']:active,\n[type='text']:focus,\n[type='date']:active,\n[type='date']:focus,\n[type='datetime-local']:active,\n[type='datetime-local']:focus,\n[type='month']:active,\n[type='month']:focus,\n[type='week']:active,\n[type='week']:focus,\n[type='time']:active,\n[type='time']:focus,\n[type='url']:active,\n[type='url']:focus,\ninput[list]:active,\ninput[list]:focus,\nselect:active,\nselect:focus,\nselect:not([size], select[multiple]):active,\nselect:not([size], select[multiple]):focus,\ntextarea:active,\ntextarea:focus {\n background-color: var(--bf-dark-extra);\n border-color: var(--bf-dark-border-focus);\n box-shadow: 0 0 0 3px var(--bf-dark-shadow-focus);\n}\n\nselect:not([size], select[multiple]) {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23f0f0f0' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\");\n}\n\n[type='range'] {\n background-color: transparent;\n}\n\n[type='range']:focus {\n background-color: transparent;\n}\n\n[type='range']::-webkit-slider-runnable-track {\n background-color: var(--bf-dark-extra);\n}\n\n[type='range']::-moz-range-track {\n background-color: var(--bf-dark-extra);\n}\n\ninput::placeholder,\ntextarea::placeholder {\n color: var(--bf-gray);\n}\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n background: var(--bf-gray-light);\n}\n\nbutton:hover,\nbutton:active,\nbutton:focus,\n[type='button']:hover,\n[type='button']:active,\n[type='button']:focus,\n[type='reset']:hover,\n[type='reset']:active,\n[type='reset']:focus,\n[type='submit']:hover,\n[type='submit']:active,\n[type='submit']:focus {\n background: var(--bf-dark-button-hover);\n}\n\nbutton:active,\nbutton:focus,\n[type='button']:active,\n[type='button']:focus,\n[type='reset']:active,\n[type='reset']:focus,\n[type='submit']:active,\n[type='submit']:focus {\n box-shadow: 0 0 0 3px var(--bf-dark-button-shadow);\n}\n\ndialog {\n color: var(--bf-light);\n background-color: var(--bf-dark-bg);\n}\n\ncaption {\n color: var(--bf-gray-light);\n}\n\nprogress[value] {\n background: var(--bf-gray-dark-extra);\n color: var(--bf-blue);\n}\n\nprogress[value]::-webkit-progress-bar {\n background: var(--bf-gray-dark-extra);\n}\n\nprogress[value]::-webkit-progress-value {\n background: var(--bf-blue);\n}\n","/* Dark scrollbar colors (Firefox + WebKit). */\n\nhtml {\n scrollbar-color: rgb(97 97 97) var(--bf-dark-extra); /* gray-dark -5% lightness */\n}\n\n/* WebKit thumb / track. */\n\n::-webkit-scrollbar {\n width: 1.5rem;\n height: 1.5rem;\n}\n\n::-webkit-scrollbar-track {\n background-color: var(--bf-dark-extra);\n}\n\n::-webkit-scrollbar-thumb {\n background-color: rgb(97 97 97); /* gray-dark -5% lightness */\n}\n\n::-webkit-scrollbar-thumb:hover {\n background-color: rgb(115 115 115); /* gray-dark +10% lightness */\n}\n"]}