bullframe.css 6.0.0 → 6.2.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 (47) hide show
  1. package/CHANGELOG.md +48 -1
  2. package/README.md +102 -28
  3. package/bin/bullframe.mjs +277 -0
  4. package/dist/css/bullframe-classless-dark.css +65 -58
  5. package/dist/css/bullframe-classless-dark.css.map +1 -1
  6. package/dist/css/bullframe-classless-dark.min.css +1 -1
  7. package/dist/css/bullframe-classless-dark.min.css.map +1 -1
  8. package/dist/css/bullframe-classless-system-default.css +61 -102
  9. package/dist/css/bullframe-classless-system-default.css.map +1 -1
  10. package/dist/css/bullframe-classless-system-default.min.css +1 -1
  11. package/dist/css/bullframe-classless-system-default.min.css.map +1 -1
  12. package/dist/css/bullframe-classless.css +37 -52
  13. package/dist/css/bullframe-classless.css.map +1 -1
  14. package/dist/css/bullframe-classless.min.css +1 -1
  15. package/dist/css/bullframe-classless.min.css.map +1 -1
  16. package/dist/css/bullframe-dark.css +216 -155
  17. package/dist/css/bullframe-dark.css.map +1 -1
  18. package/dist/css/bullframe-dark.min.css +1 -1
  19. package/dist/css/bullframe-dark.min.css.map +1 -1
  20. package/dist/css/bullframe-system-default.css +221 -154
  21. package/dist/css/bullframe-system-default.css.map +1 -1
  22. package/dist/css/bullframe-system-default.min.css +1 -1
  23. package/dist/css/bullframe-system-default.min.css.map +1 -1
  24. package/dist/css/bullframe-utilities.css +132 -65
  25. package/dist/css/bullframe-utilities.css.map +1 -1
  26. package/dist/css/bullframe-utilities.min.css +1 -1
  27. package/dist/css/bullframe-utilities.min.css.map +1 -1
  28. package/dist/css/bullframe.css +160 -115
  29. package/dist/css/bullframe.css.map +1 -1
  30. package/dist/css/bullframe.min.css +1 -1
  31. package/dist/css/bullframe.min.css.map +1 -1
  32. package/dist/skills/AGENTS.bullframe.md +46 -0
  33. package/dist/skills/_shared/builds.md +66 -0
  34. package/dist/skills/_shared/conventions.md +93 -0
  35. package/dist/skills/api.json +1023 -0
  36. package/dist/skills/bullframe-convert/SKILL.md +117 -0
  37. package/dist/skills/bullframe-convert/examples/after.html +43 -0
  38. package/dist/skills/bullframe-convert/examples/before.html +44 -0
  39. package/dist/skills/bullframe-core/SKILL.md +143 -0
  40. package/dist/skills/bullframe-docs-page/SKILL.md +89 -0
  41. package/dist/skills/bullframe-docs-page/examples/docs-page.html +72 -0
  42. package/dist/skills/bullframe-forms/SKILL.md +99 -0
  43. package/dist/skills/bullframe-forms/examples/contact-form.html +67 -0
  44. package/dist/skills/bullframe-landing-page/SKILL.md +96 -0
  45. package/dist/skills/bullframe-landing-page/examples/landing.html +98 -0
  46. package/dist/skills/index.json +134 -0
  47. package/package.json +21 -7
@@ -1,6 +1,6 @@
1
- /* ! Bullframe CSS v6.0.0 | MIT License | https://github.com/marcop135/bullframe.css */
1
+ /* ! Bullframe CSS v6.2.0 | MIT License | https://github.com/marcop135/bullframe.css */
2
2
 
3
- /* Classless build: semantic element styles only (no .bf-* utilities). */
3
+ /* Classless build: semantic element styles only (no .bf-* classes). */
4
4
 
5
5
  /* Variables */
6
6
  /* Design tokens (--bf-*). Shared by every build variant.
@@ -32,6 +32,11 @@
32
32
  /* Invalid / error */
33
33
  --bf-red: rgb(255 0 0);
34
34
 
35
+ /* Focus ring (prefers-contrast: more raises colour for WCAG 1.4.11) */
36
+ --bf-focus-ring-color: var(--bf-orange);
37
+ --bf-focus-ring-width: 0.2rem;
38
+ --bf-focus-ring-offset: 0.3rem;
39
+
35
40
  /* Dark-mode surfaces (used by utility-global-dark*.css) */
36
41
  --bf-dark-bg: rgb(28 28 28);
37
42
  --bf-dark-link: rgb(77 165 255);
