bullframe.css 6.0.0 → 6.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +25 -1
- package/README.md +86 -26
- package/dist/css/bullframe-classless-dark.css +65 -58
- package/dist/css/bullframe-classless-dark.css.map +1 -1
- package/dist/css/bullframe-classless-dark.min.css +1 -1
- package/dist/css/bullframe-classless-dark.min.css.map +1 -1
- package/dist/css/bullframe-classless-system-default.css +61 -102
- package/dist/css/bullframe-classless-system-default.css.map +1 -1
- package/dist/css/bullframe-classless-system-default.min.css +1 -1
- package/dist/css/bullframe-classless-system-default.min.css.map +1 -1
- package/dist/css/bullframe-classless.css +37 -52
- package/dist/css/bullframe-classless.css.map +1 -1
- package/dist/css/bullframe-classless.min.css +1 -1
- package/dist/css/bullframe-classless.min.css.map +1 -1
- package/dist/css/bullframe-dark.css +216 -155
- package/dist/css/bullframe-dark.css.map +1 -1
- package/dist/css/bullframe-dark.min.css +1 -1
- package/dist/css/bullframe-dark.min.css.map +1 -1
- package/dist/css/bullframe-system-default.css +221 -154
- package/dist/css/bullframe-system-default.css.map +1 -1
- package/dist/css/bullframe-system-default.min.css +1 -1
- package/dist/css/bullframe-system-default.min.css.map +1 -1
- package/dist/css/bullframe-utilities.css +132 -65
- package/dist/css/bullframe-utilities.css.map +1 -1
- package/dist/css/bullframe-utilities.min.css +1 -1
- package/dist/css/bullframe-utilities.min.css.map +1 -1
- package/dist/css/bullframe.css +160 -115
- package/dist/css/bullframe.css.map +1 -1
- package/dist/css/bullframe.min.css +1 -1
- package/dist/css/bullframe.min.css.map +1 -1
- package/package.json +9 -5
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,29 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [6.1.0] - 2026-09-14
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- CSS variables `--bf-focus-ring-color`, `--bf-focus-ring-width`, `--bf-focus-ring-offset`.
|
|
15
|
+
- `.bf-skip-link`, `.bf-focusable`, `.bf-scheme-*`, `.bf-target-size`, `.bf-accent-native`.
|
|
16
|
+
- `@supports` for `text-wrap: balance` and `scrollbar-gutter: stable`.
|
|
17
|
+
|
|
18
|
+
### Changed
|
|
19
|
+
|
|
20
|
+
- README: install, CDN, examples; unversioned CDN (docs stay pinned + SRI).
|
|
21
|
+
- README, hero, OG, and social preview images regenerated from one source (`npm run brand:images`).
|
|
22
|
+
|
|
23
|
+
### Fixed
|
|
24
|
+
|
|
25
|
+
- `caption` and `progress` in classless always-dark.
|
|
26
|
+
- Accessibility markup in the kitchen sink and examples.
|
|
27
|
+
- Docs site cache headers, so a new release reaches returning visitors.
|
|
28
|
+
|
|
29
|
+
### Removed
|
|
30
|
+
|
|
31
|
+
- Dead UA+ rules that never applied inside `@layer`.
|
|
32
|
+
|
|
10
33
|
## [6.0.0] - 2026-07-31 - BREAKING CHANGES
|
|
11
34
|
|
|
12
35
|
### Changed
|
|
@@ -489,5 +512,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
489
512
|
- Initial commit on 19 November 2012
|
|
490
513
|
- Framework aimed to kickstart cross-browser responsive HTML/CSS development
|
|
491
514
|
|
|
492
|
-
[Unreleased]: https://github.com/marcop135/bullframe.css/compare/v6.
|
|
515
|
+
[Unreleased]: https://github.com/marcop135/bullframe.css/compare/v6.1.0...HEAD
|
|
516
|
+
[6.1.0]: https://github.com/marcop135/bullframe.css/compare/v6.0.0...v6.1.0
|
|
493
517
|
[6.0.0]: https://github.com/marcop135/bullframe.css/compare/v5.1.0...v6.0.0
|
package/README.md
CHANGED
|
@@ -1,38 +1,67 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
|
|
3
|
-

