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,82 @@
|
|
|
1
|
+
/* ═══════════════════════════════════════════════════════════════
|
|
2
|
+
Decklight theme · obsidian
|
|
3
|
+
dark · Volcanic glass — near-black, ember red, hard edges
|
|
4
|
+
Token contract: SPEC.md §5 — all values validated by test/contrast.mjs
|
|
5
|
+
═══════════════════════════════════════════════════════════════ */
|
|
6
|
+
|
|
7
|
+
.decklight {
|
|
8
|
+
/* ── canvas ─────────────────────────────── */
|
|
9
|
+
--bg: #0c0b10;
|
|
10
|
+
--bg-accent: #161219;
|
|
11
|
+
--fg: #ebe7ee;
|
|
12
|
+
--muted: #a49dad;
|
|
13
|
+
|
|
14
|
+
/* ── type ───────────────────────────────── */
|
|
15
|
+
--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
|
|
16
|
+
--font-heading: "Avenir Next", Avenir, Futura, "Century Gothic", "Segoe UI", sans-serif;
|
|
17
|
+
--font-mono: "SF Mono", SFMono-Regular, ui-monospace, "Cascadia Code", Menlo, Consolas, monospace;
|
|
18
|
+
--heading-color: #fafafa;
|
|
19
|
+
--heading-weight: 900;
|
|
20
|
+
--link: #ff9d8a;
|
|
21
|
+
|
|
22
|
+
/* ── accent ─────────────────────────────── */
|
|
23
|
+
--accent: #e76a6a;
|
|
24
|
+
--accent-contrast: #2b0303;
|
|
25
|
+
|
|
26
|
+
/* ── blocks ─────────────────────────────── */
|
|
27
|
+
--block-bg: #151318;
|
|
28
|
+
--block-border: 1px solid #2a2530;
|
|
29
|
+
--block-radius: 4px;
|
|
30
|
+
--shadow: 0 10px 30px rgba(0, 0, 0, 0.7);
|
|
31
|
+
|
|
32
|
+
/* ── code ───────────────────────────────── */
|
|
33
|
+
--code-bg: #131117;
|
|
34
|
+
--code-fg: #eae5ee;
|
|
35
|
+
--hl-keyword: #ff7a7a;
|
|
36
|
+
--hl-string: #f0b76b;
|
|
37
|
+
--hl-number: #e89ae0;
|
|
38
|
+
--hl-comment: #8d8598;
|
|
39
|
+
--hl-function: #8fb8ff;
|
|
40
|
+
--hl-type: #c5a3ff;
|
|
41
|
+
--hl-punct: #b0a8ba;
|
|
42
|
+
|
|
43
|
+
/* ── diagram ────────────────────────────── */
|
|
44
|
+
--d-stroke: #a0552f;
|
|
45
|
+
--d-text: #ebe7ee;
|
|
46
|
+
--d-muted: #948c9e;
|
|
47
|
+
--d-accent: #ff5252;
|
|
48
|
+
--d-fill-1: #231b22;
|
|
49
|
+
--d-fill-2: #2c1c1e;
|
|
50
|
+
--d-fill-3: #1e1b2b;
|
|
51
|
+
--d-fill-4: #291f19;
|
|
52
|
+
--d-fill-5: #1c2026;
|
|
53
|
+
--d-fill-6: #251921;
|
|
54
|
+
|
|
55
|
+
/* ── terminal ───────────────────────────── */
|
|
56
|
+
--term-bg: #09080c;
|
|
57
|
+
--term-fg: #e2dde6;
|
|
58
|
+
--term-prompt: #ff5252;
|
|
59
|
+
--term-cursor: #ff5252;
|
|
60
|
+
--term-selection: rgba(255, 82, 82, 0.28);
|
|
61
|
+
--ansi-black: #8e8798;
|
|
62
|
+
--ansi-red: #ff6b6b;
|
|
63
|
+
--ansi-green: #9fd873;
|
|
64
|
+
--ansi-yellow: #f5c260;
|
|
65
|
+
--ansi-blue: #82aaff;
|
|
66
|
+
--ansi-magenta: #e08ae5;
|
|
67
|
+
--ansi-cyan: #72d6ce;
|
|
68
|
+
--ansi-white: #e6e1ea;
|
|
69
|
+
--ansi-bright-black: #a79fb2;
|
|
70
|
+
--ansi-bright-red: #ff9494;
|
|
71
|
+
--ansi-bright-green: #bce79c;
|
|
72
|
+
--ansi-bright-yellow: #f8d488;
|
|
73
|
+
--ansi-bright-blue: #a8c6ff;
|
|
74
|
+
--ansi-bright-magenta: #eeadf2;
|
|
75
|
+
--ansi-bright-cyan: #9de5df;
|
|
76
|
+
--ansi-bright-white: #fafafa;
|
|
77
|
+
|
|
78
|
+
/* ── builds ─────────────────────────────── */
|
|
79
|
+
--dim-opacity: 0.28;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.decklight h1, .decklight h2 { letter-spacing: -0.02em; }
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/* ═══════════════════════════════════════════════════════════════
|
|
2
|
+
Decklight theme · orchid
|
|
3
|
+
light · Lilac-tinted white, violet elegance, feather-light headings
|
|
4
|
+
Token contract: SPEC.md §5 — all values validated by test/contrast.mjs
|
|
5
|
+
═══════════════════════════════════════════════════════════════ */
|
|
6
|
+
|
|
7
|
+
.decklight {
|
|
8
|
+
/* ── canvas ─────────────────────────────── */
|
|
9
|
+
--bg: #faf8fd;
|
|
10
|
+
--bg-accent: #f1ecf8;
|
|
11
|
+
--fg: #372f45;
|
|
12
|
+
--muted: #6d6580;
|
|
13
|
+
|
|
14
|
+
/* ── type ───────────────────────────────── */
|
|
15
|
+
--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
|
|
16
|
+
--font-heading: "Avenir Next", Avenir, Futura, "Century Gothic", "Segoe UI", sans-serif;
|
|
17
|
+
--font-mono: "SF Mono", SFMono-Regular, ui-monospace, "Cascadia Code", Menlo, Consolas, monospace;
|
|
18
|
+
--heading-color: #5b21b6;
|
|
19
|
+
--heading-weight: 400;
|
|
20
|
+
--link: #7038d8;
|
|
21
|
+
|
|
22
|
+
/* ── accent ─────────────────────────────── */
|
|
23
|
+
--accent: #7446e1;
|
|
24
|
+
--accent-contrast: #f8f4ff;
|
|
25
|
+
|
|
26
|
+
/* ── blocks ─────────────────────────────── */
|
|
27
|
+
--block-bg: #fafafa;
|
|
28
|
+
--block-border: 1px solid #e6def2;
|
|
29
|
+
--block-radius: 12px;
|
|
30
|
+
--shadow: 0 5px 20px rgba(90, 50, 180, 0.08);
|
|
31
|
+
|
|
32
|
+
/* ── code ───────────────────────────────── */
|
|
33
|
+
--code-bg: #f1ecf8;
|
|
34
|
+
--code-fg: #38304a;
|
|
35
|
+
--hl-keyword: #7038d8;
|
|
36
|
+
--hl-string: #276b46;
|
|
37
|
+
--hl-number: #a04d10;
|
|
38
|
+
--hl-comment: #6d6580;
|
|
39
|
+
--hl-function: #1e5aa8;
|
|
40
|
+
--hl-type: #a12a8a;
|
|
41
|
+
--hl-punct: #544a68;
|
|
42
|
+
|
|
43
|
+
/* ── diagram ────────────────────────────── */
|
|
44
|
+
--d-stroke: #75689a;
|
|
45
|
+
--d-text: #372f45;
|
|
46
|
+
--d-muted: #7c7290;
|
|
47
|
+
--d-accent: #8b5cf6;
|
|
48
|
+
--d-fill-1: #ece2fa;
|
|
49
|
+
--d-fill-2: #f2e5f5;
|
|
50
|
+
--d-fill-3: #e2e5f8;
|
|
51
|
+
--d-fill-4: #f6e2ee;
|
|
52
|
+
--d-fill-5: #e8ddf5;
|
|
53
|
+
--d-fill-6: #efe8fc;
|
|
54
|
+
|
|
55
|
+
/* ── terminal ───────────────────────────── */
|
|
56
|
+
--term-bg: #231d30;
|
|
57
|
+
--term-fg: #e5e0ee;
|
|
58
|
+
--term-prompt: #c4a8ff;
|
|
59
|
+
--term-cursor: #c4a8ff;
|
|
60
|
+
--term-selection: rgba(196, 168, 255, 0.26);
|
|
61
|
+
--ansi-black: #8f88a0;
|
|
62
|
+
--ansi-red: #f0879a;
|
|
63
|
+
--ansi-green: #93d0a2;
|
|
64
|
+
--ansi-yellow: #e2c47c;
|
|
65
|
+
--ansi-blue: #93aff0;
|
|
66
|
+
--ansi-magenta: #c9a0e8;
|
|
67
|
+
--ansi-cyan: #8bcfcc;
|
|
68
|
+
--ansi-white: #e6e2ee;
|
|
69
|
+
--ansi-bright-black: #a49db5;
|
|
70
|
+
--ansi-bright-red: #f5a9b8;
|
|
71
|
+
--ansi-bright-green: #b0e2bd;
|
|
72
|
+
--ansi-bright-yellow: #eed6a2;
|
|
73
|
+
--ansi-bright-blue: #b3c8f8;
|
|
74
|
+
--ansi-bright-magenta: #dcbdf2;
|
|
75
|
+
--ansi-bright-cyan: #abe0de;
|
|
76
|
+
--ansi-bright-white: #faf8fe;
|
|
77
|
+
|
|
78
|
+
/* ── builds ─────────────────────────────── */
|
|
79
|
+
--dim-opacity: 0.35;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.decklight h1, .decklight h2 { letter-spacing: 0.02em; }
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
{
|
|
2
|
+
"order": [
|
|
3
|
+
"default",
|
|
4
|
+
"classics",
|
|
5
|
+
"oldmachines",
|
|
6
|
+
"tvseries",
|
|
7
|
+
"movies"
|
|
8
|
+
],
|
|
9
|
+
"labels": {
|
|
10
|
+
"default": "Default",
|
|
11
|
+
"classics": "Classics",
|
|
12
|
+
"oldmachines": "Old Machines",
|
|
13
|
+
"tvseries": "TV Series",
|
|
14
|
+
"movies": "Movies"
|
|
15
|
+
},
|
|
16
|
+
"packs": {
|
|
17
|
+
"default": [
|
|
18
|
+
"aurora",
|
|
19
|
+
"eclipse",
|
|
20
|
+
"midnight",
|
|
21
|
+
"fjord",
|
|
22
|
+
"cosmos",
|
|
23
|
+
"ink",
|
|
24
|
+
"storm",
|
|
25
|
+
"carbon",
|
|
26
|
+
"synthwave",
|
|
27
|
+
"obsidian",
|
|
28
|
+
"graphite",
|
|
29
|
+
"ember",
|
|
30
|
+
"moss",
|
|
31
|
+
"velvet",
|
|
32
|
+
"porcelain",
|
|
33
|
+
"paper",
|
|
34
|
+
"linen",
|
|
35
|
+
"sepia",
|
|
36
|
+
"glacier",
|
|
37
|
+
"mint",
|
|
38
|
+
"latte",
|
|
39
|
+
"dune",
|
|
40
|
+
"coastal",
|
|
41
|
+
"harvest",
|
|
42
|
+
"meadow",
|
|
43
|
+
"orchid",
|
|
44
|
+
"peony",
|
|
45
|
+
"slate",
|
|
46
|
+
"berry",
|
|
47
|
+
"citrus",
|
|
48
|
+
"ibm-modern"
|
|
49
|
+
],
|
|
50
|
+
"classics": [
|
|
51
|
+
"reveal-black",
|
|
52
|
+
"reveal-white",
|
|
53
|
+
"reveal-league",
|
|
54
|
+
"reveal-beige",
|
|
55
|
+
"reveal-sky",
|
|
56
|
+
"reveal-night",
|
|
57
|
+
"reveal-serif",
|
|
58
|
+
"reveal-simple",
|
|
59
|
+
"reveal-solarized",
|
|
60
|
+
"reveal-moon",
|
|
61
|
+
"reveal-blood",
|
|
62
|
+
"reveal-dracula",
|
|
63
|
+
"metropolis",
|
|
64
|
+
"seriph"
|
|
65
|
+
],
|
|
66
|
+
"oldmachines": [
|
|
67
|
+
"apple2",
|
|
68
|
+
"c64",
|
|
69
|
+
"gameboy",
|
|
70
|
+
"snes",
|
|
71
|
+
"genesis",
|
|
72
|
+
"ibm-oldschool"
|
|
73
|
+
],
|
|
74
|
+
"tvseries": [
|
|
75
|
+
"miami-vice",
|
|
76
|
+
"friends",
|
|
77
|
+
"severance",
|
|
78
|
+
"stranger-things"
|
|
79
|
+
],
|
|
80
|
+
"movies": [
|
|
81
|
+
"aliens",
|
|
82
|
+
"blade-runner",
|
|
83
|
+
"star-wars",
|
|
84
|
+
"terminator",
|
|
85
|
+
"godfather",
|
|
86
|
+
"pulp-fiction"
|
|
87
|
+
]
|
|
88
|
+
}
|
|
89
|
+
}
|
package/themes/paper.css
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
@import url('https://fonts.googleapis.com/css2?family=Courier+Prime:wght@400;700&display=swap');
|
|
2
|
+
|
|
3
|
+
/* ═══════════════════════════════════════════════════════════════
|
|
4
|
+
Decklight theme · paper
|
|
5
|
+
light · Typewriter manuscript — cream stock, red pencil, light terminal
|
|
6
|
+
Token contract: SPEC.md §5 — all values validated by test/contrast.mjs
|
|
7
|
+
═══════════════════════════════════════════════════════════════ */
|
|
8
|
+
|
|
9
|
+
.decklight {
|
|
10
|
+
/* ── canvas ─────────────────────────────── */
|
|
11
|
+
--bg: #f5f1e6;
|
|
12
|
+
--bg-accent: #ede7d6;
|
|
13
|
+
--fg: #3a3733;
|
|
14
|
+
--muted: #6e6a62;
|
|
15
|
+
|
|
16
|
+
/* ── type ───────────────────────────────── */
|
|
17
|
+
--font-body: "Courier Prime", "SF Mono", SFMono-Regular, ui-monospace, "Cascadia Code", Menlo, Consolas, monospace;
|
|
18
|
+
--font-heading: "Courier Prime", "SF Mono", SFMono-Regular, ui-monospace, "Cascadia Code", Menlo, Consolas, monospace;
|
|
19
|
+
--font-mono: "Courier Prime", "SF Mono", SFMono-Regular, ui-monospace, "Cascadia Code", Menlo, Consolas, monospace;
|
|
20
|
+
--heading-color: #26231f;
|
|
21
|
+
--heading-weight: 700;
|
|
22
|
+
--link: #a03d2e;
|
|
23
|
+
|
|
24
|
+
/* ── accent ─────────────────────────────── */
|
|
25
|
+
--accent: #bd4433;
|
|
26
|
+
--accent-contrast: #fff8f5;
|
|
27
|
+
|
|
28
|
+
/* ── blocks ─────────────────────────────── */
|
|
29
|
+
--block-bg: #fbf8f0;
|
|
30
|
+
--block-border: 1px dashed #c9c2b2;
|
|
31
|
+
--block-radius: 2px;
|
|
32
|
+
--shadow: none;
|
|
33
|
+
|
|
34
|
+
/* ── code ───────────────────────────────── */
|
|
35
|
+
--code-bg: #ede7d6;
|
|
36
|
+
--code-fg: #38352f;
|
|
37
|
+
--hl-keyword: #a03d2e;
|
|
38
|
+
--hl-string: #33691e;
|
|
39
|
+
--hl-number: #825008;
|
|
40
|
+
--hl-comment: #6d6a5e;
|
|
41
|
+
--hl-function: #1d558a;
|
|
42
|
+
--hl-type: #6541b0;
|
|
43
|
+
--hl-punct: #55524a;
|
|
44
|
+
|
|
45
|
+
/* ── diagram ────────────────────────────── */
|
|
46
|
+
--d-stroke: #5f5b51;
|
|
47
|
+
--d-text: #3a3733;
|
|
48
|
+
--d-muted: #767268;
|
|
49
|
+
--d-accent: #c94f3d;
|
|
50
|
+
--d-fill-1: #efe8d3;
|
|
51
|
+
--d-fill-2: #e8e4d8;
|
|
52
|
+
--d-fill-3: #f2ead6;
|
|
53
|
+
--d-fill-4: #e5e0d0;
|
|
54
|
+
--d-fill-5: #ede4c9;
|
|
55
|
+
--d-fill-6: #e9e6dc;
|
|
56
|
+
|
|
57
|
+
/* ── terminal ───────────────────────────── */
|
|
58
|
+
--term-bg: #ede7d6;
|
|
59
|
+
--term-fg: #3a3733;
|
|
60
|
+
--term-prompt: #a03d2e;
|
|
61
|
+
--term-cursor: #3a3733;
|
|
62
|
+
--term-selection: rgba(160, 61, 46, 0.18);
|
|
63
|
+
--term-chrome: none;
|
|
64
|
+
--ansi-black: #3a3733;
|
|
65
|
+
--ansi-red: #9c3428;
|
|
66
|
+
--ansi-green: #33691e;
|
|
67
|
+
--ansi-yellow: #7d4b00;
|
|
68
|
+
--ansi-blue: #1d558a;
|
|
69
|
+
--ansi-magenta: #7a3f92;
|
|
70
|
+
--ansi-cyan: #0d6b70;
|
|
71
|
+
--ansi-white: #6e6a60;
|
|
72
|
+
--ansi-bright-black: #55524a;
|
|
73
|
+
--ansi-bright-red: #7d2a20;
|
|
74
|
+
--ansi-bright-green: #28541a;
|
|
75
|
+
--ansi-bright-yellow: #6b4000;
|
|
76
|
+
--ansi-bright-blue: #17456f;
|
|
77
|
+
--ansi-bright-magenta: #623276;
|
|
78
|
+
--ansi-bright-cyan: #0a565a;
|
|
79
|
+
--ansi-bright-white: #837e70;
|
|
80
|
+
|
|
81
|
+
/* ── builds ─────────────────────────────── */
|
|
82
|
+
--dim-opacity: 0.4;
|
|
83
|
+
}
|
package/themes/peony.css
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,700;1,700&display=swap');
|
|
2
|
+
|
|
3
|
+
/* ═══════════════════════════════════════════════════════════════
|
|
4
|
+
Decklight theme · peony
|
|
5
|
+
light · Editorial blush — pine-green ink, peony pink, italic serif
|
|
6
|
+
Token contract: SPEC.md §5 — all values validated by test/contrast.mjs
|
|
7
|
+
═══════════════════════════════════════════════════════════════ */
|
|
8
|
+
|
|
9
|
+
.decklight {
|
|
10
|
+
/* ── canvas ─────────────────────────────── */
|
|
11
|
+
--bg: #fdf6f7;
|
|
12
|
+
--bg-accent: #f8e8ec;
|
|
13
|
+
--fg: #1e3a34;
|
|
14
|
+
--muted: #537067;
|
|
15
|
+
|
|
16
|
+
/* ── type ───────────────────────────────── */
|
|
17
|
+
--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
|
|
18
|
+
--font-heading: "Playfair Display", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
|
|
19
|
+
--font-mono: "SF Mono", SFMono-Regular, ui-monospace, "Cascadia Code", Menlo, Consolas, monospace;
|
|
20
|
+
--heading-color: #16302b;
|
|
21
|
+
--heading-weight: 700;
|
|
22
|
+
--link: #b3325f;
|
|
23
|
+
|
|
24
|
+
/* ── accent ─────────────────────────────── */
|
|
25
|
+
--accent: #c23360;
|
|
26
|
+
--accent-contrast: #fff2f6;
|
|
27
|
+
|
|
28
|
+
/* ── blocks ─────────────────────────────── */
|
|
29
|
+
--block-bg: #fafafa;
|
|
30
|
+
--block-border: 1px solid #f0d8de;
|
|
31
|
+
--block-radius: 10px;
|
|
32
|
+
--shadow: 0 5px 20px rgba(180, 80, 110, 0.08);
|
|
33
|
+
|
|
34
|
+
/* ── code ───────────────────────────────── */
|
|
35
|
+
--code-bg: #f5e6e9;
|
|
36
|
+
--code-fg: #243d37;
|
|
37
|
+
--hl-keyword: #b3325f;
|
|
38
|
+
--hl-string: #276b46;
|
|
39
|
+
--hl-number: #8a4a10;
|
|
40
|
+
--hl-comment: #5f7068;
|
|
41
|
+
--hl-function: #1e5aa8;
|
|
42
|
+
--hl-type: #7038d8;
|
|
43
|
+
--hl-punct: #40544d;
|
|
44
|
+
|
|
45
|
+
/* ── diagram ────────────────────────────── */
|
|
46
|
+
--d-stroke: #5d7d72;
|
|
47
|
+
--d-text: #1e3a34;
|
|
48
|
+
--d-muted: #68847a;
|
|
49
|
+
--d-accent: #d64571;
|
|
50
|
+
--d-fill-1: #fadce4;
|
|
51
|
+
--d-fill-2: #dcefe6;
|
|
52
|
+
--d-fill-3: #f8e5d5;
|
|
53
|
+
--d-fill-4: #e2ecf5;
|
|
54
|
+
--d-fill-5: #f5dceb;
|
|
55
|
+
--d-fill-6: #e8f2dc;
|
|
56
|
+
|
|
57
|
+
/* ── terminal ───────────────────────────── */
|
|
58
|
+
--term-bg: #1c2f2a;
|
|
59
|
+
--term-fg: #dfe9e5;
|
|
60
|
+
--term-prompt: #ff9ab8;
|
|
61
|
+
--term-cursor: #ff9ab8;
|
|
62
|
+
--term-selection: rgba(255, 154, 184, 0.26);
|
|
63
|
+
--ansi-black: #84988f;
|
|
64
|
+
--ansi-red: #f58a9c;
|
|
65
|
+
--ansi-green: #8fd0a5;
|
|
66
|
+
--ansi-yellow: #e2c478;
|
|
67
|
+
--ansi-blue: #8ab2e2;
|
|
68
|
+
--ansi-magenta: #d59fc8;
|
|
69
|
+
--ansi-cyan: #85cfc2;
|
|
70
|
+
--ansi-white: #e2eae6;
|
|
71
|
+
--ansi-bright-black: #9cada4;
|
|
72
|
+
--ansi-bright-red: #f8abb8;
|
|
73
|
+
--ansi-bright-green: #aee2c0;
|
|
74
|
+
--ansi-bright-yellow: #eed69e;
|
|
75
|
+
--ansi-bright-blue: #aac9ec;
|
|
76
|
+
--ansi-bright-magenta: #e5bad8;
|
|
77
|
+
--ansi-bright-cyan: #a6e0d6;
|
|
78
|
+
--ansi-bright-white: #f8fcfa;
|
|
79
|
+
|
|
80
|
+
/* ── builds ─────────────────────────────── */
|
|
81
|
+
--dim-opacity: 0.35;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.decklight h1, .decklight h2 { font-style: italic; }
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;9..144,700&display=swap');
|
|
2
|
+
|
|
3
|
+
/* ═══════════════════════════════════════════════════════════════
|
|
4
|
+
Decklight theme · porcelain
|
|
5
|
+
light · Warm gallery white, ink-blue serif type, hairline restraint
|
|
6
|
+
Token contract: SPEC.md §5 — all values validated by test/contrast.mjs
|
|
7
|
+
═══════════════════════════════════════════════════════════════ */
|
|
8
|
+
|
|
9
|
+
.decklight {
|
|
10
|
+
/* ── canvas ─────────────────────────────── */
|
|
11
|
+
--bg: #faf7f2;
|
|
12
|
+
--bg-accent: #f1ece2;
|
|
13
|
+
--fg: #28313e;
|
|
14
|
+
--muted: #68707c;
|
|
15
|
+
|
|
16
|
+
/* ── type ───────────────────────────────── */
|
|
17
|
+
--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
|
|
18
|
+
--font-heading: Fraunces, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
|
|
19
|
+
--font-mono: "SF Mono", SFMono-Regular, ui-monospace, "Cascadia Code", Menlo, Consolas, monospace;
|
|
20
|
+
--heading-color: #1d3557;
|
|
21
|
+
--heading-weight: 600;
|
|
22
|
+
--link: #20558a;
|
|
23
|
+
|
|
24
|
+
/* ── accent ─────────────────────────────── */
|
|
25
|
+
--accent: #1d3557;
|
|
26
|
+
--accent-contrast: #f5f9ff;
|
|
27
|
+
|
|
28
|
+
/* ── blocks ─────────────────────────────── */
|
|
29
|
+
--block-bg: #fafafa;
|
|
30
|
+
--block-border: 1px solid #e3dccf;
|
|
31
|
+
--block-radius: 10px;
|
|
32
|
+
--shadow: 0 4px 18px rgba(60, 50, 30, 0.08);
|
|
33
|
+
|
|
34
|
+
/* ── code ───────────────────────────────── */
|
|
35
|
+
--code-bg: #f1ece2;
|
|
36
|
+
--code-fg: #2b3440;
|
|
37
|
+
--hl-keyword: #8a3ba8;
|
|
38
|
+
--hl-string: #276b46;
|
|
39
|
+
--hl-number: #a04d10;
|
|
40
|
+
--hl-comment: #6d7480;
|
|
41
|
+
--hl-function: #1f5aa8;
|
|
42
|
+
--hl-type: #0f6e73;
|
|
43
|
+
--hl-punct: #4c545f;
|
|
44
|
+
|
|
45
|
+
/* ── diagram ────────────────────────────── */
|
|
46
|
+
--d-stroke: #5b6779;
|
|
47
|
+
--d-text: #28313e;
|
|
48
|
+
--d-muted: #727a86;
|
|
49
|
+
--d-accent: #1d3557;
|
|
50
|
+
--d-fill-1: #e8eef6;
|
|
51
|
+
--d-fill-2: #e4efe6;
|
|
52
|
+
--d-fill-3: #f4ead8;
|
|
53
|
+
--d-fill-4: #ece5f2;
|
|
54
|
+
--d-fill-5: #e0eef0;
|
|
55
|
+
--d-fill-6: #f2e6e0;
|
|
56
|
+
|
|
57
|
+
/* ── terminal ───────────────────────────── */
|
|
58
|
+
--term-bg: #20262e;
|
|
59
|
+
--term-fg: #e5e9ee;
|
|
60
|
+
--term-prompt: #8fd0a8;
|
|
61
|
+
--term-cursor: #e5e9ee;
|
|
62
|
+
--term-selection: rgba(143, 208, 168, 0.28);
|
|
63
|
+
--ansi-black: #8994a3;
|
|
64
|
+
--ansi-red: #f28b93;
|
|
65
|
+
--ansi-green: #95d5a2;
|
|
66
|
+
--ansi-yellow: #e8c982;
|
|
67
|
+
--ansi-blue: #8db8e8;
|
|
68
|
+
--ansi-magenta: #c8a5dd;
|
|
69
|
+
--ansi-cyan: #8ad2ca;
|
|
70
|
+
--ansi-white: #e6eaef;
|
|
71
|
+
--ansi-bright-black: #a0aab8;
|
|
72
|
+
--ansi-bright-red: #f8adb3;
|
|
73
|
+
--ansi-bright-green: #b3e5bd;
|
|
74
|
+
--ansi-bright-yellow: #f2daa5;
|
|
75
|
+
--ansi-bright-blue: #aeccf0;
|
|
76
|
+
--ansi-bright-magenta: #dabfe8;
|
|
77
|
+
--ansi-bright-cyan: #a9e2dc;
|
|
78
|
+
--ansi-bright-white: #fafafa;
|
|
79
|
+
|
|
80
|
+
/* ── builds ─────────────────────────────── */
|
|
81
|
+
--dim-opacity: 0.35;
|
|
82
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/* ═══════════════════════════════════════════════════════════════
|
|
2
|
+
Decklight theme · pulp-fiction
|
|
3
|
+
dark · dime-novel black, poster yellow, royale red
|
|
4
|
+
Inspired by Pulp Fiction — the paperback cover — 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: #171310;
|
|
12
|
+
--bg-accent: none;
|
|
13
|
+
--fg: #efe5d0;
|
|
14
|
+
--muted: #a39784;
|
|
15
|
+
|
|
16
|
+
/* ── type ───────────────────────────────── */
|
|
17
|
+
--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
|
|
18
|
+
--font-heading: Rockwell, "Rockwell Nova", "Roboto Slab", "DejaVu Serif", serif;
|
|
19
|
+
--font-mono: "SF Mono", SFMono-Regular, ui-monospace, "Cascadia Code", Menlo, Consolas, monospace;
|
|
20
|
+
--heading-color: #e8b93b;
|
|
21
|
+
--heading-weight: 800;
|
|
22
|
+
--link: #ef9a3f;
|
|
23
|
+
|
|
24
|
+
/* ── accent ─────────────────────────────── */
|
|
25
|
+
--accent: #c03a2b;
|
|
26
|
+
--accent-contrast: #fbfbfa;
|
|
27
|
+
|
|
28
|
+
/* ── blocks ─────────────────────────────── */
|
|
29
|
+
--block-bg: #241d17;
|
|
30
|
+
--block-border: 1px solid #38312c;
|
|
31
|
+
--block-radius: 6px;
|
|
32
|
+
--shadow: 0 8px 26px rgba(0, 0, 0, 0.5);
|
|
33
|
+
|
|
34
|
+
/* ── code ───────────────────────────────── */
|
|
35
|
+
--code-bg: #1e1914;
|
|
36
|
+
--code-fg: #ece2ce;
|
|
37
|
+
--hl-keyword: #ecc664;
|
|
38
|
+
--hl-string: #bacc8c;
|
|
39
|
+
--hl-number: #ee9a71;
|
|
40
|
+
--hl-comment: #7d7364;
|
|
41
|
+
--hl-function: #97b8d1;
|
|
42
|
+
--hl-type: #d8c090;
|
|
43
|
+
--hl-punct: #b0a894;
|
|
44
|
+
|
|
45
|
+
/* ── diagram ────────────────────────────── */
|
|
46
|
+
--d-stroke: #a39784;
|
|
47
|
+
--d-text: #efe5d0;
|
|
48
|
+
--d-muted: #a39784;
|
|
49
|
+
--d-accent: #c83d2d;
|
|
50
|
+
--d-fill-1: #28251d;
|
|
51
|
+
--d-fill-2: #31211f;
|
|
52
|
+
--d-fill-3: #3a2c20;
|
|
53
|
+
--d-fill-4: #28281d;
|
|
54
|
+
--d-fill-5: #1f2831;
|
|
55
|
+
--d-fill-6: #3a2025;
|
|
56
|
+
|
|
57
|
+
/* ── terminal ───────────────────────────── */
|
|
58
|
+
--term-bg: #120f0c;
|
|
59
|
+
--term-fg: #e6e6e2;
|
|
60
|
+
--term-prompt: #c03a2b;
|
|
61
|
+
--term-cursor: #c03a2b;
|
|
62
|
+
--term-selection: rgba(192, 58, 43, 0.28);
|
|
63
|
+
--ansi-black: #9f8b89;
|
|
64
|
+
--ansi-red: #cc7470;
|
|
65
|
+
--ansi-green: #71cc70;
|
|
66
|
+
--ansi-yellow: #ccb170;
|
|
67
|
+
--ansi-blue: #709fcc;
|
|
68
|
+
--ansi-magenta: #b570cc;
|
|
69
|
+
--ansi-cyan: #70ccbc;
|
|
70
|
+
--ansi-white: #e3dede;
|
|
71
|
+
--ansi-bright-black: #b4a8a7;
|
|
72
|
+
--ansi-bright-red: #e29b98;
|
|
73
|
+
--ansi-bright-green: #98e298;
|
|
74
|
+
--ansi-bright-yellow: #e2cc98;
|
|
75
|
+
--ansi-bright-blue: #98bde2;
|
|
76
|
+
--ansi-bright-magenta: #cf98e2;
|
|
77
|
+
--ansi-bright-cyan: #98e2d5;
|
|
78
|
+
--ansi-bright-white: #f3f2f2;
|
|
79
|
+
|
|
80
|
+
/* ── builds ─────────────────────────────── */
|
|
81
|
+
--dim-opacity: 0.27;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.decklight h1, .decklight h2 { text-transform: uppercase; letter-spacing: 0.02em; }
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;500&display=swap');
|
|
2
|
+
|
|
3
|
+
/* ═══════════════════════════════════════════════════════════════
|
|
4
|
+
Decklight theme · reveal-beige
|
|
5
|
+
light · parchment wash, warm browns, condensed display type
|
|
6
|
+
Inspired by Reveal.js 'beige' — palette kept canonical where possible,
|
|
7
|
+
every gated pair fitted to the WCAG contract.
|
|
8
|
+
rule-exception: R2 the canonical white→beige parchment wash
|
|
9
|
+
Token contract: SPEC.md §5 — validated by test/contrast.mjs
|
|
10
|
+
═══════════════════════════════════════════════════════════════ */
|
|
11
|
+
|
|
12
|
+
.decklight {
|
|
13
|
+
/* ── canvas ─────────────────────────────── */
|
|
14
|
+
--bg: linear-gradient(180deg, #fdfdf8 0%, #f7f2d3 100%);
|
|
15
|
+
--bg-accent: none;
|
|
16
|
+
--fg: #333333;
|
|
17
|
+
--muted: #7c7461;
|
|
18
|
+
|
|
19
|
+
/* ── type ───────────────────────────────── */
|
|
20
|
+
--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
|
|
21
|
+
--font-heading: "League Gothic", Oswald, "Arial Narrow", "Avenir Next Condensed", sans-serif;
|
|
22
|
+
--font-mono: "SF Mono", SFMono-Regular, ui-monospace, "Cascadia Code", Menlo, Consolas, monospace;
|
|
23
|
+
--heading-color: #333333;
|
|
24
|
+
--heading-weight: 500;
|
|
25
|
+
--link: #8b743d;
|
|
26
|
+
|
|
27
|
+
/* ── accent ─────────────────────────────── */
|
|
28
|
+
--accent: #846e3a;
|
|
29
|
+
--accent-contrast: #fbfbfa;
|
|
30
|
+
|
|
31
|
+
/* ── blocks ─────────────────────────────── */
|
|
32
|
+
--block-bg: #f4f4ed;
|
|
33
|
+
--block-border: 1px solid #dcdcd1;
|
|
34
|
+
--block-radius: 4px;
|
|
35
|
+
--shadow: 0 5px 18px rgba(30, 30, 40, 0.12);
|
|
36
|
+
|
|
37
|
+
/* ── code ───────────────────────────────── */
|
|
38
|
+
--code-bg: #272822;
|
|
39
|
+
--code-fg: #f8f8f2;
|
|
40
|
+
--hl-keyword: #fa4e8c;
|
|
41
|
+
--hl-string: #e6db74;
|
|
42
|
+
--hl-number: #ae81ff;
|
|
43
|
+
--hl-comment: #787460;
|
|
44
|
+
--hl-function: #a6e22e;
|
|
45
|
+
--hl-type: #66d9ef;
|
|
46
|
+
--hl-punct: #f8f8f2;
|
|
47
|
+
|
|
48
|
+
/* ── diagram ────────────────────────────── */
|
|
49
|
+
--d-stroke: #7c7461;
|
|
50
|
+
--d-text: #333333;
|
|
51
|
+
--d-muted: #7c7461;
|
|
52
|
+
--d-accent: #846e3a;
|
|
53
|
+
--d-fill-1: #f0f0e7;
|
|
54
|
+
--d-fill-2: #e6eddf;
|
|
55
|
+
--d-fill-3: #ded7eb;
|
|
56
|
+
--d-fill-4: #e7f0eb;
|
|
57
|
+
--d-fill-5: #eddfe8;
|
|
58
|
+
--d-fill-6: #ebe1d7;
|
|
59
|
+
|
|
60
|
+
/* ── terminal ───────────────────────────── */
|
|
61
|
+
--term-bg: #2b2b1d;
|
|
62
|
+
--term-fg: #eceae6;
|
|
63
|
+
--term-prompt: #8f773f;
|
|
64
|
+
--term-cursor: #8f773f;
|
|
65
|
+
--term-selection: rgba(132, 110, 58, 0.28);
|
|
66
|
+
--ansi-black: #9f9889;
|
|
67
|
+
--ansi-red: #c38179;
|
|
68
|
+
--ansi-green: #79c37d;
|
|
69
|
+
--ansi-yellow: #c3b279;
|
|
70
|
+
--ansi-blue: #799ac3;
|
|
71
|
+
--ansi-magenta: #b579c3;
|
|
72
|
+
--ansi-cyan: #79c3bb;
|
|
73
|
+
--ansi-white: #e3e1de;
|
|
74
|
+
--ansi-bright-black: #b4b0a7;
|
|
75
|
+
--ansi-bright-red: #dba59e;
|
|
76
|
+
--ansi-bright-green: #9edba2;
|
|
77
|
+
--ansi-bright-yellow: #dbcd9e;
|
|
78
|
+
--ansi-bright-blue: #9eb9db;
|
|
79
|
+
--ansi-bright-magenta: #cf9edb;
|
|
80
|
+
--ansi-bright-cyan: #9edbd4;
|
|
81
|
+
--ansi-bright-white: #f3f3f2;
|
|
82
|
+
|
|
83
|
+
/* ── builds ─────────────────────────────── */
|
|
84
|
+
--dim-opacity: 0.3;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.decklight h1, .decklight h2 { text-transform: uppercase; letter-spacing: 0.02em; }
|