@@ -109,11 +114,6 @@ template {
109
114
  * Light UA improvements; complements Bullframe base styles. */
110
115
 
111
116
  @layer {
112
- /* Spacing between content and focus outline (enhances focus.css). */
113
- :focus-visible {
114
- outline-offset: 3px;
115
- }
116
-
117
117
  /* Disable mobile landscape text inflation on optimized layouts. */
118
118
  html {
119
119
  -webkit-text-size-adjust: none;
@@ -121,14 +121,11 @@ template {
121
121
  text-size-adjust: none;
122
122
  }
123
123
 
124
- /* Comfortable default root line-height (body still uses --bf-body-line-height). */
125
- html {
126
- line-height: 1.5;
127
- }
128
-
129
124
  /* Stable scrollbar gutter avoids layout jump on short pages. */
130
- html {
131
- scrollbar-gutter: stable;
125
+ @supports (scrollbar-gutter: stable) {
126
+ html {
127
+ scrollbar-gutter: stable;
128
+ }
132
129
  }
133
130
 
134
131
  /* Nested h1 size/margin: match modern UA (Safari still nests sectioning styles). */
@@ -137,13 +134,6 @@ template {
137
134
  margin-block: 0.67em;
138
135
  }
139
136
 
140
- /* abbr[title]: dotted underline + help cursor across engines. */
141
- abbr[title] {
142
- cursor: help;
143
- text-decoration-line: underline;
144
- text-decoration-style: dotted;
145
- }
146
-
147
137
  /* mark: system Highlight colors under forced-colors. */
148
138
  @media (forced-colors: active) {
149
139
  mark {
@@ -213,17 +203,12 @@ template {
213
203
  direction: ltr;
214
204
  }
215
205
 
216
- /* Tables: collapsed borders + cell padding for scanability. */
206
+ /* Tables: outer border. Cell borders and padding come from
207
+ * miscellaneous/tables.css, which is unlayered and therefore wins. */
217
208
  table {
218
209
  border: 1px solid currentColor;
219
210
  }
220
211
 
221
- th,
222
- td {
223
- border: 1px solid currentColor;
224
- padding: 0.25em 0.5em;
225
- }
226
-
227
212
  /* Soft dialog / popover enter transitions (skip when reduced-motion is on). */
228
213
  @media (prefers-reduced-motion: no-preference) {
229
214
  dialog::backdrop {
@@ -257,26 +242,11 @@ template {
257
242
  }
258
243
  }
259
244
 
260
- /* Keep [hidden] hard-hidden except until-found. */
261
- [hidden]:not([hidden='until-found']) {
262
- display: none !important;
263
- }
264
-
265
245
  /* Images as blocks (max-width still from embedded-content.css). */
266
246
  img {
267
247
  display: block;
268
248
  }
269
249
 
270
- /* summary: pointer on the whole control, not only ::marker. */
271
- summary {
272
- cursor: default;
273
- }
274
-
275
- /* iframes: no default border. */
276
- iframe {
277
- border: none;
278
- }
279
-
280
250
  /* Popovers: anchor near trigger when position-area is supported. */
281
251
  @supports (position-area: block-end span-inline-end) {
282
252
  [popover] {
@@ -354,7 +324,18 @@ h6 {
354
324
  color: inherit;
355
325
  line-height: 1.25;
356
326
  margin-bottom: var(--bf-spacing-lg);
357
- text-wrap: balance;
327
+ }
328
+
329
+ /* Balanced headings where supported; no-op elsewhere. */
330
+ @supports (text-wrap: balance) {
331
+ h1,
332
+ h2,
333
+ h3,
334
+ h4,
335
+ h5,
336
+ h6 {
337
+ text-wrap: balance;
338
+ }
358
339
  }
359
340
 
360
341
  h1 {
@@ -439,6 +420,7 @@ strong {
439
420
  font-weight: inherit;
440
421
  }
441
422
 
423
+ /* stylelint-disable-next-line no-duplicate-selectors -- normalize.css Safari fix */
442
424
  b,
443
425
  strong {
444
426
  font-weight: bolder;
@@ -1114,7 +1096,7 @@ a:not([href], [class]):hover {
1114
1096
  a:not([href], [tabindex]):focus {
1115
1097
  outline: 0;
1116
1098
  }
1117
- /* Keyboard-first focus: orange :focus-visible ring; mute mouse outline.
1099
+ /* Keyboard-first focus: :focus-visible ring from --bf-focus-ring-*; mute mouse outline.
1118
1100
  * Text-like controls clear UA outline here; field chrome is in forms/styling.css. */
1119
1101
 
1120
1102
  :where(:focus:not(:focus-visible)) {
@@ -1127,8 +1109,8 @@ a:not([href], [tabindex]):focus {
1127
1109
  }
1128
1110
 
1129
1111
  :focus-visible {
1130
- outline: 0.2rem solid var(--bf-orange);
1131
- outline-offset: 0.3rem;
1112
+ outline: var(--bf-focus-ring-width) solid var(--bf-focus-ring-color);
1113
+ outline-offset: var(--bf-focus-ring-offset);
1132
1114
  }
1133
1115
 
1134
1116
  /* Clear UA outline on text-like controls (styled fields keep their own chrome).
@@ -1153,8 +1135,7 @@ button:focus,
1153
1135
  [type='checkbox']:focus,
1154
1136
  input[list]:focus,
1155
1137
  select:focus,
1156
- textarea:focus,
1157
- .bf-btn:focus {
1138
+ textarea:focus {
1158
1139
  outline: 0;
1159
1140
  }
1160
1141
  /* List spacing and nav list reset. */
@@ -1185,7 +1166,6 @@ ol {
1185
1166
  nav ol,
1186
1167
  nav ul {
1187
1168
  list-style: none;
1188
- list-style-image: none;
1189
1169
  margin-left: 0;
1190
1170
  }
1191
1171
 
@@ -1428,6 +1408,12 @@ caption {
1428
1408
  text-decoration: underline;
1429
1409
  }
1430
1410
 
1411
+ /* Darker amber clears WCAG 1.4.11 (3:1) on white, --bf-light and --bf-dark-bg;
1412
+ * the default --bf-orange ring is only ~2:1 on white. */
1413
+ :root {
1414
+ --bf-focus-ring-color: rgb(184 115 0);
1415
+ }
1416
+
1431
1417
  :focus-visible {
1432
1418
  outline-width: 0.3rem;
1433
1419
  outline-offset: 0.4rem;
@@ -1466,8 +1452,7 @@ caption {
1466
1452
  button,
1467
1453
  [type='button'],
1468
1454
  [type='reset'],
1469
- [type='submit'],
1470
- .bf-btn {
1455
+ [type='submit'] {
1471
1456
  border: 1px solid ButtonText;
1472
1457
  }
1473
1458
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["<no source>","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"],"names":[],"mappings":"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","file":"bullframe-classless.css","sourcesContent":[null,"/* 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"]}
1
+ {"version":3,"sources":["<no source>","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"],"names":[],"mappings":"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","file":"bullframe-classless.css","sourcesContent":[null,"/* 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"]}
@@ -1 +1 @@
1
- /* ! Bullframe CSS v6.0.0 | MIT License | https://github.com/marcop135/bullframe.css */:root{--bf-white:#fff;--bf-light:#f0f0f0;--bf-gray-light-extra:#e9e9e9;--bf-gray-light:#ccc;--bf-gray:#999;--bf-gray-dark:#666;--bf-gray-dark-extra:#333;--bf-dark:#222;--bf-dark-extra:#111;--bf-black:#000;--bf-yellow-light:#ff9;--bf-yellow:#ff0;--bf-orange:orange;--bf-blue:#0056b3;--bf-blue-light:#004187;--bf-blue-light-extra:#bed8fe;--bf-red:red;--bf-dark-bg:#1c1c1c;--bf-dark-link:#4da5ff;--bf-dark-link-hover:#4da5ff;--bf-dark-border-focus:#1a8cff;--bf-dark-shadow-focus:rgba(3,102,214,.5);--bf-dark-mark-bg:#e6e600;--bf-dark-ins-bg:#ffffc8;--bf-dark-button-hover:#b8b8b8;--bf-dark-button-shadow:hsla(0,0%,100%,.45);--bf-dark-invalid:#ff2626;--bf-spacing-sm:0.25rem;--bf-spacing-md:0.5rem;--bf-spacing-lg:1rem;--bf-spacing-xl:2rem;--bf-spacing-xxl:3rem;--bf-spacing-grid-gutter:1.5rem;--bf-font-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bf-font-serif:Georgia,Times,"Times New Roman",serif;--bf-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bf-body-font-size-rem:1.6rem;--bf-body-line-height:1.5;--bf-breakpoint-xs:0;--bf-breakpoint-sm:576px;--bf-breakpoint-md:768px;--bf-breakpoint-lg:992px;--bf-breakpoint-xl:1200px;--bf-breakpoint-xxl:1400px}*,:after,:before{box-sizing:border-box}article,aside,details,dialog,figcaption,figure,footer,header,hgroup,main,menu,nav,section{display:block}template{display:none}[hidden]:where(:not([hidden=until-found])){display:none!important}@layer{:focus-visible{outline-offset:3px}html{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;line-height:1.5;scrollbar-gutter:stable}h1{font-size:2em;margin-block:.67em}abbr[title]{cursor:help;text-decoration-line:underline;text-decoration-style:dotted}@media (forced-colors:active){mark{background-color:Highlight;color:HighlightText}}audio,iframe,img,svg,video{max-block-size:100%;max-inline-size:100%}fieldset{min-inline-size:0}@supports selector(:has(*)){label:has(+input:not([type=radio],[type=checkbox]),select,textarea){display:block}}textarea:not([rows]){min-block-size:6em}button,input,select,textarea{font-family:inherit;font-size:inherit}[type=search]{-webkit-appearance:textfield}@supports (-webkit-touch-callout:none){[type=search]{background-color:canvas;border:1px solid -apple-system-secondary-label}}input:where([type=tel],[type=url],[type=email],[type=number]):not(:-moz-placeholder){direction:ltr}input:where([type=tel],[type=url],[type=email],[type=number]):not(:placeholder-shown){direction:ltr}table,td,th{border:1px solid}td,th{padding:.25em .5em}@media (prefers-reduced-motion:no-preference){dialog::backdrop{background:rgba(0,0,0,.3)}@supports (overlay:auto){[popover],dialog,dialog::backdrop{opacity:0;transition:opacity .3s ease-out,display allow-discrete .3s,overlay allow-discrete .3s}:popover-open,dialog[open],dialog[open]::backdrop{opacity:1}@starting-style{:popover-open,dialog[open],dialog[open]::backdrop{opacity:0}}}}[hidden]:not([hidden=until-found]){display:none!important}img{display:block}summary{cursor:default}iframe{border:none}@supports (position-area:block-end span-inline-end){[popover]{margin:0;position-area:block-end span-inline-end}}}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;color:var(--bf-dark);font-family:system-ui,sans-serif;font-size:62.5%;line-height:1.15;-webkit-tap-highlight-color:rgb(0 0 0/0)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,Helvetica,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:var(--bf-body-font-size-rem);font-weight:400;line-height:var(--bf-body-line-height);margin:0;text-align:left;text-rendering:optimizeLegibility;word-wrap:break-word;background-color:var(--bf-white)}h1,h2,h3,h4,h5,h6{color:inherit;font-family:inherit;font-weight:600;line-height:1.25;margin-bottom:var(--bf-spacing-lg);margin-top:0;text-wrap:balance}h1{font-size:36px;font-size:3.6rem}h2{font-size:30px;font-size:3rem}h3{font-size:24px;font-size:2.4rem}h4{font-size:20px;font-size:2rem}h5,h6{font-size:16px;font-size:1.6rem}blockquote{font-style:italic;margin:0 0 var(--bf-spacing-xl);padding-left:0}blockquote p{margin-bottom:0}blockquote small{color:var(--bf-gray);display:block}blockquote small:before{content:"\2014 \00A0"}q{quotes:"\201C" "\201D" "\2018" "\2019"}p{margin:0 0 var(--bf-spacing-xl) 0}abbr[data-original-title],abbr[title]{border-bottom:0;cursor:help;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}mark{background-color:var(--bf-yellow)}ins,mark{color:var(--bf-black)}ins{background-color:var(--bf-yellow-light);text-decoration:none}b,strong{font-weight:inherit;font-weight:bolder}dfn{font-style:italic}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-8px;top:-.8rem}sub{bottom:-4px;bottom:-.4rem}small{font-size:80%}@supports selector(:has(*)){p:has(small){line-height:1.25}}hr{border-style:solid;border-width:1px 0 0;box-sizing:content-box;color:inherit;height:0;margin:var(--bf-spacing-xl) 0;overflow:visible;padding:0}hr,pre{display:block}pre{margin:0 0 var(--bf-spacing-xl) 0;overflow:auto;word-break:break-all;word-wrap:break-word;hyphens:none;white-space:pre;-ms-overflow-style:auto}code,kbd,pre,samp{font-family:Menlo,Consolas,Roboto Mono,"Ubuntu Monospace",Noto Mono,Oxygen Mono,Liberation Mono,monospace,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:.875em}code{word-wrap:break-word}a>code,pre code{color:inherit}pre code{font-size:inherit;word-break:normal}:where(html input,button,select,optgroup,textarea){color:inherit;font-family:inherit;font-size:inherit;line-height:inherit}:where(html input,button,[type=radio],[type=checkbox],select,optgroup,textarea){margin:0}:where(html input,select,textarea,legend){width:100%}:where(html label,button,[type=image],[type=submit],[type=reset],html [type=button],[type=radio],[type=checkbox]){width:auto}:where(html input,label,select,textarea,button,html [type=button],[type=reset],[type=submit],output){display:inline-block}:where([type=file]){background-color:transparent;display:block}:where(button,html input,select,textarea){background-image:none}:where(input,select,textarea){vertical-align:baseline}:where(form){margin:0}:where(fieldset){border:0;margin:0;min-width:0;padding:0}:where(legend){border:0;color:inherit;display:table;font-size:inherit;font-weight:400;line-height:1.375;margin-bottom:var(--bf-spacing-md);max-width:100%;padding:0;white-space:normal}:where(label){font-size:90%;font-weight:400;line-height:1.375;margin-bottom:var(--bf-spacing-md)}:where(label input,label select,label textarea){font-size:110%}::-webkit-inner-spin-button{height:auto}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-color-swatch-wrapper{padding:0}:where([type=search]){outline-offset:calc(var(--bf-spacing-sm)*-1)}:where(output){vertical-align:middle}:where(button,select){text-transform:none}:where(select){word-wrap:normal}:where([list]):not([type=date],[type=datetime-local],[type=month],[type=week],[type=time])::-webkit-calendar-picker-indicator{display:none!important}:where(optgroup){font-family:inherit;font-size:inherit;font-style:inherit;font-weight:600}:where(button,html [type=button],[type=reset],[type=submit],[type=email],[type=number],[type=text],[type=tel],[type=date],[type=datetime-local],[type=month],[type=week],[type=url],[type=image],[type=password],[type=search],[type=search]::-webkit-search-decoration,[type=search]::-webkit-search-cancel-button,input[list],textarea){-webkit-appearance:none;appearance:none}::file-selector-button{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;font:inherit}:where(button,input,select,textarea){border-radius:var(--bf-spacing-sm)}:where([type=radio]){border-radius:50%}:where([type=checkbox]){border-radius:var(--bf-spacing-md)}:where([type=radio],[type=checkbox]){background-color:var(--bf-white);padding:0}:where([type=range i]){background-color:transparent}:where(select[size],select[multiple]){height:auto}:where(select[multiple]){background-image:none}:where(textarea){height:auto;min-height:60px;min-height:6rem;overflow:auto;resize:vertical;vertical-align:top}::-moz-focus-inner{border-style:none;padding:0}:where(button,[type=button],[type=reset],[type=submit]){background-clip:padding-box;line-height:normal;margin:0;overflow:visible;text-align:center;vertical-align:baseline;-webkit-tap-highlight-color:rgb(0 0 0/0);background-image:none;border:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}:where(button,[type=button],[type=reset],[type=submit]):active,:where(button,[type=button],[type=reset],[type=submit]):focus,:where(button,[type=button],[type=reset],[type=submit]):hover{color:var(--bf-dark);text-decoration:none}:where(button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled)){cursor:pointer}:where(input::-moz-placeholder,textarea::-moz-placeholder){color:var(--bf-gray-dark)}:where(input::placeholder,textarea::placeholder){color:var(--bf-gray-dark)}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}:where([type=email],[type=number],[type=password],[type=tel],[type=search],[type=text],[type=date],[type=datetime-local],[type=month],[type=week],[type=time],[type=url],input[list],select,textarea){background-color:var(--bf-white);border:1px solid var(--bf-gray);padding:var(--bf-spacing-md) calc(var(--bf-spacing-lg)*.75)}:where([type=email],[type=number],[type=password],[type=tel],[type=search],[type=text],[type=date],[type=datetime-local],[type=month],[type=week],[type=time],[type=url],input[list],select,textarea,[type=radio],[type=checkbox]):active,:where([type=email],[type=number],[type=password],[type=tel],[type=search],[type=text],[type=date],[type=datetime-local],[type=month],[type=week],[type=time],[type=url],input[list],select,textarea,[type=radio],[type=checkbox]):focus{border-color:var(--bf-blue);box-shadow:0 0 0 3px rgba(0,86,179,.25);transition:border .2s,background-color .2s,box-shadow .2s}:where(button,[type=button],[type=reset],[type=submit]){background:var(--bf-gray-light);color:var(--bf-dark);padding:calc(var(--bf-spacing-xl)/3) calc(var(--bf-spacing-xl)/3*2);transition:color .2s,background .2s,box-shadow .2s}:where(button,[type=button],[type=reset],[type=submit]):active,:where(button,[type=button],[type=reset],[type=submit]):focus:not(.bf-disabled):not([aria-disabled=true]),:where(button,[type=button],[type=reset],[type=submit]):hover{background:#b8b8b8;color:var(--bf-dark);text-decoration:none}:where(button,[type=button],[type=reset],[type=submit]):active,:where(button,[type=button],[type=reset],[type=submit]):focus:not(.bf-disabled):not([aria-disabled=true]){box-shadow:0 0 0 3px rgba(0,0,0,.15)}:where(fieldset[disabled] button,fieldset[disabled] input,fieldset[disabled] input:after,fieldset[disabled] input:before,fieldset[disabled] input:checked,fieldset[disabled] select,fieldset[disabled] textarea,fieldset[disabled] label,button[disabled],input[disabled],input[disabled]:after,input[disabled]:before,input[disabled]:checked,select[disabled],textarea[disabled],label[disabled],button:disabled,input:disabled,input:disabled:after,input:disabled:before,input:disabled:checked,select:disabled,textarea:disabled,label:disabled,button[aria-disabled=true],input[aria-disabled=true],input[aria-disabled=true]:after,input[aria-disabled=true]:before,input[aria-disabled=true]:checked,select[aria-disabled=true],textarea[aria-disabled=true],label[aria-disabled=true]){box-shadow:none!important;cursor:default!important;cursor:not-allowed!important;opacity:.5!important;outline:none!important;pointer-events:none!important;-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}:where(select):not([size],select[multiple]){-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bf-white) url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0 0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .85rem center/8px 10px;padding-right:calc(var(--bf-spacing-lg) + var(--bf-spacing-lg))}:where([dir=rtl]) :where(select):not([size],select[multiple]),:where(select[dir=rtl]):not([size],select[multiple]){background-position:left .85rem top 50%;padding-left:calc(var(--bf-spacing-lg) + var(--bf-spacing-lg));padding-right:calc(var(--bf-spacing-lg)*.75)}@supports ((-webkit-appearance:none) or (-moz-appearance:none) or (appearance:none)){:where([type=range]){-webkit-appearance:none;-moz-appearance:none;appearance:none;height:1.4rem;width:100%}:where([type=range])::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background-color:var(--bf-blue);border:0;border-radius:1.5rem;height:1.5rem;margin-top:-.25rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:1.5rem}:where([type=range])::-webkit-slider-thumb:active{background-color:var(--bf-blue)}:where([type=range])::-moz-range-thumb{-moz-appearance:none;appearance:none;background-color:var(--bf-blue);border:0;border-radius:1.5rem;height:1.5rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:1.5rem}:where([type=range])::-moz-range-thumb:active{background-color:var(--bf-blue)}:where([type=range])::-webkit-slider-runnable-track{background-color:var(--bf-gray-light-extra);border-color:transparent;color:transparent;cursor:pointer;height:.65rem;width:100%}:where([type=range])::-moz-range-track{background-color:var(--bf-gray-light-extra);border-color:transparent;color:transparent;cursor:pointer;height:.65rem;width:100%}:where([type=range]):focus{outline:none}:where([type=range]):focus::-webkit-slider-thumb{box-shadow:0 0 0 .1rem var(--bf-white),0 0 0 .2rem rgba(0,123,255,.25)}:where([type=range]):focus::-moz-range-thumb{box-shadow:0 0 0 .1rem var(--bf-white),0 0 0 .2rem rgba(0,123,255,.25)}:where([type=range])::-moz-focus-outer{border:0}:where([type=range]):disabled{pointer-events:none}:where([type=range]):disabled::-webkit-slider-thumb{background-color:var(--bf-gray-light)}:where([type=range]):disabled::-moz-range-thumb{background-color:var(--bf-gray-light)}}a{background-color:transparent;color:var(--bf-blue);text-decoration:none}a:focus,a:hover{color:var(--bf-blue-light);text-decoration:underline}a:not([href],[class]),a:not([href],[class]):hover,a:not([href],[tabindex]){color:inherit;text-decoration:none}a:not([href],[tabindex]):focus{outline:0}:where(:focus:not(:focus-visible)){outline:none}:where([tabindex="-1"]:focus:not(:focus-visible)){outline:0!important}:focus-visible{outline:.2rem solid var(--bf-orange);outline-offset:.3rem}.bf-btn:focus,[type=button]:focus,[type=checkbox]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=radio]:focus,[type=reset]:focus,[type=search]:focus,[type=submit]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,button:focus,input[list]:focus,select:focus,textarea:focus{outline:0}dl,menu,ol,ul{margin:0 0 var(--bf-spacing-xl) 0;padding:0}dd,menu ol,menu ul,ol ol,ol ul,ul ol,ul ul{margin-bottom:0}ol,ul{margin-left:var(--bf-spacing-xl)}nav ol,nav ul{list-style:none;list-style-image:none;margin-left:0}dt{font-weight:700}dd{margin-left:0}nav li:before{content:"\200B";position:absolute}audio,canvas,progress,video{display:inline-block}audio,canvas,embed,iframe,img,object,video{max-width:100%}audio,canvas,img,svg,video{vertical-align:middle}img{border-style:none;height:auto}figure{margin:0}figcaption,figure{display:block}figcaption{font-size:90%;line-height:1.375}video{height:auto}audio{width:100%}audio:not([controls]){display:none;height:0}svg:not(:root){overflow:hidden}svg:not([fill]){fill:currentColor}meter,progress{display:inline-block;max-width:100%;vertical-align:baseline;width:100%}progress[value]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bf-gray-light);border:none;color:var(--bf-blue);height:20px;height:2rem}progress[value]::-webkit-progress-bar{background:var(--bf-gray-light)}progress[value]::-webkit-progress-value{background:var(--bf-blue)}iframe{border-style:none}address{font-style:normal;line-height:inherit;margin-bottom:var(--bf-spacing-lg)}details>summary:first-of-type{display:list-item}summary{cursor:pointer;font-weight:700;word-break:break-all}dialog{background-color:var(--bf-white);border:none;border-radius:var(--bf-spacing-sm);color:var(--bf-dark);height:-moz-fit-content;height:fit-content;max-width:calc(100vw - var(--bf-spacing-grid-gutter)*2);min-width:min(25rem,100%);padding:var(--bf-spacing-xl)}@media (min-width:768px){dialog{max-width:50rem}}dialog[open]{display:block!important}dialog::backdrop{background:rgba(0,0,0,.4)}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}table{border-collapse:collapse;border-color:currentcolor;caption-side:bottom;max-width:100%;text-indent:0}tbody,td,tfoot,th,thead,tr{border:0 solid;border-color:inherit}thead th{vertical-align:bottom}td,th{vertical-align:top}th{font-weight:700;text-align:inherit;text-align:-webkit-match-parent}caption{caption-side:bottom;color:var(--bf-gray);font-size:90%;line-height:1.375;padding-bottom:var(--bf-spacing-md);padding-top:var(--bf-spacing-md);text-align:left}:where([aria-busy=true i]){cursor:progress}:where([aria-disabled=true i],[disabled]){cursor:not-allowed}:where([aria-hidden=false i][hidden]){display:initial}:where([aria-hidden=false i][hidden]:not(:focus)){clip:rect(0,0,0,0);position:absolute}@media (prefers-contrast:more){a{text-decoration:underline}:focus-visible{outline-offset:.4rem;outline-width:.3rem}[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],input[list],select,textarea{border-width:2px}}@media (forced-colors:active){:focus-visible{outline-color:Highlight}a{text-decoration:underline}.bf-btn,[type=button],[type=reset],[type=submit],button{border:1px solid ButtonText}}
1
+ /* ! Bullframe CSS v6.2.0 | MIT License | https://github.com/marcop135/bullframe.css */:root{--bf-white:#fff;--bf-light:#f0f0f0;--bf-gray-light-extra:#e9e9e9;--bf-gray-light:#ccc;--bf-gray:#999;--bf-gray-dark:#666;--bf-gray-dark-extra:#333;--bf-dark:#222;--bf-dark-extra:#111;--bf-black:#000;--bf-yellow-light:#ff9;--bf-yellow:#ff0;--bf-orange:orange;--bf-blue:#0056b3;--bf-blue-light:#004187;--bf-blue-light-extra:#bed8fe;--bf-red:red;--bf-focus-ring-color:var(--bf-orange);--bf-focus-ring-width:0.2rem;--bf-focus-ring-offset:0.3rem;--bf-dark-bg:#1c1c1c;--bf-dark-link:#4da5ff;--bf-dark-link-hover:#4da5ff;--bf-dark-border-focus:#1a8cff;--bf-dark-shadow-focus:rgba(3,102,214,.5);--bf-dark-mark-bg:#e6e600;--bf-dark-ins-bg:#ffffc8;--bf-dark-button-hover:#b8b8b8;--bf-dark-button-shadow:hsla(0,0%,100%,.45);--bf-dark-invalid:#ff2626;--bf-spacing-sm:0.25rem;--bf-spacing-md:0.5rem;--bf-spacing-lg:1rem;--bf-spacing-xl:2rem;--bf-spacing-xxl:3rem;--bf-spacing-grid-gutter:1.5rem;--bf-font-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bf-font-serif:Georgia,Times,"Times New Roman",serif;--bf-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bf-body-font-size-rem:1.6rem;--bf-body-line-height:1.5;--bf-breakpoint-xs:0;--bf-breakpoint-sm:576px;--bf-breakpoint-md:768px;--bf-breakpoint-lg:992px;--bf-breakpoint-xl:1200px;--bf-breakpoint-xxl:1400px}*,:after,:before{box-sizing:border-box}article,aside,details,dialog,figcaption,figure,footer,header,hgroup,main,menu,nav,section{display:block}template{display:none}[hidden]:where(:not([hidden=until-found])){display:none!important}@layer{html{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none}@supports (scrollbar-gutter:stable){html{scrollbar-gutter:stable}}h1{font-size:2em;margin-block:.67em}@media (forced-colors:active){mark{background-color:Highlight;color:HighlightText}}audio,iframe,img,svg,video{max-block-size:100%;max-inline-size:100%}fieldset{min-inline-size:0}@supports selector(:has(*)){label:has(+input:not([type=radio],[type=checkbox]),select,textarea){display:block}}textarea:not([rows]){min-block-size:6em}button,input,select,textarea{font-family:inherit;font-size:inherit}[type=search]{-webkit-appearance:textfield}@supports (-webkit-touch-callout:none){[type=search]{background-color:canvas;border:1px solid -apple-system-secondary-label}}input:where([type=tel],[type=url],[type=email],[type=number]):not(:-moz-placeholder){direction:ltr}input:where([type=tel],[type=url],[type=email],[type=number]):not(:placeholder-shown){direction:ltr}table{border:1px solid}@media (prefers-reduced-motion:no-preference){dialog::backdrop{background:rgba(0,0,0,.3)}@supports (overlay:auto){[popover],dialog,dialog::backdrop{opacity:0;transition:opacity .3s ease-out,display allow-discrete .3s,overlay allow-discrete .3s}:popover-open,dialog[open],dialog[open]::backdrop{opacity:1}@starting-style{:popover-open,dialog[open],dialog[open]::backdrop{opacity:0}}}}img{display:block}@supports (position-area:block-end span-inline-end){[popover]{margin:0;position-area:block-end span-inline-end}}}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;color:var(--bf-dark);font-family:system-ui,sans-serif;font-size:62.5%;line-height:1.15;-webkit-tap-highlight-color:rgb(0 0 0/0)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,Helvetica,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:var(--bf-body-font-size-rem);font-weight:400;line-height:var(--bf-body-line-height);margin:0;text-align:left;text-rendering:optimizeLegibility;word-wrap:break-word;background-color:var(--bf-white)}h1,h2,h3,h4,h5,h6{color:inherit;font-family:inherit;font-weight:600;line-height:1.25;margin-bottom:var(--bf-spacing-lg);margin-top:0}@supports (text-wrap:balance){h1,h2,h3,h4,h5,h6{text-wrap:balance}}h1{font-size:36px;font-size:3.6rem}h2{font-size:30px;font-size:3rem}h3{font-size:24px;font-size:2.4rem}h4{font-size:20px;font-size:2rem}h5,h6{font-size:16px;font-size:1.6rem}blockquote{font-style:italic;margin:0 0 var(--bf-spacing-xl);padding-left:0}blockquote p{margin-bottom:0}blockquote small{color:var(--bf-gray);display:block}blockquote small:before{content:"\2014 \00A0"}q{quotes:"\201C" "\201D" "\2018" "\2019"}p{margin:0 0 var(--bf-spacing-xl) 0}abbr[data-original-title],abbr[title]{border-bottom:0;cursor:help;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}mark{background-color:var(--bf-yellow)}ins,mark{color:var(--bf-black)}ins{background-color:var(--bf-yellow-light);text-decoration:none}b,strong{font-weight:inherit;font-weight:bolder}dfn{font-style:italic}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-8px;top:-.8rem}sub{bottom:-4px;bottom:-.4rem}small{font-size:80%}@supports selector(:has(*)){p:has(small){line-height:1.25}}hr{border-style:solid;border-width:1px 0 0;box-sizing:content-box;color:inherit;height:0;margin:var(--bf-spacing-xl) 0;overflow:visible;padding:0}hr,pre{display:block}pre{margin:0 0 var(--bf-spacing-xl) 0;overflow:auto;word-break:break-all;word-wrap:break-word;hyphens:none;white-space:pre;-ms-overflow-style:auto}code,kbd,pre,samp{font-family:Menlo,Consolas,Roboto Mono,"Ubuntu Monospace",Noto Mono,Oxygen Mono,Liberation Mono,monospace,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:.875em}code{word-wrap:break-word}a>code,pre code{color:inherit}pre code{font-size:inherit;word-break:normal}:where(html input,button,select,optgroup,textarea){color:inherit;font-family:inherit;font-size:inherit;line-height:inherit}:where(html input,button,[type=radio],[type=checkbox],select,optgroup,textarea){margin:0}:where(html input,select,textarea,legend){width:100%}:where(html label,button,[type=image],[type=submit],[type=reset],html [type=button],[type=radio],[type=checkbox]){width:auto}:where(html input,label,select,textarea,button,html [type=button],[type=reset],[type=submit],output){display:inline-block}:where([type=file]){background-color:transparent;display:block}:where(button,html input,select,textarea){background-image:none}:where(input,select,textarea){vertical-align:baseline}:where(form){margin:0}:where(fieldset){border:0;margin:0;min-width:0;padding:0}:where(legend){border:0;color:inherit;display:table;font-size:inherit;font-weight:400;line-height:1.375;margin-bottom:var(--bf-spacing-md);max-width:100%;padding:0;white-space:normal}:where(label){font-size:90%;font-weight:400;line-height:1.375;margin-bottom:var(--bf-spacing-md)}:where(label input,label select,label textarea){font-size:110%}::-webkit-inner-spin-button{height:auto}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-color-swatch-wrapper{padding:0}:where([type=search]){outline-offset:calc(var(--bf-spacing-sm)*-1)}:where(output){vertical-align:middle}:where(button,select){text-transform:none}:where(select){word-wrap:normal}:where([list]):not([type=date],[type=datetime-local],[type=month],[type=week],[type=time])::-webkit-calendar-picker-indicator{display:none!important}:where(optgroup){font-family:inherit;font-size:inherit;font-style:inherit;font-weight:600}:where(button,html [type=button],[type=reset],[type=submit],[type=email],[type=number],[type=text],[type=tel],[type=date],[type=datetime-local],[type=month],[type=week],[type=url],[type=image],[type=password],[type=search],[type=search]::-webkit-search-decoration,[type=search]::-webkit-search-cancel-button,input[list],textarea){-webkit-appearance:none;appearance:none}::file-selector-button{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;font:inherit}:where(button,input,select,textarea){border-radius:var(--bf-spacing-sm)}:where([type=radio]){border-radius:50%}:where([type=checkbox]){border-radius:var(--bf-spacing-md)}:where([type=radio],[type=checkbox]){background-color:var(--bf-white);padding:0}:where([type=range i]){background-color:transparent}:where(select[size],select[multiple]){height:auto}:where(select[multiple]){background-image:none}:where(textarea){height:auto;min-height:60px;min-height:6rem;overflow:auto;resize:vertical;vertical-align:top}::-moz-focus-inner{border-style:none;padding:0}:where(button,[type=button],[type=reset],[type=submit]){background-clip:padding-box;line-height:normal;margin:0;overflow:visible;text-align:center;vertical-align:baseline;-webkit-tap-highlight-color:rgb(0 0 0/0);background-image:none;border:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}:where(button,[type=button],[type=reset],[type=submit]):active,:where(button,[type=button],[type=reset],[type=submit]):focus,:where(button,[type=button],[type=reset],[type=submit]):hover{color:var(--bf-dark);text-decoration:none}:where(button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled)){cursor:pointer}:where(input::-moz-placeholder,textarea::-moz-placeholder){color:var(--bf-gray-dark)}:where(input::placeholder,textarea::placeholder){color:var(--bf-gray-dark)}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}:where([type=email],[type=number],[type=password],[type=tel],[type=search],[type=text],[type=date],[type=datetime-local],[type=month],[type=week],[type=time],[type=url],input[list],select,textarea){background-color:var(--bf-white);border:1px solid var(--bf-gray);padding:var(--bf-spacing-md) calc(var(--bf-spacing-lg)*.75)}:where([type=email],[type=number],[type=password],[type=tel],[type=search],[type=text],[type=date],[type=datetime-local],[type=month],[type=week],[type=time],[type=url],input[list],select,textarea,[type=radio],[type=checkbox]):active,:where([type=email],[type=number],[type=password],[type=tel],[type=search],[type=text],[type=date],[type=datetime-local],[type=month],[type=week],[type=time],[type=url],input[list],select,textarea,[type=radio],[type=checkbox]):focus{border-color:var(--bf-blue);box-shadow:0 0 0 3px rgba(0,86,179,.25);transition:border .2s,background-color .2s,box-shadow .2s}:where(button,[type=button],[type=reset],[type=submit]){background:var(--bf-gray-light);color:var(--bf-dark);padding:calc(var(--bf-spacing-xl)/3) calc(var(--bf-spacing-xl)/3*2);transition:color .2s,background .2s,box-shadow .2s}:where(button,[type=button],[type=reset],[type=submit]):active,:where(button,[type=button],[type=reset],[type=submit]):focus:not(.bf-disabled):not([aria-disabled=true]),:where(button,[type=button],[type=reset],[type=submit]):hover{background:#b8b8b8;color:var(--bf-dark);text-decoration:none}:where(button,[type=button],[type=reset],[type=submit]):active,:where(button,[type=button],[type=reset],[type=submit]):focus:not(.bf-disabled):not([aria-disabled=true]){box-shadow:0 0 0 3px rgba(0,0,0,.15)}:where(fieldset[disabled] button,fieldset[disabled] input,fieldset[disabled] input:after,fieldset[disabled] input:before,fieldset[disabled] input:checked,fieldset[disabled] select,fieldset[disabled] textarea,fieldset[disabled] label,button[disabled],input[disabled],input[disabled]:after,input[disabled]:before,input[disabled]:checked,select[disabled],textarea[disabled],label[disabled],button:disabled,input:disabled,input:disabled:after,input:disabled:before,input:disabled:checked,select:disabled,textarea:disabled,label:disabled,button[aria-disabled=true],input[aria-disabled=true],input[aria-disabled=true]:after,input[aria-disabled=true]:before,input[aria-disabled=true]:checked,select[aria-disabled=true],textarea[aria-disabled=true],label[aria-disabled=true]){box-shadow:none!important;cursor:default!important;cursor:not-allowed!important;opacity:.5!important;outline:none!important;pointer-events:none!important;-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}:where(select):not([size],select[multiple]){-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bf-white) url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0 0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .85rem center/8px 10px;padding-right:calc(var(--bf-spacing-lg) + var(--bf-spacing-lg))}:where([dir=rtl]) :where(select):not([size],select[multiple]),:where(select[dir=rtl]):not([size],select[multiple]){background-position:left .85rem top 50%;padding-left:calc(var(--bf-spacing-lg) + var(--bf-spacing-lg));padding-right:calc(var(--bf-spacing-lg)*.75)}@supports ((-webkit-appearance:none) or (-moz-appearance:none) or (appearance:none)){:where([type=range]){-webkit-appearance:none;-moz-appearance:none;appearance:none;height:1.4rem;width:100%}:where([type=range])::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background-color:var(--bf-blue);border:0;border-radius:1.5rem;height:1.5rem;margin-top:-.25rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:1.5rem}:where([type=range])::-webkit-slider-thumb:active{background-color:var(--bf-blue)}:where([type=range])::-moz-range-thumb{-moz-appearance:none;appearance:none;background-color:var(--bf-blue);border:0;border-radius:1.5rem;height:1.5rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:1.5rem}:where([type=range])::-moz-range-thumb:active{background-color:var(--bf-blue)}:where([type=range])::-webkit-slider-runnable-track{background-color:var(--bf-gray-light-extra);border-color:transparent;color:transparent;cursor:pointer;height:.65rem;width:100%}:where([type=range])::-moz-range-track{background-color:var(--bf-gray-light-extra);border-color:transparent;color:transparent;cursor:pointer;height:.65rem;width:100%}:where([type=range]):focus{outline:none}:where([type=range]):focus::-webkit-slider-thumb{box-shadow:0 0 0 .1rem var(--bf-white),0 0 0 .2rem rgba(0,123,255,.25)}:where([type=range]):focus::-moz-range-thumb{box-shadow:0 0 0 .1rem var(--bf-white),0 0 0 .2rem rgba(0,123,255,.25)}:where([type=range])::-moz-focus-outer{border:0}:where([type=range]):disabled{pointer-events:none}:where([type=range]):disabled::-webkit-slider-thumb{background-color:var(--bf-gray-light)}:where([type=range]):disabled::-moz-range-thumb{background-color:var(--bf-gray-light)}}a{background-color:transparent;color:var(--bf-blue);text-decoration:none}a:focus,a:hover{color:var(--bf-blue-light);text-decoration:underline}a:not([href],[class]),a:not([href],[class]):hover,a:not([href],[tabindex]){color:inherit;text-decoration:none}a:not([href],[tabindex]):focus{outline:0}:where(:focus:not(:focus-visible)){outline:none}:where([tabindex="-1"]:focus:not(:focus-visible)){outline:0!important}:focus-visible{outline:var(--bf-focus-ring-width) solid var(--bf-focus-ring-color);outline-offset:var(--bf-focus-ring-offset)}[type=button]:focus,[type=checkbox]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=radio]:focus,[type=reset]:focus,[type=search]:focus,[type=submit]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,button:focus,input[list]:focus,select:focus,textarea:focus{outline:0}dl,menu,ol,ul{margin:0 0 var(--bf-spacing-xl) 0;padding:0}dd,menu ol,menu ul,ol ol,ol ul,ul ol,ul ul{margin-bottom:0}ol,ul{margin-left:var(--bf-spacing-xl)}nav ol,nav ul{list-style:none;margin-left:0}dt{font-weight:700}dd{margin-left:0}nav li:before{content:"\200B";position:absolute}audio,canvas,progress,video{display:inline-block}audio,canvas,embed,iframe,img,object,video{max-width:100%}audio,canvas,img,svg,video{vertical-align:middle}img{border-style:none;height:auto}figure{margin:0}figcaption,figure{display:block}figcaption{font-size:90%;line-height:1.375}video{height:auto}audio{width:100%}audio:not([controls]){display:none;height:0}svg:not(:root){overflow:hidden}svg:not([fill]){fill:currentColor}meter,progress{display:inline-block;max-width:100%;vertical-align:baseline;width:100%}progress[value]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bf-gray-light);border:none;color:var(--bf-blue);height:20px;height:2rem}progress[value]::-webkit-progress-bar{background:var(--bf-gray-light)}progress[value]::-webkit-progress-value{background:var(--bf-blue)}iframe{border-style:none}address{font-style:normal;line-height:inherit;margin-bottom:var(--bf-spacing-lg)}details>summary:first-of-type{display:list-item}summary{cursor:pointer;font-weight:700;word-break:break-all}dialog{background-color:var(--bf-white);border:none;border-radius:var(--bf-spacing-sm);color:var(--bf-dark);height:-moz-fit-content;height:fit-content;max-width:calc(100vw - var(--bf-spacing-grid-gutter)*2);min-width:min(25rem,100%);padding:var(--bf-spacing-xl)}@media (min-width:768px){dialog{max-width:50rem}}dialog[open]{display:block!important}dialog::backdrop{background:rgba(0,0,0,.4)}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}table{border-collapse:collapse;border-color:currentcolor;caption-side:bottom;max-width:100%;text-indent:0}tbody,td,tfoot,th,thead,tr{border:0 solid;border-color:inherit}thead th{vertical-align:bottom}td,th{vertical-align:top}th{font-weight:700;text-align:inherit;text-align:-webkit-match-parent}caption{caption-side:bottom;color:var(--bf-gray);font-size:90%;line-height:1.375;padding-bottom:var(--bf-spacing-md);padding-top:var(--bf-spacing-md);text-align:left}:where([aria-busy=true i]){cursor:progress}:where([aria-disabled=true i],[disabled]){cursor:not-allowed}:where([aria-hidden=false i][hidden]){display:initial}:where([aria-hidden=false i][hidden]:not(:focus)){clip:rect(0,0,0,0);position:absolute}@media (prefers-contrast:more){a{text-decoration:underline}:root{--bf-focus-ring-color:#b87300}:focus-visible{outline-offset:.4rem;outline-width:.3rem}[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],input[list],select,textarea{border-width:2px}}@media (forced-colors:active){:focus-visible{outline-color:Highlight}a{text-decoration:underline}[type=button],[type=reset],[type=submit],button{border:1px solid ButtonText}}