|
|
4
|
+

|
|
5
5
|
|
|
6
6
|
# Bullframe CSS
|
|
7
7
|
|
|
8
|
-
Semantic by default. Any stack
|
|
9
|
-
<em>Classless when you want it. System dark built in.</em>
|
|
8
|
+
Semantic by default. Any stack.
|
|
10
9
|
|
|
11
10
|
</div>
|
|
12
11
|
|
|
13
12
|
<p align="center">
|
|
14
13
|
<a href="https://www.npmjs.com/package/bullframe.css"><img src="https://img.shields.io/npm/v/bullframe.css.svg?style=flat-square" alt="npm version"></a>
|
|
15
|
-
<a href="https://
|
|
16
|
-
<img src="https://img.shields.io/badge/dependencies-0-brightgreen?style=flat-square" alt="Zero dependencies">
|
|
17
|
-
<img src="https://img.shields.io/badge/any%20stack-555555?style=flat-square" alt="Any stack">
|
|
14
|
+
<a href="https://github.com/marcop135/bullframe.css/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/marcop135/bullframe.css/ci.yml?branch=main&style=flat-square" alt="CI status"></a>
|
|
18
15
|
<a href="LICENSE"><img src="https://img.shields.io/github/license/marcop135/bullframe.css.svg?style=flat-square" alt="MIT License"></a>
|
|
19
16
|
</p>
|
|
20
17
|
|
|
21
18
|
---
|
|
22
19
|
|
|
23
|
-
|
|
20
|
+
One-stylesheet CSS framework for plain HTML: no build step, no JavaScript. Typography, forms, tables, buttons, and layout out of the box.
|
|
24
21
|
|
|
25
|
-
|
|
26
|
-
- **Classless when you want it:** swap in `bullframe-classless.css` and keep markup as plain HTML
|
|
27
|
-
- **Dark without a script:** always-dark builds, or system-default builds that follow `prefers-color-scheme`
|
|
28
|
-
- **Accessible defaults:** focus-visible rings, reduced-motion respect, WCAG AA contrast on links and primary buttons
|
|
29
|
-
- **Native CSS, any stack:** PostCSS builds, no Sass, no runtime JavaScript, solid cross-browser support
|
|
22
|
+
Light or dark. Built for pages and forms: landings, docs, help centers, and marketing microsites.
|
|
30
23
|
|
|
31
|
-
|
|
24
|
+
<!-- sri:cdn:start -->
|
|
25
|
+
```html
|
|
26
|
+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bullframe.css">
|
|
27
|
+
```
|
|
28
|
+
<!-- sri:cdn:end -->
|
|
29
|
+
|
|
30
|
+
[Check the docs →](https://bullframecss.marcopontili.com/)
|
|
31
|
+
|
|
32
|
+
## Features
|
|
33
|
+
|
|
34
|
+
- Plain HTML looks finished before you write a class
|
|
35
|
+
- Classless when you want clean markup; classes when you need layout control
|
|
36
|
+
- Light and dark out of the box, no theme script
|
|
37
|
+
- One stylesheet, about 8 kB gzipped: type, forms, tables, buttons, layout
|
|
38
|
+
- Restyle the whole page by changing a few colour tokens
|
|
39
|
+
- Accessibility built in: clear focus, reduced motion respect, WCAG AA defaults
|
|
40
|
+
- Works with any stack: drop it on a landing, docs site, or help center
|
|
41
|
+
- npm or CDN; nothing to compile to use it
|
|
32
42
|
|
|
33
|
-
|
|
43
|
+
## Examples
|
|
44
|
+
|
|
45
|
+
Ready to copy: landings, blogs, forms, docs. Plain HTML, one stylesheet.
|
|
46
|
+
|
|
47
|
+
<table>
|
|
48
|
+
<tr>
|
|
49
|
+
<td><a href="https://bullframecss.marcopontili.com/examples/typography/"><img src="src/docs/examples/screenshots/typography.png" alt="Typography" style="border: 1px solid #999; border-radius: 10px;" /></a></td>
|
|
50
|
+
<td><a href="https://bullframecss.marcopontili.com/examples/album/"><img src="src/docs/examples/screenshots/album.png" alt="Album" style="border: 1px solid #999; border-radius: 10px;" /></a></td>
|
|
51
|
+
</tr>
|
|
52
|
+
<tr>
|
|
53
|
+
<td><a href="https://bullframecss.marcopontili.com/examples/pricing/"><img src="src/docs/examples/screenshots/pricing.png" alt="Pricing" style="border: 1px solid #999; border-radius: 10px;" /></a></td>
|
|
54
|
+
<td><a href="https://bullframecss.marcopontili.com/examples/branded/"><img src="src/docs/examples/screenshots/branded.png" alt="Branded" style="border: 1px solid #999; border-radius: 10px;" /></a></td>
|
|
55
|
+
</tr>
|
|
56
|
+
<tr>
|
|
57
|
+
<td><a href="https://bullframecss.marcopontili.com/examples/blog/"><img src="src/docs/examples/screenshots/blog.png" alt="Blog" style="border: 1px solid #999; border-radius: 10px;" /></a></td>
|
|
58
|
+
<td><a href="https://bullframecss.marcopontili.com/examples/cover/"><img src="src/docs/examples/screenshots/cover.png" alt="Cover" style="border: 1px solid #999; border-radius: 10px;" /></a></td>
|
|
59
|
+
</tr>
|
|
60
|
+
</table>
|
|
34
61
|
|
|
35
|
-
|
|
62
|
+
[Browse all examples →](https://bullframecss.marcopontili.com/examples)
|
|
63
|
+
|
|
64
|
+
## Install
|
|
36
65
|
|
|
37
66
|
```bash
|
|
38
67
|
npm install bullframe.css
|
|
@@ -42,30 +71,61 @@ npm install bullframe.css
|
|
|
42
71
|
import 'bullframe.css';
|
|
43
72
|
```
|
|
44
73
|
|
|
74
|
+
Default import: class-based, light. Other builds: `bullframe.css/classless`, `bullframe.css/dark`, and so on. See [Builds](#builds) below.
|
|
75
|
+
|
|
76
|
+
### CDN
|
|
77
|
+
|
|
45
78
|
```html
|
|
46
79
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bullframe.css">
|
|
47
80
|
```
|
|
48
81
|
|
|
49
|
-
|
|
82
|
+
Always the latest release. Swap the path for another build (e.g. `bullframe.css/dist/css/bullframe-classless.min.css`).
|
|
50
83
|
|
|
51
|
-
|
|
84
|
+
## Builds
|
|
52
85
|
|
|
53
|
-
|
|
86
|
+
<details>
|
|
87
|
+
<summary>See all 7 variants</summary>
|
|
54
88
|
|
|
55
|
-
|
|
89
|
+
Seven files in `dist/css/`, each with a minified twin and a source map. Pick one; do not combine them, except utilities on top of another build.
|
|
56
90
|
|
|
57
|
-
|
|
91
|
+
| Build | npm subpath | Use when |
|
|
92
|
+
| ---------------------------------------- | -------------------------------- | ------------------------------------ |
|
|
93
|
+
| `bullframe.css` | `bullframe.css` | Class-based, light |
|
|
94
|
+
| `bullframe-dark.css` | `bullframe.css/dark` | Class-based, always dark |
|
|
95
|
+
| `bullframe-system-default.css` | `bullframe.css/system` | Class-based, `prefers-color-scheme` |
|
|
96
|
+
| `bullframe-classless.css` | `bullframe.css/classless` | Classless, light |
|
|
97
|
+
| `bullframe-classless-dark.css` | `bullframe.css/classless/dark` | Classless, always dark |
|
|
98
|
+
| `bullframe-classless-system-default.css` | `bullframe.css/classless/system` | Classless, `prefers-color-scheme` |
|
|
99
|
+
| `bullframe-utilities.css` | `bullframe.css/utilities` | `.bf-*` helpers only, no base styles |
|
|
58
100
|
|
|
59
|
-
|
|
101
|
+
**Classless** styles HTML tags only (no `.bf-*` classes). **Class-based** adds `.bf-*` grid, spacing, and helpers on top.
|
|
60
102
|
|
|
61
|
-
|
|
103
|
+
</details>
|
|
62
104
|
|
|
63
|
-
|
|
105
|
+
## Documentation
|
|
64
106
|
|
|
65
|
-
|
|
107
|
+
| Topic | |
|
|
108
|
+
| ----- | --- |
|
|
109
|
+
| [Docs](https://bullframecss.marcopontili.com/) | Home |
|
|
110
|
+
| [Getting started](https://bullframecss.marcopontili.com/getting-started) | Install and pick a build |
|
|
111
|
+
| [Examples](https://bullframecss.marcopontili.com/examples) | Page templates |
|
|
112
|
+
| [Kitchen sink](https://bullframecss.marcopontili.com/kitchen-sink/) | Every element in one place |
|
|
113
|
+
| [Variables](https://bullframecss.marcopontili.com/variables) | `--bf-*` tokens |
|
|
114
|
+
| [Components](https://bullframecss.marcopontili.com/components/) | Cards, modals, navigation, buttons |
|
|
115
|
+
| [Theming](https://bullframecss.marcopontili.com/theming) | Colours and dark mode |
|
|
116
|
+
| [API reference](https://bullframecss.marcopontili.com/api-reference) | Full token and class list |
|
|
117
|
+
| [Changelog](./CHANGELOG.md) | Release notes |
|
|
66
118
|
|
|
67
|
-
|
|
119
|
+
## Contributing
|
|
120
|
+
|
|
121
|
+
See [CONTRIBUTING.md](./.github/CONTRIBUTING.md).
|
|
122
|
+
|
|
123
|
+
Bugs → [issues](https://github.com/marcop135/bullframe.css/issues).
|
|
68
124
|
|
|
69
125
|
## License
|
|
70
126
|
|
|
71
127
|
[MIT](./LICENSE)
|
|
128
|
+
|
|
129
|
+
## Author
|
|
130
|
+
|
|
131
|
+
[Marco Pontili](https://marcopontili.com)
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
/* ! Bullframe CSS v6.
|
|
1
|
+
/* ! Bullframe CSS v6.1.0 | MIT License | https://github.com/marcop135/bullframe.css */
|
|
2
2
|
|
|
3
3
|
/* Always-dark classless build. */
|
|
4
4
|
|
|
5
|
-
/* Classless build: semantic element styles only (no .bf-*
|
|
5
|
+
/* Classless build: semantic element styles only (no .bf-* classes). */
|
|
6
6
|
|
|
7
7
|
/* Variables */
|
|
8
8
|
/* Design tokens (--bf-*). Shared by every build variant.
|
|
@@ -34,6 +34,11 @@
|
|
|
34
34
|
/* Invalid / error */
|
|
35
35
|
--bf-red: rgb(255 0 0);
|
|
36
36
|
|
|
37
|
+
/* Focus ring (prefers-contrast: more raises colour for WCAG 1.4.11) */
|
|
38
|
+
--bf-focus-ring-color: var(--bf-orange);
|
|
39
|
+
--bf-focus-ring-width: 0.2rem;
|
|
40
|
+
--bf-focus-ring-offset: 0.3rem;
|
|
41
|
+
|
|
37
42
|
/* Dark-mode surfaces (used by utility-global-dark*.css) */
|
|
38
43
|
--bf-dark-bg: rgb(28 28 28);
|
|
39
44
|
--bf-dark-link: rgb(77 165 255);
|
|
@@ -111,11 +116,6 @@ template {
|
|
|
111
116
|
* Light UA improvements; complements Bullframe base styles. */
|
|
112
117
|
|
|
113
118
|
@layer {
|
|
114
|
-
/* Spacing between content and focus outline (enhances focus.css). */
|
|
115
|
-
:focus-visible {
|
|
116
|
-
outline-offset: 3px;
|
|
117
|
-
}
|
|
118
|
-
|
|
119
119
|
/* Disable mobile landscape text inflation on optimized layouts. */
|
|
120
120
|
html {
|
|
121
121
|
-webkit-text-size-adjust: none;
|
|
@@ -123,14 +123,11 @@ template {
|
|
|
123
123
|
text-size-adjust: none;
|
|
124
124
|
}
|
|
125
125
|
|
|
126
|
-
/* Comfortable default root line-height (body still uses --bf-body-line-height). */
|
|
127
|
-
html {
|
|
128
|
-
line-height: 1.5;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
126
|
/* Stable scrollbar gutter avoids layout jump on short pages. */
|
|
132
|
-
|
|
133
|
-
|
|
127
|
+
@supports (scrollbar-gutter: stable) {
|
|
128
|
+
html {
|
|
129
|
+
scrollbar-gutter: stable;
|
|
130
|
+
}
|
|
134
131
|
}
|
|
135
132
|
|
|
136
133
|
/* Nested h1 size/margin: match modern UA (Safari still nests sectioning styles). */
|
|
@@ -139,13 +136,6 @@ template {
|
|
|
139
136
|
margin-block: 0.67em;
|
|
140
137
|
}
|
|
141
138
|
|
|
142
|
-
/* abbr[title]: dotted underline + help cursor across engines. */
|
|
143
|
-
abbr[title] {
|
|
144
|
-
cursor: help;
|
|
145
|
-
text-decoration-line: underline;
|
|
146
|
-
text-decoration-style: dotted;
|
|
147
|
-
}
|
|
148
|
-
|
|
149
139
|
/* mark: system Highlight colors under forced-colors. */
|
|
150
140
|
@media (forced-colors: active) {
|
|
151
141
|
mark {
|
|
@@ -215,17 +205,12 @@ template {
|
|
|
215
205
|
direction: ltr;
|
|
216
206
|
}
|
|
217
207
|
|
|
218
|
-
/* Tables:
|
|
208
|
+
/* Tables: outer border. Cell borders and padding come from
|
|
209
|
+
* miscellaneous/tables.css, which is unlayered and therefore wins. */
|
|
219
210
|
table {
|
|
220
211
|
border: 1px solid currentColor;
|
|
221
212
|
}
|
|
222
213
|
|
|
223
|
-
th,
|
|
224
|
-
td {
|
|
225
|
-
border: 1px solid currentColor;
|
|
226
|
-
padding: 0.25em 0.5em;
|
|
227
|
-
}
|
|
228
|
-
|
|
229
214
|
/* Soft dialog / popover enter transitions (skip when reduced-motion is on). */
|
|
230
215
|
@media (prefers-reduced-motion: no-preference) {
|
|
231
216
|
dialog::backdrop {
|
|
@@ -259,26 +244,11 @@ template {
|
|
|
259
244
|
}
|
|
260
245
|
}
|
|
261
246
|
|
|
262
|
-
/* Keep [hidden] hard-hidden except until-found. */
|
|
263
|
-
[hidden]:not([hidden='until-found']) {
|
|
264
|
-
display: none !important;
|
|
265
|
-
}
|
|
266
|
-
|
|
267
247
|
/* Images as blocks (max-width still from embedded-content.css). */
|
|
268
248
|
img {
|
|
269
249
|
display: block;
|
|
270
250
|
}
|
|
271
251
|
|
|
272
|
-
/* summary: pointer on the whole control, not only ::marker. */
|
|
273
|
-
summary {
|
|
274
|
-
cursor: default;
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
/* iframes: no default border. */
|
|
278
|
-
iframe {
|
|
279
|
-
border: none;
|
|
280
|
-
}
|
|
281
|
-
|
|
282
252
|
/* Popovers: anchor near trigger when position-area is supported. */
|
|
283
253
|
@supports (position-area: block-end span-inline-end) {
|
|
284
254
|
[popover] {
|
|
@@ -356,7 +326,18 @@ h6 {
|
|
|
356
326
|
color: inherit;
|
|
357
327
|
line-height: 1.25;
|
|
358
328
|
margin-bottom: var(--bf-spacing-lg);
|
|
359
|
-
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
/* Balanced headings where supported; no-op elsewhere. */
|
|
332
|
+
@supports (text-wrap: balance) {
|
|
333
|
+
h1,
|
|
334
|
+
h2,
|
|
335
|
+
h3,
|
|
336
|
+
h4,
|
|
337
|
+
h5,
|
|
338
|
+
h6 {
|
|
339
|
+
text-wrap: balance;
|
|
340
|
+
}
|
|
360
341
|
}
|
|
361
342
|
|
|
362
343
|
h1 {
|
|
@@ -441,6 +422,7 @@ strong {
|
|
|
441
422
|
font-weight: inherit;
|
|
442
423
|
}
|
|
443
424
|
|
|
425
|
+
/* stylelint-disable-next-line no-duplicate-selectors -- normalize.css Safari fix */
|
|
444
426
|
b,
|
|
445
427
|
strong {
|
|
446
428
|
font-weight: bolder;
|
|
@@ -1116,7 +1098,7 @@ a:not([href], [class]):hover {
|
|
|
1116
1098
|
a:not([href], [tabindex]):focus {
|
|
1117
1099
|
outline: 0;
|
|
1118
1100
|
}
|
|
1119
|
-
/* Keyboard-first focus:
|
|
1101
|
+
/* Keyboard-first focus: :focus-visible ring from --bf-focus-ring-*; mute mouse outline.
|
|
1120
1102
|
* Text-like controls clear UA outline here; field chrome is in forms/styling.css. */
|
|
1121
1103
|
|
|
1122
1104
|
:where(:focus:not(:focus-visible)) {
|
|
@@ -1129,8 +1111,8 @@ a:not([href], [tabindex]):focus {
|
|
|
1129
1111
|
}
|
|
1130
1112
|
|
|
1131
1113
|
:focus-visible {
|
|
1132
|
-
outline:
|
|
1133
|
-
outline-offset:
|
|
1114
|
+
outline: var(--bf-focus-ring-width) solid var(--bf-focus-ring-color);
|
|
1115
|
+
outline-offset: var(--bf-focus-ring-offset);
|
|
1134
1116
|
}
|
|
1135
1117
|
|
|
1136
1118
|
/* Clear UA outline on text-like controls (styled fields keep their own chrome).
|
|
@@ -1155,8 +1137,7 @@ button:focus,
|
|
|
1155
1137
|
[type='checkbox']:focus,
|
|
1156
1138
|
input[list]:focus,
|
|
1157
1139
|
select:focus,
|
|
1158
|
-
textarea:focus
|
|
1159
|
-
.bf-btn:focus {
|
|
1140
|
+
textarea:focus {
|
|
1160
1141
|
outline: 0;
|
|
1161
1142
|
}
|
|
1162
1143
|
/* List spacing and nav list reset. */
|
|
@@ -1187,7 +1168,6 @@ ol {
|
|
|
1187
1168
|
nav ol,
|
|
1188
1169
|
nav ul {
|
|
1189
1170
|
list-style: none;
|
|
1190
|
-
list-style-image: none;
|
|
1191
1171
|
margin-left: 0;
|
|
1192
1172
|
}
|
|
1193
1173
|
|
|
@@ -1430,6 +1410,12 @@ caption {
|
|
|
1430
1410
|
text-decoration: underline;
|
|
1431
1411
|
}
|
|
1432
1412
|
|
|
1413
|
+
/* Darker amber clears WCAG 1.4.11 (3:1) on white, --bf-light and --bf-dark-bg;
|
|
1414
|
+
* the default --bf-orange ring is only ~2:1 on white. */
|
|
1415
|
+
:root {
|
|
1416
|
+
--bf-focus-ring-color: rgb(184 115 0);
|
|
1417
|
+
}
|
|
1418
|
+
|
|
1433
1419
|
:focus-visible {
|
|
1434
1420
|
outline-width: 0.3rem;
|
|
1435
1421
|
outline-offset: 0.4rem;
|
|
@@ -1468,12 +1454,16 @@ caption {
|
|
|
1468
1454
|
button,
|
|
1469
1455
|
[type='button'],
|
|
1470
1456
|
[type='reset'],
|
|
1471
|
-
[type='submit']
|
|
1472
|
-
.bf-btn {
|
|
1457
|
+
[type='submit'] {
|
|
1473
1458
|
border: 1px solid ButtonText;
|
|
1474
1459
|
}
|
|
1475
1460
|
}
|
|
1476
|
-
/* Always-dark overrides for classless (no media query). */
|
|
1461
|
+
/* Always-dark overrides for classless (no media query, no .bf-* selectors). */
|
|
1462
|
+
|
|
1463
|
+
/* Element-level dark-mode rules, shared by the class-based and classless dark
|
|
1464
|
+
* sheets. Contains no .bf-* selector, so the classless builds can import it as
|
|
1465
|
+
* they are. Class-based extras live in _utility-global-dark-shared.css.
|
|
1466
|
+
* Underscore prefix excludes this file from the buildAllCss glob. */
|
|
1477
1467
|
|
|
1478
1468
|
html {
|
|
1479
1469
|
color: var(--bf-light);
|
|
@@ -1621,6 +1611,28 @@ button:focus,
|
|
|
1621
1611
|
box-shadow: 0 0 0 3px var(--bf-dark-button-shadow);
|
|
1622
1612
|
}
|
|
1623
1613
|
|
|
1614
|
+
dialog {
|
|
1615
|
+
color: var(--bf-light);
|
|
1616
|
+
background-color: var(--bf-dark-bg);
|
|
1617
|
+
}
|
|
1618
|
+
|
|
1619
|
+
caption {
|
|
1620
|
+
color: var(--bf-gray-light);
|
|
1621
|
+
}
|
|
1622
|
+
|
|
1623
|
+
progress[value] {
|
|
1624
|
+
background: var(--bf-gray-dark-extra);
|
|
1625
|
+
color: var(--bf-blue);
|
|
1626
|
+
}
|
|
1627
|
+
|
|
1628
|
+
progress[value]::-webkit-progress-bar {
|
|
1629
|
+
background: var(--bf-gray-dark-extra);
|
|
1630
|
+
}
|
|
1631
|
+
|
|
1632
|
+
progress[value]::-webkit-progress-value {
|
|
1633
|
+
background: var(--bf-blue);
|
|
1634
|
+
}
|
|
1635
|
+
|
|
1624
1636
|
a:focus,
|
|
1625
1637
|
input:focus {
|
|
1626
1638
|
outline-color: rgb(214 140 0); /* orange -15% */
|
|
@@ -1629,11 +1641,6 @@ input:focus {
|
|
|
1629
1641
|
:focus-visible {
|
|
1630
1642
|
outline-color: rgb(214 140 0); /* orange -15% */
|
|
1631
1643
|
}
|
|
1632
|
-
|
|
1633
|
-
dialog {
|
|
1634
|
-
color: var(--bf-light);
|
|
1635
|
-
background-color: var(--bf-dark-bg);
|
|
1636
|
-
}
|
|
1637
1644
|
/* Dark scrollbar colors (Firefox + WebKit). */
|
|
1638
1645
|
|
|
1639
1646
|
html {
|