bullframe.css 6.1.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.
- package/CHANGELOG.md +24 -1
- package/README.md +34 -20
- package/bin/bullframe.mjs +277 -0
- package/dist/css/bullframe-classless-dark.css +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 +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 +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 +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 +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 +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 +1 -1
- package/dist/css/bullframe.min.css +1 -1
- package/dist/css/bullframe.min.css.map +1 -1
- package/dist/skills/AGENTS.bullframe.md +46 -0
- package/dist/skills/_shared/builds.md +66 -0
- package/dist/skills/_shared/conventions.md +93 -0
- package/dist/skills/api.json +1023 -0
- package/dist/skills/bullframe-convert/SKILL.md +117 -0
- package/dist/skills/bullframe-convert/examples/after.html +43 -0
- package/dist/skills/bullframe-convert/examples/before.html +44 -0
- package/dist/skills/bullframe-core/SKILL.md +143 -0
- package/dist/skills/bullframe-docs-page/SKILL.md +89 -0
- package/dist/skills/bullframe-docs-page/examples/docs-page.html +72 -0
- package/dist/skills/bullframe-forms/SKILL.md +99 -0
- package/dist/skills/bullframe-forms/examples/contact-form.html +67 -0
- package/dist/skills/bullframe-landing-page/SKILL.md +96 -0
- package/dist/skills/bullframe-landing-page/examples/landing.html +98 -0
- package/dist/skills/index.json +134 -0
- package/package.json +15 -5
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,28 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [6.2.0] - 2026-09-29
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- AI agent skills: `bullframe-core`, `bullframe-landing-page`, `bullframe-forms`, `bullframe-docs-page`, `bullframe-convert`; `npx bullframe.css skills install` (Claude, Cursor, Codex).
|
|
15
|
+
- Generated `api.json` (`.bf-*` classes, `--bf-*` tokens) in the package and at `/api.json`.
|
|
16
|
+
- AI skills docs page; docs site 404 page.
|
|
17
|
+
- `npm run test:e2e:sync-from-ci` to copy Playwright linux baselines from a CI run artifact.
|
|
18
|
+
|
|
19
|
+
### Fixed
|
|
20
|
+
|
|
21
|
+
- Non-existent classes in Grid, Cards, Spacing, and Text docs.
|
|
22
|
+
- Wrong v6 token names in the migration guide.
|
|
23
|
+
|
|
24
|
+
### Changed
|
|
25
|
+
|
|
26
|
+
- npm publish is manual from the release tag; **Publish to npm** is `workflow_dispatch` only (no `release: published` trigger).
|
|
27
|
+
|
|
28
|
+
### Security
|
|
29
|
+
|
|
30
|
+
- Explicit `permissions: contents: read` on CI, Deploy docs, and Skills eval workflows.
|
|
31
|
+
|
|
10
32
|
## [6.1.0] - 2026-09-14
|
|
11
33
|
|
|
12
34
|
### Added
|
|
@@ -512,6 +534,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
512
534
|
- Initial commit on 19 November 2012
|
|
513
535
|
- Framework aimed to kickstart cross-browser responsive HTML/CSS development
|
|
514
536
|
|
|
515
|
-
[Unreleased]: https://github.com/marcop135/bullframe.css/compare/v6.
|
|
537
|
+
[Unreleased]: https://github.com/marcop135/bullframe.css/compare/v6.2.0...HEAD
|
|
538
|
+
[6.2.0]: https://github.com/marcop135/bullframe.css/compare/v6.1.0...v6.2.0
|
|
516
539
|
[6.1.0]: https://github.com/marcop135/bullframe.css/compare/v6.0.0...v6.1.0
|
|
517
540
|
[6.0.0]: https://github.com/marcop135/bullframe.css/compare/v5.1.0...v6.0.0
|
package/README.md
CHANGED
|
@@ -17,9 +17,13 @@ Semantic by default. Any stack.
|
|
|
17
17
|
|
|
18
18
|
---
|
|
19
19
|
|
|
20
|
-
One
|
|
20
|
+
One CSS file for plain HTML: type, forms, tables, buttons, and layout. No build step. No JavaScript.
|
|
21
21
|
|
|
22
|
-
Light or
|
|
22
|
+
Class-based or classless. Light, dark, or system. About 8 kB gzipped. Drop it on a landing, docs site, or help center.
|
|
23
|
+
|
|
24
|
+
## Quick start
|
|
25
|
+
|
|
26
|
+
1. Add the stylesheet (CDN, always the latest release):
|
|
23
27
|
|
|
24
28
|
<!-- sri:cdn:start -->
|
|
25
29
|
```html
|
|
@@ -27,7 +31,23 @@ Light or dark. Built for pages and forms: landings, docs, help centers, and mark
|
|
|
27
31
|
```
|
|
28
32
|
<!-- sri:cdn:end -->
|
|
29
33
|
|
|
30
|
-
|
|
34
|
+
2. Write semantic HTML. Headings, forms, tables, and buttons are styled without classes.
|
|
35
|
+
|
|
36
|
+
3. Swap the build when you need classless, dark, or system. See [Builds](#builds).
|
|
37
|
+
|
|
38
|
+
Or install from npm:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
npm install bullframe.css
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
```js
|
|
45
|
+
import 'bullframe.css';
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Default import: class-based, light. Other builds: `bullframe.css/classless`, `bullframe.css/dark`, and so on.
|
|
49
|
+
|
|
50
|
+
[Docs](https://bullframecss.marcopontili.com/) · [Examples](https://bullframecss.marcopontili.com/examples)
|
|
31
51
|
|
|
32
52
|
## Features
|
|
33
53
|
|
|
@@ -35,10 +55,11 @@ Light or dark. Built for pages and forms: landings, docs, help centers, and mark
|
|
|
35
55
|
- Classless when you want clean markup; classes when you need layout control
|
|
36
56
|
- Light and dark out of the box, no theme script
|
|
37
57
|
- One stylesheet, about 8 kB gzipped: type, forms, tables, buttons, layout
|
|
38
|
-
- Restyle the
|
|
39
|
-
- Accessibility built in: clear focus, reduced motion
|
|
40
|
-
- Works with any stack:
|
|
58
|
+
- Restyle the page by changing a few colour tokens
|
|
59
|
+
- Accessibility built in: clear focus, reduced motion, WCAG AA defaults
|
|
60
|
+
- Works with any stack: landings, docs, help centers
|
|
41
61
|
- npm or CDN; nothing to compile to use it
|
|
62
|
+
- AI skills for coding agents: `npx bullframe.css skills install`
|
|
42
63
|
|
|
43
64
|
## Examples
|
|
44
65
|
|
|
@@ -61,25 +82,17 @@ Ready to copy: landings, blogs, forms, docs. Plain HTML, one stylesheet.
|
|
|
61
82
|
|
|
62
83
|
[Browse all examples →](https://bullframecss.marcopontili.com/examples)
|
|
63
84
|
|
|
64
|
-
##
|
|
85
|
+
## AI skills
|
|
65
86
|
|
|
66
|
-
|
|
67
|
-
npm install bullframe.css
|
|
68
|
-
```
|
|
87
|
+
Markdown skills for AI coding agents ship in the npm package. No server. No API key.
|
|
69
88
|
|
|
70
|
-
```
|
|
71
|
-
|
|
89
|
+
```bash
|
|
90
|
+
npx bullframe.css skills install
|
|
72
91
|
```
|
|
73
92
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
### CDN
|
|
77
|
-
|
|
78
|
-
```html
|
|
79
|
-
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bullframe.css">
|
|
80
|
-
```
|
|
93
|
+
Writes skill files plus a managed `AGENTS.md` block, and the matching layout under `.claude`, `.cursor`, or `.agents` when those folders exist.
|
|
81
94
|
|
|
82
|
-
|
|
95
|
+
Details: [AI skills](https://bullframecss.marcopontili.com/ai-skills).
|
|
83
96
|
|
|
84
97
|
## Builds
|
|
85
98
|
|
|
@@ -114,6 +127,7 @@ Seven files in `dist/css/`, each with a minified twin and a source map. Pick one
|
|
|
114
127
|
| [Components](https://bullframecss.marcopontili.com/components/) | Cards, modals, navigation, buttons |
|
|
115
128
|
| [Theming](https://bullframecss.marcopontili.com/theming) | Colours and dark mode |
|
|
116
129
|
| [API reference](https://bullframecss.marcopontili.com/api-reference) | Full token and class list |
|
|
130
|
+
| [AI skills](https://bullframecss.marcopontili.com/ai-skills) | Skills for AI coding agents |
|
|
117
131
|
| [Changelog](./CHANGELOG.md) | Release notes |
|
|
118
132
|
|
|
119
133
|
## Contributing
|
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/* Bullframe CSS command line.
|
|
3
|
+
*
|
|
4
|
+
* One job: copy the agent skills that ship in this package into the current project,
|
|
5
|
+
* in whatever layout the project's AI tooling reads. Zero dependencies, no network,
|
|
6
|
+
* no postinstall hook, and it never touches the framework's CSS.
|
|
7
|
+
*
|
|
8
|
+
* npx bullframe.css skills list
|
|
9
|
+
* npx bullframe.css skills install [--target claude,cursor,codex,agents,dir] [--dir <path>]
|
|
10
|
+
* npx bullframe.css skills path
|
|
11
|
+
*/
|
|
12
|
+
import { cp, mkdir, readFile, writeFile, access } from 'node:fs/promises';
|
|
13
|
+
import { constants } from 'node:fs';
|
|
14
|
+
import path from 'node:path';
|
|
15
|
+
import { fileURLToPath } from 'node:url';
|
|
16
|
+
|
|
17
|
+
const here = path.dirname(fileURLToPath(import.meta.url));
|
|
18
|
+
const packageRoot = path.resolve(here, '..');
|
|
19
|
+
const skillsDir = path.join(packageRoot, 'dist', 'skills');
|
|
20
|
+
|
|
21
|
+
const START = '<!-- bullframe:skills:start -->';
|
|
22
|
+
const END = '<!-- bullframe:skills:end -->';
|
|
23
|
+
const LOCAL_DIR = 'bullframe-skills';
|
|
24
|
+
|
|
25
|
+
/** Tool targets that write into `$parent/skills/` with the same SKILL.md layout. */
|
|
26
|
+
const TOOL_TARGETS = {
|
|
27
|
+
claude: { parent: '.claude', label: '.claude/skills' },
|
|
28
|
+
cursor: { parent: '.cursor', label: '.cursor/skills' },
|
|
29
|
+
codex: { parent: '.agents', label: '.agents/skills' },
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
const KNOWN_TARGETS = [...Object.keys(TOOL_TARGETS), 'agents', 'dir'];
|
|
33
|
+
|
|
34
|
+
const USAGE = `bullframe.css - agent skills for the Bullframe CSS framework
|
|
35
|
+
|
|
36
|
+
Usage
|
|
37
|
+
npx bullframe.css skills list
|
|
38
|
+
npx bullframe.css skills install [options]
|
|
39
|
+
npx bullframe.css skills path
|
|
40
|
+
|
|
41
|
+
Install options
|
|
42
|
+
--target <list> Comma separated: claude, cursor, codex, agents, dir.
|
|
43
|
+
Default: agents, plus claude / cursor / codex when a
|
|
44
|
+
.claude, .cursor, or .agents directory exists.
|
|
45
|
+
--dir <path> Where the "dir" and "agents" targets copy the skills.
|
|
46
|
+
Default: ./${LOCAL_DIR}
|
|
47
|
+
--dry-run Print what would be written and exit without writing.
|
|
48
|
+
--force Overwrite files that already differ.
|
|
49
|
+
|
|
50
|
+
Other
|
|
51
|
+
--help, -h This text
|
|
52
|
+
--version, -v Package version
|
|
53
|
+
`;
|
|
54
|
+
|
|
55
|
+
function parseArgs(argv) {
|
|
56
|
+
const options = { targets: null, dir: null, dryRun: false, force: false };
|
|
57
|
+
const positional = [];
|
|
58
|
+
|
|
59
|
+
for (let i = 0; i < argv.length; i++) {
|
|
60
|
+
const arg = argv[i];
|
|
61
|
+
if (arg === '--target') options.targets = (argv[++i] ?? '').split(',').filter(Boolean);
|
|
62
|
+
else if (arg === '--dir') options.dir = argv[++i];
|
|
63
|
+
else if (arg === '--dry-run') options.dryRun = true;
|
|
64
|
+
else if (arg === '--force') options.force = true;
|
|
65
|
+
else if (arg === '--help' || arg === '-h') options.help = true;
|
|
66
|
+
else if (arg === '--version' || arg === '-v') options.version = true;
|
|
67
|
+
else if (arg.startsWith('-')) options.unknown = arg;
|
|
68
|
+
else positional.push(arg);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
return { options, positional };
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
async function exists(target) {
|
|
75
|
+
try {
|
|
76
|
+
await access(target, constants.F_OK);
|
|
77
|
+
return true;
|
|
78
|
+
} catch {
|
|
79
|
+
return false;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
async function readIndex() {
|
|
84
|
+
try {
|
|
85
|
+
return JSON.parse(await readFile(path.join(skillsDir, 'index.json'), 'utf8'));
|
|
86
|
+
} catch {
|
|
87
|
+
fail(
|
|
88
|
+
`no skills found in ${skillsDir}.\nInstall the published package, or run "npm run skills:build" in a clone.`
|
|
89
|
+
);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
function fail(message) {
|
|
94
|
+
console.error(`bullframe: ${message}`);
|
|
95
|
+
process.exit(1);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/** Replace the managed block in place, or append it. Never duplicates. */
|
|
99
|
+
function mergeAgentsBlock(existing, body) {
|
|
100
|
+
const block = `${START}\n${body.trimEnd()}\n${END}\n`;
|
|
101
|
+
if (!existing) return block;
|
|
102
|
+
|
|
103
|
+
const start = existing.indexOf(START);
|
|
104
|
+
const end = existing.indexOf(END);
|
|
105
|
+
if (start !== -1 && end !== -1 && end > start) {
|
|
106
|
+
return existing.slice(0, start) + block.trimEnd() + existing.slice(end + END.length);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
const separator = existing.endsWith('\n') ? '\n' : '\n\n';
|
|
110
|
+
return `${existing}${separator}${block}`;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
async function writeFileIfNeeded(file, content, { dryRun, force }, written) {
|
|
114
|
+
const current = (await exists(file)) ? await readFile(file, 'utf8') : null;
|
|
115
|
+
if (current === content) {
|
|
116
|
+
written.push(`unchanged ${path.relative(process.cwd(), file)}`);
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
if (current !== null && !force && !file.endsWith('AGENTS.md')) {
|
|
120
|
+
written.push(`skipped ${path.relative(process.cwd(), file)} (exists, use --force)`);
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
written.push(
|
|
124
|
+
`${current === null ? 'wrote ' : 'updated '} ${path.relative(process.cwd(), file)}`
|
|
125
|
+
);
|
|
126
|
+
if (dryRun) return;
|
|
127
|
+
await mkdir(path.dirname(file), { recursive: true });
|
|
128
|
+
await writeFile(file, content, 'utf8');
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
async function copyTree(from, to, { dryRun }, written, label) {
|
|
132
|
+
written.push(`${dryRun ? 'would copy' : 'copied '} ${label}`);
|
|
133
|
+
if (dryRun) return;
|
|
134
|
+
await mkdir(path.dirname(to), { recursive: true });
|
|
135
|
+
await cp(from, to, { recursive: true, force: true });
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
/** Copy every skill plus `_shared` and `api.json` into `$parent/skills/`. */
|
|
139
|
+
async function installToolLayout(index, parentDir, label, options, written) {
|
|
140
|
+
const root = path.join(parentDir, 'skills');
|
|
141
|
+
for (const skill of index.skills) {
|
|
142
|
+
await copyTree(
|
|
143
|
+
path.join(skillsDir, skill.name),
|
|
144
|
+
path.join(root, skill.name),
|
|
145
|
+
options,
|
|
146
|
+
written,
|
|
147
|
+
`${label}/${skill.name}/`
|
|
148
|
+
);
|
|
149
|
+
}
|
|
150
|
+
await copyTree(
|
|
151
|
+
path.join(skillsDir, '_shared'),
|
|
152
|
+
path.join(root, '_shared'),
|
|
153
|
+
options,
|
|
154
|
+
written,
|
|
155
|
+
`${label}/_shared/`
|
|
156
|
+
);
|
|
157
|
+
await writeFileIfNeeded(
|
|
158
|
+
path.join(root, '_shared', 'api.json'),
|
|
159
|
+
await readFile(path.join(skillsDir, 'api.json'), 'utf8'),
|
|
160
|
+
{ ...options, force: true },
|
|
161
|
+
written
|
|
162
|
+
);
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
async function listSkills() {
|
|
166
|
+
const index = await readIndex();
|
|
167
|
+
console.log(`bullframe.css ${index.version} - ${index.skills.length} skills\n`);
|
|
168
|
+
for (const skill of index.skills) {
|
|
169
|
+
console.log(` ${skill.name}`);
|
|
170
|
+
console.log(` ${skill.description}`);
|
|
171
|
+
if (skill.requires?.length) console.log(` requires: ${skill.requires.join(', ')}`);
|
|
172
|
+
}
|
|
173
|
+
console.log(`\nInstall with: npx bullframe.css skills install`);
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
async function installSkills(options) {
|
|
177
|
+
const index = await readIndex();
|
|
178
|
+
const cwd = process.cwd();
|
|
179
|
+
const localDir = path.resolve(cwd, options.dir ?? LOCAL_DIR);
|
|
180
|
+
|
|
181
|
+
let targets = options.targets;
|
|
182
|
+
if (!targets) {
|
|
183
|
+
targets = ['agents'];
|
|
184
|
+
for (const [name, { parent }] of Object.entries(TOOL_TARGETS)) {
|
|
185
|
+
if (await exists(path.join(cwd, parent))) targets.push(name);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
const unknown = targets.filter((t) => !KNOWN_TARGETS.includes(t));
|
|
190
|
+
if (unknown.length) {
|
|
191
|
+
fail(`unknown target "${unknown[0]}". Use ${KNOWN_TARGETS.join(', ')}.`);
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
const written = [];
|
|
195
|
+
|
|
196
|
+
for (const name of Object.keys(TOOL_TARGETS)) {
|
|
197
|
+
if (!targets.includes(name)) continue;
|
|
198
|
+
const { parent, label } = TOOL_TARGETS[name];
|
|
199
|
+
await installToolLayout(index, path.join(cwd, parent), label, options, written);
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
if (targets.includes('agents') || targets.includes('dir')) {
|
|
203
|
+
for (const skill of index.skills) {
|
|
204
|
+
await copyTree(
|
|
205
|
+
path.join(skillsDir, skill.name),
|
|
206
|
+
path.join(localDir, skill.name),
|
|
207
|
+
options,
|
|
208
|
+
written,
|
|
209
|
+
`${path.relative(cwd, localDir)}/${skill.name}/`
|
|
210
|
+
);
|
|
211
|
+
}
|
|
212
|
+
for (const file of ['_shared', 'api.json', 'index.json']) {
|
|
213
|
+
await copyTree(
|
|
214
|
+
path.join(skillsDir, file),
|
|
215
|
+
path.join(localDir, file),
|
|
216
|
+
options,
|
|
217
|
+
written,
|
|
218
|
+
`${path.relative(cwd, localDir)}/${file}`
|
|
219
|
+
);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
if (targets.includes('agents')) {
|
|
224
|
+
const agentsFile = path.join(cwd, 'AGENTS.md');
|
|
225
|
+
const body = await readFile(path.join(skillsDir, index.agentsBlock), 'utf8');
|
|
226
|
+
const existing = (await exists(agentsFile)) ? await readFile(agentsFile, 'utf8') : null;
|
|
227
|
+
await writeFileIfNeeded(
|
|
228
|
+
agentsFile,
|
|
229
|
+
mergeAgentsBlock(existing, body),
|
|
230
|
+
{ ...options, force: true },
|
|
231
|
+
written
|
|
232
|
+
);
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
console.log(`bullframe.css ${index.version} - targets: ${targets.join(', ')}`);
|
|
236
|
+
for (const line of written) console.log(` ${line}`);
|
|
237
|
+
if (options.dryRun) console.log('\nDry run: nothing was written.');
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
async function main() {
|
|
241
|
+
const { options, positional } = parseArgs(process.argv.slice(2));
|
|
242
|
+
|
|
243
|
+
if (options.version) {
|
|
244
|
+
const pkg = JSON.parse(await readFile(path.join(packageRoot, 'package.json'), 'utf8'));
|
|
245
|
+
console.log(pkg.version);
|
|
246
|
+
return;
|
|
247
|
+
}
|
|
248
|
+
if (options.help || positional.length === 0) {
|
|
249
|
+
console.log(USAGE);
|
|
250
|
+
return;
|
|
251
|
+
}
|
|
252
|
+
if (options.unknown) {
|
|
253
|
+
console.error(`bullframe: unknown option "${options.unknown}"\n`);
|
|
254
|
+
console.log(USAGE);
|
|
255
|
+
process.exit(2);
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
const [group, command] = positional;
|
|
259
|
+
if (group !== 'skills') {
|
|
260
|
+
console.error(`bullframe: unknown command "${group}"\n`);
|
|
261
|
+
console.log(USAGE);
|
|
262
|
+
process.exit(2);
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
if (command === 'list') return listSkills();
|
|
266
|
+
if (command === 'install') return installSkills(options);
|
|
267
|
+
if (command === 'path') {
|
|
268
|
+
console.log(skillsDir);
|
|
269
|
+
return;
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
console.error(`bullframe: unknown subcommand "${command ?? ''}"\n`);
|
|
273
|
+
console.log(USAGE);
|
|
274
|
+
process.exit(2);
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
main().catch((error) => fail(error.message));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
/* ! Bullframe CSS v6.1.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;height:20px;height:2rem}progress[value]::-webkit-progress-bar{background:var(--bf-gray-light)}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}}html{color:var(--bf-light)}body{background-color:var(--bf-dark-bg)}a{color:var(--bf-dark-link)}a:focus,a:hover{color:var(--bf-dark-link-hover)}mark{background-color:var(--bf-dark-mark-bg)}ins{background-color:var(--bf-dark-ins-bg)}[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=range],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],input[list],select,select:not([size],select[multiple]),textarea{background-color:var(--bf-dark-extra);border-color:var(--bf-black);color:var(--bf-gray-light)}[type=date]:active,[type=date]:focus,[type=datetime-local]:active,[type=datetime-local]:focus,[type=email]:active,[type=email]:focus,[type=month]:active,[type=month]:focus,[type=number]:active,[type=number]:focus,[type=password]:active,[type=password]:focus,[type=search]:active,[type=search]:focus,[type=tel]:active,[type=tel]:focus,[type=text]:active,[type=text]:focus,[type=time]:active,[type=time]:focus,[type=url]:active,[type=url]:focus,[type=week]:active,[type=week]:focus,input[list]:active,input[list]:focus,select:active,select:focus,select:not([size],select[multiple]):active,select:not([size],select[multiple]):focus,textarea:active,textarea:focus{background-color:var(--bf-dark-extra);border-color:var(--bf-dark-border-focus);box-shadow:0 0 0 3px var(--bf-dark-shadow-focus)}select:not([size],select[multiple]){background-image: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='%23f0f0f0' d='M2 0 0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E")}[type=range],[type=range]:focus{background-color:transparent}[type=range]::-webkit-slider-runnable-track{background-color:var(--bf-dark-extra)}[type=range]::-moz-range-track{background-color:var(--bf-dark-extra)}input::-moz-placeholder,textarea::-moz-placeholder{color:var(--bf-gray)}input::placeholder,textarea::placeholder{color:var(--bf-gray)}[type=button],[type=reset],[type=submit],button{background:var(--bf-gray-light)}[type=button]:active,[type=button]:focus,[type=button]:hover,[type=reset]:active,[type=reset]:focus,[type=reset]:hover,[type=submit]:active,[type=submit]:focus,[type=submit]:hover,button:active,button:focus,button:hover{background:var(--bf-dark-button-hover)}[type=button]:active,[type=button]:focus,[type=reset]:active,[type=reset]:focus,[type=submit]:active,[type=submit]:focus,button:active,button:focus{box-shadow:0 0 0 3px var(--bf-dark-button-shadow)}dialog{background-color:var(--bf-dark-bg);color:var(--bf-light)}caption{color:var(--bf-gray-light)}progress[value]{background:var(--bf-gray-dark-extra);color:var(--bf-blue)}progress[value]::-webkit-progress-bar{background:var(--bf-gray-dark-extra)}progress[value]::-webkit-progress-value{background:var(--bf-blue)}a:focus,input:focus{outline-color:#d68c00}:focus-visible{outline-color:#d68c00}html{scrollbar-color:#616161 var(--bf-dark-extra)}::-webkit-scrollbar{height:1.5rem;width:1.5rem}::-webkit-scrollbar-track{background-color:var(--bf-dark-extra)}::-webkit-scrollbar-thumb{background-color:#616161}::-webkit-scrollbar-thumb:hover{background-color:#737373}
|
|
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;height:20px;height:2rem}progress[value]::-webkit-progress-bar{background:var(--bf-gray-light)}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}}html{color:var(--bf-light)}body{background-color:var(--bf-dark-bg)}a{color:var(--bf-dark-link)}a:focus,a:hover{color:var(--bf-dark-link-hover)}mark{background-color:var(--bf-dark-mark-bg)}ins{background-color:var(--bf-dark-ins-bg)}[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=range],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],input[list],select,select:not([size],select[multiple]),textarea{background-color:var(--bf-dark-extra);border-color:var(--bf-black);color:var(--bf-gray-light)}[type=date]:active,[type=date]:focus,[type=datetime-local]:active,[type=datetime-local]:focus,[type=email]:active,[type=email]:focus,[type=month]:active,[type=month]:focus,[type=number]:active,[type=number]:focus,[type=password]:active,[type=password]:focus,[type=search]:active,[type=search]:focus,[type=tel]:active,[type=tel]:focus,[type=text]:active,[type=text]:focus,[type=time]:active,[type=time]:focus,[type=url]:active,[type=url]:focus,[type=week]:active,[type=week]:focus,input[list]:active,input[list]:focus,select:active,select:focus,select:not([size],select[multiple]):active,select:not([size],select[multiple]):focus,textarea:active,textarea:focus{background-color:var(--bf-dark-extra);border-color:var(--bf-dark-border-focus);box-shadow:0 0 0 3px var(--bf-dark-shadow-focus)}select:not([size],select[multiple]){background-image: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='%23f0f0f0' d='M2 0 0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E")}[type=range],[type=range]:focus{background-color:transparent}[type=range]::-webkit-slider-runnable-track{background-color:var(--bf-dark-extra)}[type=range]::-moz-range-track{background-color:var(--bf-dark-extra)}input::-moz-placeholder,textarea::-moz-placeholder{color:var(--bf-gray)}input::placeholder,textarea::placeholder{color:var(--bf-gray)}[type=button],[type=reset],[type=submit],button{background:var(--bf-gray-light)}[type=button]:active,[type=button]:focus,[type=button]:hover,[type=reset]:active,[type=reset]:focus,[type=reset]:hover,[type=submit]:active,[type=submit]:focus,[type=submit]:hover,button:active,button:focus,button:hover{background:var(--bf-dark-button-hover)}[type=button]:active,[type=button]:focus,[type=reset]:active,[type=reset]:focus,[type=submit]:active,[type=submit]:focus,button:active,button:focus{box-shadow:0 0 0 3px var(--bf-dark-button-shadow)}dialog{background-color:var(--bf-dark-bg);color:var(--bf-light)}caption{color:var(--bf-gray-light)}progress[value]{background:var(--bf-gray-dark-extra);color:var(--bf-blue)}progress[value]::-webkit-progress-bar{background:var(--bf-gray-dark-extra)}progress[value]::-webkit-progress-value{background:var(--bf-blue)}a:focus,input:focus{outline-color:#d68c00}:focus-visible{outline-color:#d68c00}html{scrollbar-color:#616161 var(--bf-dark-extra)}::-webkit-scrollbar{height:1.5rem;width:1.5rem}::-webkit-scrollbar-track{background-color:var(--bf-dark-extra)}::-webkit-scrollbar-thumb{background-color:#616161}::-webkit-scrollbar-thumb:hover{background-color:#737373}
|