decklight 0.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/LICENSE +21 -0
- package/README.md +257 -0
- package/SPEC.md +372 -0
- package/cli/bundle.mjs +388 -0
- package/cli/decklight.mjs +95 -0
- package/cli/edit.mjs +142 -0
- package/cli/init.mjs +215 -0
- package/cli/rec.mjs +538 -0
- package/dist/decklight.css +1068 -0
- package/dist/decklight.js +239 -0
- package/dist/decklight.js.map +7 -0
- package/docs/architecture.svg +94 -0
- package/docs/demo.svg +124 -0
- package/package.json +54 -0
- package/themes/README.md +61 -0
- package/themes/aliens.css +84 -0
- package/themes/apple2.css +126 -0
- package/themes/aurora.css +84 -0
- package/themes/berry.css +80 -0
- package/themes/blade-runner.css +83 -0
- package/themes/c64.css +85 -0
- package/themes/carbon.css +82 -0
- package/themes/citrus.css +80 -0
- package/themes/coastal.css +80 -0
- package/themes/cosmos.css +86 -0
- package/themes/dune.css +80 -0
- package/themes/eclipse.css +82 -0
- package/themes/ember.css +80 -0
- package/themes/fjord.css +80 -0
- package/themes/friends.css +82 -0
- package/themes/gallery.html +203 -0
- package/themes/gameboy.css +118 -0
- package/themes/genesis.css +84 -0
- package/themes/glacier.css +82 -0
- package/themes/godfather.css +82 -0
- package/themes/graphite.css +80 -0
- package/themes/harvest.css +80 -0
- package/themes/ibm-modern.css +83 -0
- package/themes/ibm-oldschool.css +84 -0
- package/themes/ink.css +82 -0
- package/themes/latte.css +80 -0
- package/themes/linen.css +80 -0
- package/themes/meadow.css +80 -0
- package/themes/metropolis.css +85 -0
- package/themes/miami-vice.css +84 -0
- package/themes/midnight.css +80 -0
- package/themes/mint.css +82 -0
- package/themes/moss.css +82 -0
- package/themes/obsidian.css +82 -0
- package/themes/orchid.css +82 -0
- package/themes/packs.json +89 -0
- package/themes/paper.css +83 -0
- package/themes/peony.css +84 -0
- package/themes/porcelain.css +82 -0
- package/themes/pulp-fiction.css +84 -0
- package/themes/reveal-beige.css +87 -0
- package/themes/reveal-black.css +83 -0
- package/themes/reveal-blood.css +84 -0
- package/themes/reveal-dracula.css +83 -0
- package/themes/reveal-league.css +88 -0
- package/themes/reveal-moon.css +83 -0
- package/themes/reveal-night.css +86 -0
- package/themes/reveal-serif.css +82 -0
- package/themes/reveal-simple.css +84 -0
- package/themes/reveal-sky.css +85 -0
- package/themes/reveal-solarized.css +83 -0
- package/themes/reveal-white.css +82 -0
- package/themes/sepia.css +81 -0
- package/themes/seriph.css +82 -0
- package/themes/severance.css +82 -0
- package/themes/slate.css +80 -0
- package/themes/snes.css +82 -0
- package/themes/star-wars.css +85 -0
- package/themes/storm.css +80 -0
- package/themes/stranger-things.css +84 -0
- package/themes/synthwave.css +90 -0
- package/themes/terminator.css +84 -0
- package/themes/velvet.css +80 -0
- package/tools/gemini-tts.mjs +140 -0
- package/tools/publish-site-voices.mjs +71 -0
- package/tools/voiceover-server.mjs +0 -0
- package/tools/voiceover.mjs +155 -0
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/* ═══════════════════════════════════════════════════════════════
|
|
2
|
+
Decklight theme · reveal-black
|
|
3
|
+
dark · near-black canvas, clean sans, the classic Reveal blue
|
|
4
|
+
Inspired by Reveal.js 'black' (the default) — palette kept canonical where possible,
|
|
5
|
+
every gated pair fitted to the WCAG contract.
|
|
6
|
+
rule-exception: R3 the canonical Reveal link blue (#42affa) is the identity
|
|
7
|
+
Token contract: SPEC.md §5 — validated by test/contrast.mjs
|
|
8
|
+
═══════════════════════════════════════════════════════════════ */
|
|
9
|
+
|
|
10
|
+
.decklight {
|
|
11
|
+
/* ── canvas ─────────────────────────────── */
|
|
12
|
+
--bg: #191919;
|
|
13
|
+
--bg-accent: none;
|
|
14
|
+
--fg: #fdfdfd;
|
|
15
|
+
--muted: #a9a9a9;
|
|
16
|
+
|
|
17
|
+
/* ── type ───────────────────────────────── */
|
|
18
|
+
--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
|
|
19
|
+
--font-heading: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
|
|
20
|
+
--font-mono: "SF Mono", SFMono-Regular, ui-monospace, "Cascadia Code", Menlo, Consolas, monospace;
|
|
21
|
+
--heading-color: #fdfdfd;
|
|
22
|
+
--heading-weight: 600;
|
|
23
|
+
--link: #42affa;
|
|
24
|
+
|
|
25
|
+
/* ── accent ─────────────────────────────── */
|
|
26
|
+
--accent: #42affa;
|
|
27
|
+
--accent-contrast: #131313;
|
|
28
|
+
|
|
29
|
+
/* ── blocks ─────────────────────────────── */
|
|
30
|
+
--block-bg: #242222;
|
|
31
|
+
--block-border: 1px solid #3e3131;
|
|
32
|
+
--block-radius: 8px;
|
|
33
|
+
--shadow: 0 8px 26px rgba(0, 0, 0, 0.5);
|
|
34
|
+
|
|
35
|
+
/* ── code ───────────────────────────────── */
|
|
36
|
+
--code-bg: #272822;
|
|
37
|
+
--code-fg: #f8f8f2;
|
|
38
|
+
--hl-keyword: #fa4e8c;
|
|
39
|
+
--hl-string: #e6db74;
|
|
40
|
+
--hl-number: #ae81ff;
|
|
41
|
+
--hl-comment: #787460;
|
|
42
|
+
--hl-function: #a6e22e;
|
|
43
|
+
--hl-type: #66d9ef;
|
|
44
|
+
--hl-punct: #f8f8f2;
|
|
45
|
+
|
|
46
|
+
/* ── diagram ────────────────────────────── */
|
|
47
|
+
--d-stroke: #a9a9a9;
|
|
48
|
+
--d-text: #fdfdfd;
|
|
49
|
+
--d-muted: #a9a9a9;
|
|
50
|
+
--d-accent: #42affa;
|
|
51
|
+
--d-fill-1: #2f2222;
|
|
52
|
+
--d-fill-2: #372d23;
|
|
53
|
+
--d-fill-3: #243741;
|
|
54
|
+
--d-fill-4: #282f22;
|
|
55
|
+
--d-fill-5: #2a2337;
|
|
56
|
+
--d-fill-6: #412433;
|
|
57
|
+
|
|
58
|
+
/* ── terminal ───────────────────────────── */
|
|
59
|
+
--term-bg: #0f0e0e;
|
|
60
|
+
--term-fg: #e6e6e2;
|
|
61
|
+
--term-prompt: #42affa;
|
|
62
|
+
--term-cursor: #42affa;
|
|
63
|
+
--term-selection: rgba(66, 175, 250, 0.28);
|
|
64
|
+
--ansi-black: #89969f;
|
|
65
|
+
--ansi-red: #dc7c60;
|
|
66
|
+
--ansi-green: #60dc76;
|
|
67
|
+
--ansi-yellow: #dccf60;
|
|
68
|
+
--ansi-blue: #6088dc;
|
|
69
|
+
--ansi-magenta: #d360dc;
|
|
70
|
+
--ansi-cyan: #60dbdc;
|
|
71
|
+
--ansi-white: #dee1e3;
|
|
72
|
+
--ansi-bright-black: #a7afb4;
|
|
73
|
+
--ansi-bright-red: #eba38e;
|
|
74
|
+
--ansi-bright-green: #8eeb9f;
|
|
75
|
+
--ansi-bright-yellow: #ebe18e;
|
|
76
|
+
--ansi-bright-blue: #8eaceb;
|
|
77
|
+
--ansi-bright-magenta: #e48eeb;
|
|
78
|
+
--ansi-bright-cyan: #8eeaeb;
|
|
79
|
+
--ansi-bright-white: #f2f2f3;
|
|
80
|
+
|
|
81
|
+
/* ── builds ─────────────────────────────── */
|
|
82
|
+
--dim-opacity: 0.3;
|
|
83
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/* ═══════════════════════════════════════════════════════════════
|
|
2
|
+
Decklight theme · reveal-blood
|
|
3
|
+
dark · coal black, dried-blood red, hard uppercase
|
|
4
|
+
Inspired by Reveal.js 'blood' — palette kept canonical where possible,
|
|
5
|
+
every gated pair fitted to the WCAG contract.
|
|
6
|
+
Token contract: SPEC.md §5 — validated by test/contrast.mjs
|
|
7
|
+
═══════════════════════════════════════════════════════════════ */
|
|
8
|
+
|
|
9
|
+
.decklight {
|
|
10
|
+
/* ── canvas ─────────────────────────────── */
|
|
11
|
+
--bg: #1a1a1a;
|
|
12
|
+
--bg-accent: none;
|
|
13
|
+
--fg: #eeeeee;
|
|
14
|
+
--muted: #a0a0a0;
|
|
15
|
+
|
|
16
|
+
/* ── type ───────────────────────────────── */
|
|
17
|
+
--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
|
|
18
|
+
--font-heading: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
|
|
19
|
+
--font-mono: "SF Mono", SFMono-Regular, ui-monospace, "Cascadia Code", Menlo, Consolas, monospace;
|
|
20
|
+
--heading-color: #eeeeee;
|
|
21
|
+
--heading-weight: 700;
|
|
22
|
+
--link: #e06673;
|
|
23
|
+
|
|
24
|
+
/* ── accent ─────────────────────────────── */
|
|
25
|
+
--accent: #aa2233;
|
|
26
|
+
--accent-contrast: #fbfbfa;
|
|
27
|
+
|
|
28
|
+
/* ── blocks ─────────────────────────────── */
|
|
29
|
+
--block-bg: #252323;
|
|
30
|
+
--block-border: 1px solid #3f3232;
|
|
31
|
+
--block-radius: 4px;
|
|
32
|
+
--shadow: 0 8px 26px rgba(0, 0, 0, 0.5);
|
|
33
|
+
|
|
34
|
+
/* ── code ───────────────────────────────── */
|
|
35
|
+
--code-bg: #242020;
|
|
36
|
+
--code-fg: #eeeeec;
|
|
37
|
+
--hl-keyword: #fa3f82;
|
|
38
|
+
--hl-string: #e6db74;
|
|
39
|
+
--hl-number: #ae81ff;
|
|
40
|
+
--hl-comment: #75715e;
|
|
41
|
+
--hl-function: #a6e22e;
|
|
42
|
+
--hl-type: #66d9ef;
|
|
43
|
+
--hl-punct: #f8f8f2;
|
|
44
|
+
|
|
45
|
+
/* ── diagram ────────────────────────────── */
|
|
46
|
+
--d-stroke: #a0a0a0;
|
|
47
|
+
--d-text: #eeeeee;
|
|
48
|
+
--d-muted: #a0a0a0;
|
|
49
|
+
--d-accent: #d83c4f;
|
|
50
|
+
--d-fill-1: #302323;
|
|
51
|
+
--d-fill-2: #392e24;
|
|
52
|
+
--d-fill-3: #253842;
|
|
53
|
+
--d-fill-4: #293023;
|
|
54
|
+
--d-fill-5: #2b2439;
|
|
55
|
+
--d-fill-6: #422534;
|
|
56
|
+
|
|
57
|
+
/* ── terminal ───────────────────────────── */
|
|
58
|
+
--term-bg: #100f0f;
|
|
59
|
+
--term-fg: #e6e6e2;
|
|
60
|
+
--term-prompt: #bf2639;
|
|
61
|
+
--term-cursor: #bf2639;
|
|
62
|
+
--term-selection: rgba(170, 34, 51, 0.28);
|
|
63
|
+
--ansi-black: #9f898c;
|
|
64
|
+
--ansi-red: #cf826e;
|
|
65
|
+
--ansi-green: #6ecf7d;
|
|
66
|
+
--ansi-yellow: #cfc26e;
|
|
67
|
+
--ansi-blue: #6e8fcf;
|
|
68
|
+
--ansi-magenta: #c66ecf;
|
|
69
|
+
--ansi-cyan: #6ecfce;
|
|
70
|
+
--ansi-white: #e3dedf;
|
|
71
|
+
--ansi-bright-black: #b4a7a9;
|
|
72
|
+
--ansi-bright-red: #e3a696;
|
|
73
|
+
--ansi-bright-green: #96e3a2;
|
|
74
|
+
--ansi-bright-yellow: #e3da96;
|
|
75
|
+
--ansi-bright-blue: #96b1e3;
|
|
76
|
+
--ansi-bright-magenta: #dc96e3;
|
|
77
|
+
--ansi-bright-cyan: #96e3e3;
|
|
78
|
+
--ansi-bright-white: #f3f2f2;
|
|
79
|
+
|
|
80
|
+
/* ── builds ─────────────────────────────── */
|
|
81
|
+
--dim-opacity: 0.3;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.decklight h1, .decklight h2 { text-transform: uppercase; letter-spacing: 0.01em; }
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/* ═══════════════════════════════════════════════════════════════
|
|
2
|
+
Decklight theme · reveal-dracula
|
|
3
|
+
dark · the vampire palette: purple headings, pink links, neon syntax
|
|
4
|
+
Inspired by Dracula (Zeno Rocha) / Reveal.js 'dracula' — palette kept canonical where possible,
|
|
5
|
+
every gated pair fitted to the WCAG contract.
|
|
6
|
+
rule-exception: R3 the canonical Dracula purple/pink accents are the identity
|
|
7
|
+
Token contract: SPEC.md §5 — validated by test/contrast.mjs
|
|
8
|
+
═══════════════════════════════════════════════════════════════ */
|
|
9
|
+
|
|
10
|
+
.decklight {
|
|
11
|
+
/* ── canvas ─────────────────────────────── */
|
|
12
|
+
--bg: #282a36;
|
|
13
|
+
--bg-accent: none;
|
|
14
|
+
--fg: #f8f8f2;
|
|
15
|
+
--muted: #9ba3c6;
|
|
16
|
+
|
|
17
|
+
/* ── type ───────────────────────────────── */
|
|
18
|
+
--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
|
|
19
|
+
--font-heading: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
|
|
20
|
+
--font-mono: "SF Mono", SFMono-Regular, ui-monospace, "Cascadia Code", Menlo, Consolas, monospace;
|
|
21
|
+
--heading-color: #bd93f9;
|
|
22
|
+
--heading-weight: 700;
|
|
23
|
+
--link: #ff79c6;
|
|
24
|
+
|
|
25
|
+
/* ── accent ─────────────────────────────── */
|
|
26
|
+
--accent: #bd93f9;
|
|
27
|
+
--accent-contrast: #131313;
|
|
28
|
+
|
|
29
|
+
/* ── blocks ─────────────────────────────── */
|
|
30
|
+
--block-bg: #2f3243;
|
|
31
|
+
--block-border: 1px solid #444757;
|
|
32
|
+
--block-radius: 8px;
|
|
33
|
+
--shadow: 0 8px 26px rgba(0, 0, 0, 0.5);
|
|
34
|
+
|
|
35
|
+
/* ── code ───────────────────────────────── */
|
|
36
|
+
--code-bg: #21222c;
|
|
37
|
+
--code-fg: #f8f8f2;
|
|
38
|
+
--hl-keyword: #ff79c6;
|
|
39
|
+
--hl-string: #f1fa8c;
|
|
40
|
+
--hl-number: #bd93f9;
|
|
41
|
+
--hl-comment: #6272a4;
|
|
42
|
+
--hl-function: #50fa7b;
|
|
43
|
+
--hl-type: #8be9fd;
|
|
44
|
+
--hl-punct: #f8f8f2;
|
|
45
|
+
|
|
46
|
+
/* ── diagram ────────────────────────────── */
|
|
47
|
+
--d-stroke: #9ba3c6;
|
|
48
|
+
--d-text: #f8f8f2;
|
|
49
|
+
--d-muted: #9ba3c6;
|
|
50
|
+
--d-accent: #bd93f9;
|
|
51
|
+
--d-fill-1: #2f3241;
|
|
52
|
+
--d-fill-2: #362c44;
|
|
53
|
+
--d-fill-3: #48283a;
|
|
54
|
+
--d-fill-4: #2f4134;
|
|
55
|
+
--d-fill-5: #2c4044;
|
|
56
|
+
--d-fill-6: #454828;
|
|
57
|
+
|
|
58
|
+
/* ── terminal ───────────────────────────── */
|
|
59
|
+
--term-bg: #1e1f29;
|
|
60
|
+
--term-fg: #e6e6e2;
|
|
61
|
+
--term-prompt: #bd93f9;
|
|
62
|
+
--term-cursor: #bd93f9;
|
|
63
|
+
--term-selection: rgba(189, 147, 249, 0.28);
|
|
64
|
+
--ansi-black: #8a91b5;
|
|
65
|
+
--ansi-red: #ff5555;
|
|
66
|
+
--ansi-green: #50fa7b;
|
|
67
|
+
--ansi-yellow: #f1fa8c;
|
|
68
|
+
--ansi-blue: #8be9fd;
|
|
69
|
+
--ansi-magenta: #ff79c6;
|
|
70
|
+
--ansi-cyan: #8be9fd;
|
|
71
|
+
--ansi-white: #f8f8f2;
|
|
72
|
+
--ansi-bright-black: #afb4cd;
|
|
73
|
+
--ansi-bright-red: #ff9292;
|
|
74
|
+
--ansi-bright-green: #8cfca8;
|
|
75
|
+
--ansi-bright-yellow: #f8fdc7;
|
|
76
|
+
--ansi-bright-blue: #c7f4fe;
|
|
77
|
+
--ansi-bright-magenta: #ffb6e0;
|
|
78
|
+
--ansi-bright-cyan: #c7f4fe;
|
|
79
|
+
--ansi-bright-white: #f8f8f2;
|
|
80
|
+
|
|
81
|
+
/* ── builds ─────────────────────────────── */
|
|
82
|
+
--dim-opacity: 0.3;
|
|
83
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;500&display=swap');
|
|
2
|
+
|
|
3
|
+
/* ═══════════════════════════════════════════════════════════════
|
|
4
|
+
Decklight theme · reveal-league
|
|
5
|
+
dark · gunmetal wash, condensed uppercase display, electric cyan
|
|
6
|
+
Inspired by Reveal.js 'league' (the original reveal look) — palette kept canonical where possible,
|
|
7
|
+
every gated pair fitted to the WCAG contract.
|
|
8
|
+
rule-exception: R3 the canonical league cyan (#13daec) is the identity
|
|
9
|
+
rule-exception: R2 the canonical gunmetal wash canvas
|
|
10
|
+
Token contract: SPEC.md §5 — validated by test/contrast.mjs
|
|
11
|
+
═══════════════════════════════════════════════════════════════ */
|
|
12
|
+
|
|
13
|
+
.decklight {
|
|
14
|
+
/* ── canvas ─────────────────────────────── */
|
|
15
|
+
--bg: linear-gradient(180deg, #555a5f 0%, #1c1e20 100%);
|
|
16
|
+
--bg-accent: none;
|
|
17
|
+
--fg: #eeeeee;
|
|
18
|
+
--muted: #b8bcbf;
|
|
19
|
+
|
|
20
|
+
/* ── type ───────────────────────────────── */
|
|
21
|
+
--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
|
|
22
|
+
--font-heading: "League Gothic", Oswald, "Arial Narrow", "Avenir Next Condensed", sans-serif;
|
|
23
|
+
--font-mono: "SF Mono", SFMono-Regular, ui-monospace, "Cascadia Code", Menlo, Consolas, monospace;
|
|
24
|
+
--heading-color: #eeeeee;
|
|
25
|
+
--heading-weight: 500;
|
|
26
|
+
--link: #13daec;
|
|
27
|
+
|
|
28
|
+
/* ── accent ─────────────────────────────── */
|
|
29
|
+
--accent: #13daec;
|
|
30
|
+
--accent-contrast: #131313;
|
|
31
|
+
|
|
32
|
+
/* ── blocks ─────────────────────────────── */
|
|
33
|
+
--block-bg: #5c646d;
|
|
34
|
+
--block-border: 1px solid #6a7987;
|
|
35
|
+
--block-radius: 4px;
|
|
36
|
+
--shadow: 0 8px 26px rgba(0, 0, 0, 0.5);
|
|
37
|
+
|
|
38
|
+
/* ── code ───────────────────────────────── */
|
|
39
|
+
--code-bg: #272822;
|
|
40
|
+
--code-fg: #f8f8f2;
|
|
41
|
+
--hl-keyword: #fa4e8c;
|
|
42
|
+
--hl-string: #e6db74;
|
|
43
|
+
--hl-number: #ae81ff;
|
|
44
|
+
--hl-comment: #787460;
|
|
45
|
+
--hl-function: #a6e22e;
|
|
46
|
+
--hl-type: #66d9ef;
|
|
47
|
+
--hl-punct: #f8f8f2;
|
|
48
|
+
|
|
49
|
+
/* ── diagram ────────────────────────────── */
|
|
50
|
+
--d-stroke: #b8bcbf;
|
|
51
|
+
--d-text: #eeeeee;
|
|
52
|
+
--d-muted: #b8bcbf;
|
|
53
|
+
--d-accent: #13daec;
|
|
54
|
+
--d-fill-1: #2f3841;
|
|
55
|
+
--d-fill-2: #2c2c44;
|
|
56
|
+
--d-fill-3: #484328;
|
|
57
|
+
--d-fill-4: #412f41;
|
|
58
|
+
--d-fill-5: #30442c;
|
|
59
|
+
--d-fill-6: #284848;
|
|
60
|
+
|
|
61
|
+
/* ── terminal ───────────────────────────── */
|
|
62
|
+
--term-bg: #485057;
|
|
63
|
+
--term-fg: #e6e6e2;
|
|
64
|
+
--term-prompt: #13daec;
|
|
65
|
+
--term-cursor: #13daec;
|
|
66
|
+
--term-selection: rgba(19, 218, 236, 0.28);
|
|
67
|
+
--ansi-black: #92a4a5;
|
|
68
|
+
--ansi-red: #e38582;
|
|
69
|
+
--ansi-green: #62dc60;
|
|
70
|
+
--ansi-yellow: #dcb760;
|
|
71
|
+
--ansi-blue: #69a5de;
|
|
72
|
+
--ansi-magenta: #cb86e4;
|
|
73
|
+
--ansi-cyan: #60dcc5;
|
|
74
|
+
--ansi-white: #dee2e3;
|
|
75
|
+
--ansi-bright-black: #a7b3b4;
|
|
76
|
+
--ansi-bright-red: #eb918e;
|
|
77
|
+
--ansi-bright-green: #90eb8e;
|
|
78
|
+
--ansi-bright-yellow: #ebcf8e;
|
|
79
|
+
--ansi-bright-blue: #8ebeeb;
|
|
80
|
+
--ansi-bright-magenta: #d28eeb;
|
|
81
|
+
--ansi-bright-cyan: #8eebda;
|
|
82
|
+
--ansi-bright-white: #f2f3f3;
|
|
83
|
+
|
|
84
|
+
/* ── builds ─────────────────────────────── */
|
|
85
|
+
--dim-opacity: 0.3;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.decklight h1, .decklight h2 { text-transform: uppercase; letter-spacing: 0.02em; }
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/* ═══════════════════════════════════════════════════════════════
|
|
2
|
+
Decklight theme · reveal-moon
|
|
3
|
+
dark · base03 deep teal, cream headings, the eight canonical accents
|
|
4
|
+
Inspired by Reveal.js 'moon' / Solarized Dark — palette kept canonical where possible,
|
|
5
|
+
every gated pair fitted to the WCAG contract.
|
|
6
|
+
rule-exception: R2 the canonical Solarized base03 deep-teal canvas
|
|
7
|
+
Token contract: SPEC.md §5 — validated by test/contrast.mjs
|
|
8
|
+
═══════════════════════════════════════════════════════════════ */
|
|
9
|
+
|
|
10
|
+
.decklight {
|
|
11
|
+
/* ── canvas ─────────────────────────────── */
|
|
12
|
+
--bg: #002b36;
|
|
13
|
+
--bg-accent: none;
|
|
14
|
+
--fg: #93a1a1;
|
|
15
|
+
--muted: #7d8f91;
|
|
16
|
+
|
|
17
|
+
/* ── type ───────────────────────────────── */
|
|
18
|
+
--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
|
|
19
|
+
--font-heading: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
|
|
20
|
+
--font-mono: "SF Mono", SFMono-Regular, ui-monospace, "Cascadia Code", Menlo, Consolas, monospace;
|
|
21
|
+
--heading-color: #eee8d5;
|
|
22
|
+
--heading-weight: 600;
|
|
23
|
+
--link: #268bd2;
|
|
24
|
+
|
|
25
|
+
/* ── accent ─────────────────────────────── */
|
|
26
|
+
--accent: #268bd2;
|
|
27
|
+
--accent-contrast: #1c1c17;
|
|
28
|
+
|
|
29
|
+
/* ── blocks ─────────────────────────────── */
|
|
30
|
+
--block-bg: #1c2b2f;
|
|
31
|
+
--block-border: 1px solid #333e41;
|
|
32
|
+
--block-radius: 8px;
|
|
33
|
+
--shadow: 0 8px 26px rgba(0, 0, 0, 0.5);
|
|
34
|
+
|
|
35
|
+
/* ── code ───────────────────────────────── */
|
|
36
|
+
--code-bg: #073642;
|
|
37
|
+
--code-fg: #93a1a1;
|
|
38
|
+
--hl-keyword: #92a800;
|
|
39
|
+
--hl-string: #2dada3;
|
|
40
|
+
--hl-number: #e279ac;
|
|
41
|
+
--hl-comment: #698089;
|
|
42
|
+
--hl-function: #4ca2df;
|
|
43
|
+
--hl-type: #c49500;
|
|
44
|
+
--hl-punct: #93a1a1;
|
|
45
|
+
|
|
46
|
+
/* ── diagram ────────────────────────────── */
|
|
47
|
+
--d-stroke: #7d8f91;
|
|
48
|
+
--d-text: #93a1a1;
|
|
49
|
+
--d-muted: #7d8f91;
|
|
50
|
+
--d-accent: #268bd2;
|
|
51
|
+
--d-fill-1: #242e31;
|
|
52
|
+
--d-fill-2: #3a3425;
|
|
53
|
+
--d-fill-3: #263743;
|
|
54
|
+
--d-fill-4: #2f3124;
|
|
55
|
+
--d-fill-5: #3a252f;
|
|
56
|
+
--d-fill-6: #264341;
|
|
57
|
+
|
|
58
|
+
/* ── terminal ───────────────────────────── */
|
|
59
|
+
--term-bg: #002129;
|
|
60
|
+
--term-fg: #e6e6e2;
|
|
61
|
+
--term-prompt: #268bd2;
|
|
62
|
+
--term-cursor: #268bd2;
|
|
63
|
+
--term-selection: rgba(38, 139, 210, 0.28);
|
|
64
|
+
--ansi-black: #93a1a1;
|
|
65
|
+
--ansi-red: #dc322f;
|
|
66
|
+
--ansi-green: #859900;
|
|
67
|
+
--ansi-yellow: #b58900;
|
|
68
|
+
--ansi-blue: #268bd2;
|
|
69
|
+
--ansi-magenta: #d33682;
|
|
70
|
+
--ansi-cyan: #2aa198;
|
|
71
|
+
--ansi-white: #eee8d5;
|
|
72
|
+
--ansi-bright-black: #b4bdbd;
|
|
73
|
+
--ansi-bright-red: #e56663;
|
|
74
|
+
--ansi-bright-green: #bad600;
|
|
75
|
+
--ansi-bright-yellow: #f2b700;
|
|
76
|
+
--ansi-bright-blue: #55a7e0;
|
|
77
|
+
--ansi-bright-magenta: #de68a1;
|
|
78
|
+
--ansi-bright-cyan: #3cccc1;
|
|
79
|
+
--ansi-bright-white: #f9f7f0;
|
|
80
|
+
|
|
81
|
+
/* ── builds ─────────────────────────────── */
|
|
82
|
+
--dim-opacity: 0.3;
|
|
83
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@600;700&display=swap');
|
|
2
|
+
|
|
3
|
+
/* ═══════════════════════════════════════════════════════════════
|
|
4
|
+
Decklight theme · reveal-night
|
|
5
|
+
dark · true dark, Montserrat caps, amber links
|
|
6
|
+
Inspired by Reveal.js 'night' — palette kept canonical where possible,
|
|
7
|
+
every gated pair fitted to the WCAG contract.
|
|
8
|
+
Token contract: SPEC.md §5 — validated by test/contrast.mjs
|
|
9
|
+
═══════════════════════════════════════════════════════════════ */
|
|
10
|
+
|
|
11
|
+
.decklight {
|
|
12
|
+
/* ── canvas ─────────────────────────────── */
|
|
13
|
+
--bg: #111111;
|
|
14
|
+
--bg-accent: none;
|
|
15
|
+
--fg: #eeeeee;
|
|
16
|
+
--muted: #9c9c98;
|
|
17
|
+
|
|
18
|
+
/* ── type ───────────────────────────────── */
|
|
19
|
+
--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
|
|
20
|
+
--font-heading: Montserrat, "Avenir Next", "Segoe UI", sans-serif;
|
|
21
|
+
--font-mono: "SF Mono", SFMono-Regular, ui-monospace, "Cascadia Code", Menlo, Consolas, monospace;
|
|
22
|
+
--heading-color: #eeeeee;
|
|
23
|
+
--heading-weight: 700;
|
|
24
|
+
--link: #e5ac55;
|
|
25
|
+
|
|
26
|
+
/* ── accent ─────────────────────────────── */
|
|
27
|
+
--accent: #e5ac55;
|
|
28
|
+
--accent-contrast: #131313;
|
|
29
|
+
|
|
30
|
+
/* ── blocks ─────────────────────────────── */
|
|
31
|
+
--block-bg: #1c1a1a;
|
|
32
|
+
--block-border: 1px solid #352a2a;
|
|
33
|
+
--block-radius: 8px;
|
|
34
|
+
--shadow: 0 8px 26px rgba(0, 0, 0, 0.5);
|
|
35
|
+
|
|
36
|
+
/* ── code ───────────────────────────────── */
|
|
37
|
+
--code-bg: #1d1d1b;
|
|
38
|
+
--code-fg: #eeeeec;
|
|
39
|
+
--hl-keyword: #f93078;
|
|
40
|
+
--hl-string: #e6db74;
|
|
41
|
+
--hl-number: #ae81ff;
|
|
42
|
+
--hl-comment: #75715e;
|
|
43
|
+
--hl-function: #a6e22e;
|
|
44
|
+
--hl-type: #66d9ef;
|
|
45
|
+
--hl-punct: #f8f8f2;
|
|
46
|
+
|
|
47
|
+
/* ── diagram ────────────────────────────── */
|
|
48
|
+
--d-stroke: #9c9c98;
|
|
49
|
+
--d-text: #eeeeee;
|
|
50
|
+
--d-muted: #9c9c98;
|
|
51
|
+
--d-accent: #e5ac55;
|
|
52
|
+
--d-fill-1: #251b1b;
|
|
53
|
+
--d-fill-2: #2e251d;
|
|
54
|
+
--d-fill-3: #1f2e36;
|
|
55
|
+
--d-fill-4: #20251b;
|
|
56
|
+
--d-fill-5: #231d2e;
|
|
57
|
+
--d-fill-6: #361f2b;
|
|
58
|
+
|
|
59
|
+
/* ── terminal ───────────────────────────── */
|
|
60
|
+
--term-bg: #0b0a0a;
|
|
61
|
+
--term-fg: #e6e6e2;
|
|
62
|
+
--term-prompt: #e5ac55;
|
|
63
|
+
--term-cursor: #e5ac55;
|
|
64
|
+
--term-selection: rgba(229, 172, 85, 0.28);
|
|
65
|
+
--ansi-black: #9f9689;
|
|
66
|
+
--ansi-red: #d36e69;
|
|
67
|
+
--ansi-green: #69d369;
|
|
68
|
+
--ansi-yellow: #d3b569;
|
|
69
|
+
--ansi-blue: #699fd3;
|
|
70
|
+
--ansi-magenta: #b869d3;
|
|
71
|
+
--ansi-cyan: #69d3c1;
|
|
72
|
+
--ansi-white: #e3e1de;
|
|
73
|
+
--ansi-bright-black: #b4afa7;
|
|
74
|
+
--ansi-bright-red: #e79793;
|
|
75
|
+
--ansi-bright-green: #93e793;
|
|
76
|
+
--ansi-bright-yellow: #e7ce93;
|
|
77
|
+
--ansi-bright-blue: #93bde7;
|
|
78
|
+
--ansi-bright-magenta: #d193e7;
|
|
79
|
+
--ansi-bright-cyan: #93e7d8;
|
|
80
|
+
--ansi-bright-white: #f3f2f2;
|
|
81
|
+
|
|
82
|
+
/* ── builds ─────────────────────────────── */
|
|
83
|
+
--dim-opacity: 0.3;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.decklight h1, .decklight h2 { letter-spacing: -0.01em; }
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/* ═══════════════════════════════════════════════════════════════
|
|
2
|
+
Decklight theme · reveal-serif
|
|
3
|
+
light · ivory, Palatino headings, browns and quiet inks
|
|
4
|
+
Inspired by Reveal.js 'serif' — palette kept canonical where possible,
|
|
5
|
+
every gated pair fitted to the WCAG contract.
|
|
6
|
+
Token contract: SPEC.md §5 — validated by test/contrast.mjs
|
|
7
|
+
═══════════════════════════════════════════════════════════════ */
|
|
8
|
+
|
|
9
|
+
.decklight {
|
|
10
|
+
/* ── canvas ─────────────────────────────── */
|
|
11
|
+
--bg: #f0f1eb;
|
|
12
|
+
--bg-accent: none;
|
|
13
|
+
--fg: #16161a;
|
|
14
|
+
--muted: #6e6a5e;
|
|
15
|
+
|
|
16
|
+
/* ── type ───────────────────────────────── */
|
|
17
|
+
--font-body: "Palatino Linotype", Palatino, "Iowan Old Style", Georgia, serif;
|
|
18
|
+
--font-heading: "Palatino Linotype", Palatino, "Iowan Old Style", Georgia, serif;
|
|
19
|
+
--font-mono: "SF Mono", SFMono-Regular, ui-monospace, "Cascadia Code", Menlo, Consolas, monospace;
|
|
20
|
+
--heading-color: #383d3d;
|
|
21
|
+
--heading-weight: 600;
|
|
22
|
+
--link: #51483d;
|
|
23
|
+
|
|
24
|
+
/* ── accent ─────────────────────────────── */
|
|
25
|
+
--accent: #51483d;
|
|
26
|
+
--accent-contrast: #fbfbfa;
|
|
27
|
+
|
|
28
|
+
/* ── blocks ─────────────────────────────── */
|
|
29
|
+
--block-bg: #e8eade;
|
|
30
|
+
--block-border: 1px solid #cfd2c3;
|
|
31
|
+
--block-radius: 6px;
|
|
32
|
+
--shadow: 0 5px 18px rgba(30, 30, 40, 0.12);
|
|
33
|
+
|
|
34
|
+
/* ── code ───────────────────────────────── */
|
|
35
|
+
--code-bg: #26251f;
|
|
36
|
+
--code-fg: #eceae2;
|
|
37
|
+
--hl-keyword: #fa4989;
|
|
38
|
+
--hl-string: #e6db74;
|
|
39
|
+
--hl-number: #ae81ff;
|
|
40
|
+
--hl-comment: #75715e;
|
|
41
|
+
--hl-function: #a6e22e;
|
|
42
|
+
--hl-type: #66d9ef;
|
|
43
|
+
--hl-punct: #f8f8f2;
|
|
44
|
+
|
|
45
|
+
/* ── diagram ────────────────────────────── */
|
|
46
|
+
--d-stroke: #6e6a5e;
|
|
47
|
+
--d-text: #16161a;
|
|
48
|
+
--d-muted: #6e6a5e;
|
|
49
|
+
--d-accent: #51483d;
|
|
50
|
+
--d-fill-1: #e3e6d8;
|
|
51
|
+
--d-fill-2: #d6e4cf;
|
|
52
|
+
--d-fill-3: #d4c6e3;
|
|
53
|
+
--d-fill-4: #d8e6e1;
|
|
54
|
+
--d-fill-5: #e4cfda;
|
|
55
|
+
--d-fill-6: #e3d9c6;
|
|
56
|
+
|
|
57
|
+
/* ── terminal ───────────────────────────── */
|
|
58
|
+
--term-bg: #282b1d;
|
|
59
|
+
--term-fg: #eceae6;
|
|
60
|
+
--term-prompt: #857764;
|
|
61
|
+
--term-cursor: #857764;
|
|
62
|
+
--term-selection: rgba(81, 72, 61, 0.28);
|
|
63
|
+
--ansi-black: #9f9589;
|
|
64
|
+
--ansi-red: #c37a79;
|
|
65
|
+
--ansi-green: #7cc379;
|
|
66
|
+
--ansi-yellow: #c3ab79;
|
|
67
|
+
--ansi-blue: #79a1c3;
|
|
68
|
+
--ansi-magenta: #ae79c3;
|
|
69
|
+
--ansi-cyan: #79c3b4;
|
|
70
|
+
--ansi-white: #e3e1de;
|
|
71
|
+
--ansi-bright-black: #b4aea7;
|
|
72
|
+
--ansi-bright-red: #db9f9e;
|
|
73
|
+
--ansi-bright-green: #a0db9e;
|
|
74
|
+
--ansi-bright-yellow: #dbc89e;
|
|
75
|
+
--ansi-bright-blue: #9ebfdb;
|
|
76
|
+
--ansi-bright-magenta: #ca9edb;
|
|
77
|
+
--ansi-bright-cyan: #9edbcf;
|
|
78
|
+
--ansi-bright-white: #f3f2f2;
|
|
79
|
+
|
|
80
|
+
/* ── builds ─────────────────────────────── */
|
|
81
|
+
--dim-opacity: 0.3;
|
|
82
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
@import url('https://fonts.googleapis.com/css2?family=Lato:wght@400;700;900&display=swap');
|
|
2
|
+
|
|
3
|
+
/* ═══════════════════════════════════════════════════════════════
|
|
4
|
+
Decklight theme · reveal-simple
|
|
5
|
+
light · bare white, black Lato, one blue
|
|
6
|
+
Inspired by Reveal.js 'simple' — palette kept canonical where possible,
|
|
7
|
+
every gated pair fitted to the WCAG contract.
|
|
8
|
+
Token contract: SPEC.md §5 — validated by test/contrast.mjs
|
|
9
|
+
═══════════════════════════════════════════════════════════════ */
|
|
10
|
+
|
|
11
|
+
.decklight {
|
|
12
|
+
/* ── canvas ─────────────────────────────── */
|
|
13
|
+
--bg: #fdfdfd;
|
|
14
|
+
--bg-accent: none;
|
|
15
|
+
--fg: #1a1a1a;
|
|
16
|
+
--muted: #70706c;
|
|
17
|
+
|
|
18
|
+
/* ── type ───────────────────────────────── */
|
|
19
|
+
--font-body: Lato, -apple-system, "Segoe UI", Roboto, sans-serif;
|
|
20
|
+
--font-heading: Lato, -apple-system, "Segoe UI", Roboto, sans-serif;
|
|
21
|
+
--font-mono: "SF Mono", SFMono-Regular, ui-monospace, "Cascadia Code", Menlo, Consolas, monospace;
|
|
22
|
+
--heading-color: #1a1a1a;
|
|
23
|
+
--heading-weight: 800;
|
|
24
|
+
--link: #3b7bd0;
|
|
25
|
+
|
|
26
|
+
/* ── accent ─────────────────────────────── */
|
|
27
|
+
--accent: #2f6ec3;
|
|
28
|
+
--accent-contrast: #fbfbfa;
|
|
29
|
+
|
|
30
|
+
/* ── blocks ─────────────────────────────── */
|
|
31
|
+
--block-bg: #f3f2f2;
|
|
32
|
+
--block-border: 1px solid #d8d8d4;
|
|
33
|
+
--block-radius: 4px;
|
|
34
|
+
--shadow: 0 5px 18px rgba(30, 30, 40, 0.12);
|
|
35
|
+
|
|
36
|
+
/* ── code ───────────────────────────────── */
|
|
37
|
+
--code-bg: #22242a;
|
|
38
|
+
--code-fg: #eceef2;
|
|
39
|
+
--hl-keyword: #fa4989;
|
|
40
|
+
--hl-string: #e6db74;
|
|
41
|
+
--hl-number: #ae81ff;
|
|
42
|
+
--hl-comment: #75715e;
|
|
43
|
+
--hl-function: #a6e22e;
|
|
44
|
+
--hl-type: #66d9ef;
|
|
45
|
+
--hl-punct: #f8f8f2;
|
|
46
|
+
|
|
47
|
+
/* ── diagram ────────────────────────────── */
|
|
48
|
+
--d-stroke: #70706c;
|
|
49
|
+
--d-text: #1a1a1a;
|
|
50
|
+
--d-muted: #70706c;
|
|
51
|
+
--d-accent: #2f6ec3;
|
|
52
|
+
--d-fill-1: #f2eaea;
|
|
53
|
+
--d-fill-2: #efe9e2;
|
|
54
|
+
--d-fill-3: #dae7ed;
|
|
55
|
+
--d-fill-4: #eef2ea;
|
|
56
|
+
--d-fill-5: #e7e2ef;
|
|
57
|
+
--d-fill-6: #eddae4;
|
|
58
|
+
|
|
59
|
+
/* ── terminal ───────────────────────────── */
|
|
60
|
+
--term-bg: #2b1d1d;
|
|
61
|
+
--term-fg: #eceae6;
|
|
62
|
+
--term-prompt: #3070c7;
|
|
63
|
+
--term-cursor: #3070c7;
|
|
64
|
+
--term-selection: rgba(47, 110, 195, 0.28);
|
|
65
|
+
--ansi-black: #89929f;
|
|
66
|
+
--ansi-red: #cb7472;
|
|
67
|
+
--ansi-green: #74cb72;
|
|
68
|
+
--ansi-yellow: #cbaf72;
|
|
69
|
+
--ansi-blue: #72a0cb;
|
|
70
|
+
--ansi-magenta: #b272cb;
|
|
71
|
+
--ansi-cyan: #72cbba;
|
|
72
|
+
--ansi-white: #dee0e3;
|
|
73
|
+
--ansi-bright-black: #a7acb4;
|
|
74
|
+
--ansi-bright-red: #e09b99;
|
|
75
|
+
--ansi-bright-green: #9be099;
|
|
76
|
+
--ansi-bright-yellow: #e0cb99;
|
|
77
|
+
--ansi-bright-blue: #99bee0;
|
|
78
|
+
--ansi-bright-magenta: #cd99e0;
|
|
79
|
+
--ansi-bright-cyan: #99e0d3;
|
|
80
|
+
--ansi-bright-white: #f2f2f3;
|
|
81
|
+
|
|
82
|
+
/* ── builds ─────────────────────────────── */
|
|
83
|
+
--dim-opacity: 0.3;
|
|
84
|
+
}
|