executable-stories-formatters 0.15.0 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/dist/cli.js +238 -64
  2. package/dist/cli.js.map +1 -1
  3. package/dist/index.cjs +197 -55
  4. package/dist/index.cjs.map +1 -1
  5. package/dist/index.d.cts +11 -1
  6. package/dist/index.d.ts +11 -1
  7. package/dist/index.js +197 -55
  8. package/dist/index.js.map +1 -1
  9. package/package.json +3 -2
  10. package/schemas/README.md +1 -1
  11. package/templates/astro-starlight/astro.config.mjs +57 -0
  12. package/templates/astro-starlight/gitignore +14 -0
  13. package/templates/astro-starlight/package.json +20 -0
  14. package/templates/astro-starlight/public/stories/assets/.gitkeep +0 -0
  15. package/templates/astro-starlight/public/stories/notes-index.json +4 -0
  16. package/templates/astro-starlight/public/stories/story-report.json +17 -0
  17. package/templates/astro-starlight/src/components/ApiOperations.astro +366 -0
  18. package/templates/astro-starlight/src/components/Checklist.astro +15 -0
  19. package/templates/astro-starlight/src/components/HealthDashboard.astro +171 -0
  20. package/templates/astro-starlight/src/components/PageTitle.astro +53 -0
  21. package/templates/astro-starlight/src/components/VerifiedBy.astro +281 -0
  22. package/templates/astro-starlight/src/components/VerifiedStep.astro +91 -0
  23. package/templates/astro-starlight/src/content/docs/examples/example-adr.mdx +45 -0
  24. package/templates/astro-starlight/src/content/docs/guides/behavior-portal.mdx +41 -0
  25. package/templates/astro-starlight/src/content/docs/guides/writing-docs.mdx +49 -0
  26. package/templates/astro-starlight/src/content/docs/index.mdx +49 -0
  27. package/templates/astro-starlight/src/content/docs/stories/.gitkeep +0 -0
  28. package/templates/astro-starlight/src/content.config.ts +18 -0
  29. package/templates/astro-starlight/src/lib/config.ts +50 -0
  30. package/templates/astro-starlight/src/lib/render-doc-entry.ts +154 -0
  31. package/templates/astro-starlight/src/lib/report-health.ts +61 -0
  32. package/templates/astro-starlight/src/lib/verification.ts +247 -0
  33. package/templates/astro-starlight/src/pages/explorer/explorer.css +729 -0
  34. package/templates/astro-starlight/src/pages/explorer/index.astro +404 -0
  35. package/templates/astro-starlight/src/styles/global.css +293 -0
  36. package/templates/astro-starlight/src/styles/themes/corporate.css +83 -0
  37. package/templates/astro-starlight/src/styles/themes/dashboard.css +76 -0
  38. package/templates/astro-starlight/src/styles/themes/default.css +86 -0
  39. package/templates/astro-starlight/src/styles/themes/minimal.css +87 -0
  40. package/templates/astro-starlight/src/styles/themes/playful.css +77 -0
  41. package/templates/astro-starlight/src/styles/themes/terminal.css +77 -0
  42. package/templates/astro-starlight/tsconfig.json +13 -0
@@ -0,0 +1,83 @@
1
+ @import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Mono:wght@400;500&family=Playfair+Display:wght@500;600;700&display=swap');
2
+
3
+ /* Light mode */
4
+ :root {
5
+ --sl-font: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
6
+ --sl-font-mono: "DM Mono", ui-monospace, "SFMono-Regular", "SF Mono", Menlo, monospace;
7
+
8
+ --sl-color-white: #1a202c;
9
+ --sl-color-gray-1: #1e293b;
10
+ --sl-color-gray-2: #334155;
11
+ --sl-color-gray-3: #64748b;
12
+ --sl-color-gray-4: #8a8578;
13
+ --sl-color-gray-5: #d6d0c4;
14
+ --sl-color-gray-6: #eee9e0;
15
+ --sl-color-gray-7: #f5f2ed;
16
+ --sl-color-black: #faf9f7;
17
+
18
+ --sl-color-accent-low: rgba(26, 54, 93, 0.12);
19
+ --sl-color-accent: #1a365d;
20
+ --sl-color-accent-high: #0f1f3a;
21
+
22
+ --sl-shadow-lg: 0 10px 25px -5px rgb(26 54 93 / 0.1), 0 8px 10px -6px rgb(26 54 93 / 0.06);
23
+
24
+ --mermaid-theme-primary: #1a365d;
25
+ --mermaid-theme-primary-text: #ffffff;
26
+ --mermaid-theme-line: #64748b;
27
+
28
+ color-scheme: light;
29
+ }
30
+
31
+ /* Dark mode */
32
+ [data-theme='dark'] {
33
+ --sl-color-white: #f1f5f9;
34
+ --sl-color-gray-1: #e2e8f0;
35
+ --sl-color-gray-2: #cbd5e1;
36
+ --sl-color-gray-3: #94a3b8;
37
+ --sl-color-gray-4: #64748b;
38
+ --sl-color-gray-5: #334155;
39
+ --sl-color-gray-6: #1e293b;
40
+ --sl-color-gray-7: #162033;
41
+ --sl-color-black: #111827;
42
+
43
+ --sl-color-accent-low: rgba(147, 197, 253, 0.15);
44
+ --sl-color-accent: #93c5fd;
45
+ --sl-color-accent-high: #dbeafe;
46
+
47
+ --sl-shadow-lg: 0 10px 25px -5px rgb(0 0 0 / 0.4), 0 8px 10px -6px rgb(0 0 0 / 0.3);
48
+
49
+ --mermaid-theme-primary: #93c5fd;
50
+ --mermaid-theme-primary-text: #0f172a;
51
+ --mermaid-theme-line: #94a3b8;
52
+
53
+ color-scheme: dark;
54
+ }
55
+
56
+ @media (prefers-color-scheme: dark) {
57
+ :root:not([data-theme='light']) {
58
+ --sl-color-white: #f1f5f9;
59
+ --sl-color-gray-1: #e2e8f0;
60
+ --sl-color-gray-2: #cbd5e1;
61
+ --sl-color-gray-3: #94a3b8;
62
+ --sl-color-gray-4: #64748b;
63
+ --sl-color-gray-5: #334155;
64
+ --sl-color-gray-6: #1e293b;
65
+ --sl-color-gray-7: #162033;
66
+ --sl-color-black: #111827;
67
+ --sl-color-accent-low: rgba(147, 197, 253, 0.15);
68
+ --sl-color-accent: #93c5fd;
69
+ --sl-color-accent-high: #dbeafe;
70
+ --sl-shadow-lg: 0 10px 25px -5px rgb(0 0 0 / 0.4), 0 8px 10px -6px rgb(0 0 0 / 0.3);
71
+ --mermaid-theme-primary: #93c5fd;
72
+ --mermaid-theme-primary-text: #0f172a;
73
+ --mermaid-theme-line: #94a3b8;
74
+ color-scheme: dark;
75
+ }
76
+ }
77
+
78
+ /* Editorial serif headings — matches HTML corporate theme */
79
+ .sl-markdown-content h1,
80
+ .sl-markdown-content h2 {
81
+ font-family: "Playfair Display", Georgia, "Times New Roman", serif;
82
+ font-weight: 600;
83
+ }
@@ -0,0 +1,76 @@
1
+ @import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap');
2
+
3
+ /* Light mode */
4
+ :root {
5
+ --sl-font: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
6
+ --sl-font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", "SF Mono", Menlo, monospace;
7
+
8
+ --sl-color-white: #1a1d24;
9
+ --sl-color-gray-1: #1f2937;
10
+ --sl-color-gray-2: #374151;
11
+ --sl-color-gray-3: #6b7280;
12
+ --sl-color-gray-4: #8a8f98;
13
+ --sl-color-gray-5: #d1d5db;
14
+ --sl-color-gray-6: #e8ebef;
15
+ --sl-color-gray-7: #f1f3f5;
16
+ --sl-color-black: #f8f9fb;
17
+
18
+ --sl-color-accent-low: rgba(37, 99, 235, 0.12);
19
+ --sl-color-accent: #2563eb;
20
+ --sl-color-accent-high: #1d4ed8;
21
+
22
+ --sl-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.06);
23
+
24
+ --mermaid-theme-primary: #2563eb;
25
+ --mermaid-theme-primary-text: #ffffff;
26
+ --mermaid-theme-line: #6b7280;
27
+
28
+ color-scheme: light;
29
+ }
30
+
31
+ /* Dark mode */
32
+ [data-theme='dark'] {
33
+ --sl-color-white: #e1e4ea;
34
+ --sl-color-gray-1: #c8ccd4;
35
+ --sl-color-gray-2: #8a8f98;
36
+ --sl-color-gray-3: #6b7280;
37
+ --sl-color-gray-4: #4b5563;
38
+ --sl-color-gray-5: #2a2d35;
39
+ --sl-color-gray-6: #1e2028;
40
+ --sl-color-gray-7: #1a1d24;
41
+ --sl-color-black: #111318;
42
+
43
+ --sl-color-accent-low: rgba(59, 130, 246, 0.18);
44
+ --sl-color-accent: #3b82f6;
45
+ --sl-color-accent-high: #93c5fd;
46
+
47
+ --sl-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.5), 0 4px 6px -4px rgb(0 0 0 / 0.4);
48
+
49
+ --mermaid-theme-primary: #3b82f6;
50
+ --mermaid-theme-primary-text: #111318;
51
+ --mermaid-theme-line: #6b7280;
52
+
53
+ color-scheme: dark;
54
+ }
55
+
56
+ @media (prefers-color-scheme: dark) {
57
+ :root:not([data-theme='light']) {
58
+ --sl-color-white: #e1e4ea;
59
+ --sl-color-gray-1: #c8ccd4;
60
+ --sl-color-gray-2: #8a8f98;
61
+ --sl-color-gray-3: #6b7280;
62
+ --sl-color-gray-4: #4b5563;
63
+ --sl-color-gray-5: #2a2d35;
64
+ --sl-color-gray-6: #1e2028;
65
+ --sl-color-gray-7: #1a1d24;
66
+ --sl-color-black: #111318;
67
+ --sl-color-accent-low: rgba(59, 130, 246, 0.18);
68
+ --sl-color-accent: #3b82f6;
69
+ --sl-color-accent-high: #93c5fd;
70
+ --sl-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.5), 0 4px 6px -4px rgb(0 0 0 / 0.4);
71
+ --mermaid-theme-primary: #3b82f6;
72
+ --mermaid-theme-primary-text: #111318;
73
+ --mermaid-theme-line: #6b7280;
74
+ color-scheme: dark;
75
+ }
76
+ }
@@ -0,0 +1,86 @@
1
+ @import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap');
2
+
3
+ /*
4
+ * Starlight variable semantics:
5
+ * --sl-color-black -> current-mode background (var(--sl-color-bg))
6
+ * --sl-color-white -> current-mode emphasized foreground (headings)
7
+ * --sl-color-gray-1 -> most foreground-contrasting gray (text)
8
+ * --sl-color-gray-7 -> most background-adjacent gray
9
+ * Values flip between modes so these names are semantic, not literal.
10
+ */
11
+
12
+ /* Light mode (default) */
13
+ :root {
14
+ --sl-font: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
15
+ --sl-font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", "SF Mono", Menlo, monospace;
16
+
17
+ --sl-color-white: hsl(0 0% 9%);
18
+ --sl-color-gray-1: hsl(0 0% 15%);
19
+ --sl-color-gray-2: hsl(0 0% 25%);
20
+ --sl-color-gray-3: hsl(0 0% 45%);
21
+ --sl-color-gray-4: hsl(0 0% 70%);
22
+ --sl-color-gray-5: hsl(0 0% 90%);
23
+ --sl-color-gray-6: hsl(0 0% 96.5%);
24
+ --sl-color-gray-7: hsl(0 0% 98.5%);
25
+ --sl-color-black: hsl(0 0% 100%);
26
+
27
+ --sl-color-accent-low: hsl(145 55% 92%);
28
+ --sl-color-accent: hsl(145 63% 42%);
29
+ --sl-color-accent-high: hsl(145 63% 30%);
30
+
31
+ --sl-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.08), 0 4px 6px -4px rgb(0 0 0 / 0.05);
32
+
33
+ --mermaid-theme-primary: hsl(145 63% 42%);
34
+ --mermaid-theme-primary-text: #ffffff;
35
+ --mermaid-theme-line: hsl(0 0% 45%);
36
+
37
+ color-scheme: light;
38
+ }
39
+
40
+ /* Dark mode (explicit) */
41
+ [data-theme='dark'] {
42
+ --sl-color-white: hsl(0 0% 100%);
43
+ --sl-color-gray-1: hsl(0 0% 92%);
44
+ --sl-color-gray-2: hsl(0 0% 85%);
45
+ --sl-color-gray-3: hsl(0 0% 55%);
46
+ --sl-color-gray-4: hsl(0 0% 45%);
47
+ --sl-color-gray-5: hsl(0 0% 22%);
48
+ --sl-color-gray-6: hsl(0 0% 16%);
49
+ --sl-color-gray-7: hsl(0 0% 13%);
50
+ --sl-color-black: hsl(0 0% 7%);
51
+
52
+ --sl-color-accent-low: hsl(145 35% 14%);
53
+ --sl-color-accent: hsl(145 63% 55%);
54
+ --sl-color-accent-high: hsl(145 63% 75%);
55
+
56
+ --sl-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.45), 0 4px 6px -4px rgb(0 0 0 / 0.35);
57
+
58
+ --mermaid-theme-primary: hsl(145 63% 55%);
59
+ --mermaid-theme-primary-text: hsl(0 0% 7%);
60
+ --mermaid-theme-line: hsl(0 0% 55%);
61
+
62
+ color-scheme: dark;
63
+ }
64
+
65
+ /* Dark mode (system preference, when user hasn't explicitly chosen light) */
66
+ @media (prefers-color-scheme: dark) {
67
+ :root:not([data-theme='light']) {
68
+ --sl-color-white: hsl(0 0% 100%);
69
+ --sl-color-gray-1: hsl(0 0% 92%);
70
+ --sl-color-gray-2: hsl(0 0% 85%);
71
+ --sl-color-gray-3: hsl(0 0% 55%);
72
+ --sl-color-gray-4: hsl(0 0% 45%);
73
+ --sl-color-gray-5: hsl(0 0% 22%);
74
+ --sl-color-gray-6: hsl(0 0% 16%);
75
+ --sl-color-gray-7: hsl(0 0% 13%);
76
+ --sl-color-black: hsl(0 0% 7%);
77
+ --sl-color-accent-low: hsl(145 35% 14%);
78
+ --sl-color-accent: hsl(145 63% 55%);
79
+ --sl-color-accent-high: hsl(145 63% 75%);
80
+ --sl-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.45), 0 4px 6px -4px rgb(0 0 0 / 0.35);
81
+ --mermaid-theme-primary: hsl(145 63% 55%);
82
+ --mermaid-theme-primary-text: hsl(0 0% 7%);
83
+ --mermaid-theme-line: hsl(0 0% 55%);
84
+ color-scheme: dark;
85
+ }
86
+ }
@@ -0,0 +1,87 @@
1
+ @import url('https://fonts.googleapis.com/css2?family=Noto+Serif+Display:wght@400;500;600;700&family=DM+Sans:wght@400;500;600;700&family=DM+Mono:wght@400;500&display=swap');
2
+
3
+ /* Light mode — warm neutral + teal */
4
+ :root {
5
+ --sl-font: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
6
+ --sl-font-mono: "DM Mono", ui-monospace, "SFMono-Regular", "SF Mono", Menlo, monospace;
7
+
8
+ --sl-color-white: #2d2d2d;
9
+ --sl-color-gray-1: #3a3836;
10
+ --sl-color-gray-2: #4a4642;
11
+ --sl-color-gray-3: #8a8680;
12
+ --sl-color-gray-4: #b0a898;
13
+ --sl-color-gray-5: #e8e4de;
14
+ --sl-color-gray-6: #f0ece6;
15
+ --sl-color-gray-7: #f5f3ef;
16
+ --sl-color-black: #fdfcfa;
17
+
18
+ --sl-color-accent-low: rgba(42, 157, 143, 0.12);
19
+ --sl-color-accent: #2a9d8f;
20
+ --sl-color-accent-high: #1f7a6e;
21
+
22
+ --sl-shadow-lg: none;
23
+
24
+ --mermaid-theme-primary: #2a9d8f;
25
+ --mermaid-theme-primary-text: #ffffff;
26
+ --mermaid-theme-line: #8a8680;
27
+
28
+ color-scheme: light;
29
+ }
30
+
31
+ /* Dark mode */
32
+ [data-theme='dark'] {
33
+ --sl-color-white: #e0ddd8;
34
+ --sl-color-gray-1: #c0bdb8;
35
+ --sl-color-gray-2: #8a8680;
36
+ --sl-color-gray-3: #6b6860;
37
+ --sl-color-gray-4: #4a4642;
38
+ --sl-color-gray-5: #3a3836;
39
+ --sl-color-gray-6: #2e2e2a;
40
+ --sl-color-gray-7: #222220;
41
+ --sl-color-black: #1a1a18;
42
+
43
+ --sl-color-accent-low: rgba(61, 188, 173, 0.15);
44
+ --sl-color-accent: #3dbcad;
45
+ --sl-color-accent-high: #7fd9cd;
46
+
47
+ --sl-shadow-lg: none;
48
+
49
+ --mermaid-theme-primary: #3dbcad;
50
+ --mermaid-theme-primary-text: #1a1a18;
51
+ --mermaid-theme-line: #8a8680;
52
+
53
+ color-scheme: dark;
54
+ }
55
+
56
+ @media (prefers-color-scheme: dark) {
57
+ :root:not([data-theme='light']) {
58
+ --sl-color-white: #e0ddd8;
59
+ --sl-color-gray-1: #c0bdb8;
60
+ --sl-color-gray-2: #8a8680;
61
+ --sl-color-gray-3: #6b6860;
62
+ --sl-color-gray-4: #4a4642;
63
+ --sl-color-gray-5: #3a3836;
64
+ --sl-color-gray-6: #2e2e2a;
65
+ --sl-color-gray-7: #222220;
66
+ --sl-color-black: #1a1a18;
67
+ --sl-color-accent-low: rgba(61, 188, 173, 0.15);
68
+ --sl-color-accent: #3dbcad;
69
+ --sl-color-accent-high: #7fd9cd;
70
+ --sl-shadow-lg: none;
71
+ --mermaid-theme-primary: #3dbcad;
72
+ --mermaid-theme-primary-text: #1a1a18;
73
+ --mermaid-theme-line: #8a8680;
74
+ color-scheme: dark;
75
+ }
76
+ }
77
+
78
+ .sl-markdown-content h1,
79
+ .sl-markdown-content h2 {
80
+ font-family: "Noto Serif Display", "DM Sans", serif;
81
+ font-weight: 600;
82
+ }
83
+
84
+ .sl-markdown-content h3,
85
+ .sl-markdown-content h4 {
86
+ font-family: "DM Sans", sans-serif;
87
+ }
@@ -0,0 +1,77 @@
1
+ @import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700;800&family=Source+Sans+3:wght@400;500;600&family=Source+Code+Pro:wght@400;500&display=swap');
2
+
3
+ /* Light mode — warm cream + coral */
4
+ :root {
5
+ --sl-font: "Source Sans 3", "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
6
+ --sl-font-mono: "Source Code Pro", ui-monospace, "SFMono-Regular", "SF Mono", Menlo, monospace;
7
+
8
+ --sl-color-white: #3d3229;
9
+ --sl-color-gray-1: #544639;
10
+ --sl-color-gray-2: #6b5b4e;
11
+ --sl-color-gray-3: #8a7a6a;
12
+ --sl-color-gray-4: #b0a090;
13
+ --sl-color-gray-5: #e6d5c3;
14
+ --sl-color-gray-6: #f5ebe0;
15
+ --sl-color-gray-7: #fdf0e6;
16
+ --sl-color-black: #fef7f0;
17
+
18
+ --sl-color-accent-low: rgba(224, 122, 95, 0.18);
19
+ --sl-color-accent: #e07a5f;
20
+ --sl-color-accent-high: #b05740;
21
+
22
+ --sl-shadow-lg: 0 10px 20px -4px rgb(61 50 41 / 0.1), 0 4px 8px -4px rgb(61 50 41 / 0.05);
23
+
24
+ --mermaid-theme-primary: #e07a5f;
25
+ --mermaid-theme-primary-text: #ffffff;
26
+ --mermaid-theme-line: #6b5b4e;
27
+
28
+ color-scheme: light;
29
+ --sl-border-radius: 1rem;
30
+ }
31
+
32
+ /* Dark mode */
33
+ [data-theme='dark'] {
34
+ --sl-color-white: #f0e6dc;
35
+ --sl-color-gray-1: #eae0d6;
36
+ --sl-color-gray-2: #d4c4b4;
37
+ --sl-color-gray-3: #a89585;
38
+ --sl-color-gray-4: #8a7a6a;
39
+ --sl-color-gray-5: #4a3d32;
40
+ --sl-color-gray-6: #332920;
41
+ --sl-color-gray-7: #2a2118;
42
+ --sl-color-black: #1e1814;
43
+
44
+ --sl-color-accent-low: rgba(232, 149, 125, 0.2);
45
+ --sl-color-accent: #e8957d;
46
+ --sl-color-accent-high: #f5b8a2;
47
+
48
+ --sl-shadow-lg: 0 10px 20px -4px rgb(0 0 0 / 0.4), 0 4px 8px -4px rgb(0 0 0 / 0.3);
49
+
50
+ --mermaid-theme-primary: #e8957d;
51
+ --mermaid-theme-primary-text: #1e1814;
52
+ --mermaid-theme-line: #a89585;
53
+
54
+ color-scheme: dark;
55
+ }
56
+
57
+ @media (prefers-color-scheme: dark) {
58
+ :root:not([data-theme='light']) {
59
+ --sl-color-white: #f0e6dc;
60
+ --sl-color-gray-1: #eae0d6;
61
+ --sl-color-gray-2: #d4c4b4;
62
+ --sl-color-gray-3: #a89585;
63
+ --sl-color-gray-4: #8a7a6a;
64
+ --sl-color-gray-5: #4a3d32;
65
+ --sl-color-gray-6: #332920;
66
+ --sl-color-gray-7: #2a2118;
67
+ --sl-color-black: #1e1814;
68
+ --sl-color-accent-low: rgba(232, 149, 125, 0.2);
69
+ --sl-color-accent: #e8957d;
70
+ --sl-color-accent-high: #f5b8a2;
71
+ --sl-shadow-lg: 0 10px 20px -4px rgb(0 0 0 / 0.4), 0 4px 8px -4px rgb(0 0 0 / 0.3);
72
+ --mermaid-theme-primary: #e8957d;
73
+ --mermaid-theme-primary-text: #1e1814;
74
+ --mermaid-theme-line: #a89585;
75
+ color-scheme: dark;
76
+ }
77
+ }
@@ -0,0 +1,77 @@
1
+ @import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&display=swap');
2
+
3
+ /* Light mode — paper white with green */
4
+ :root {
5
+ --sl-font: "JetBrains Mono", ui-monospace, "SFMono-Regular", "SF Mono", Menlo, monospace;
6
+ --sl-font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", "SF Mono", Menlo, monospace;
7
+
8
+ --sl-color-white: #1a1a1a;
9
+ --sl-color-gray-1: #2a2a25;
10
+ --sl-color-gray-2: #3a3a35;
11
+ --sl-color-gray-3: #666660;
12
+ --sl-color-gray-4: #8a8a80;
13
+ --sl-color-gray-5: #c8c8c0;
14
+ --sl-color-gray-6: #e0e0d8;
15
+ --sl-color-gray-7: #eaeae5;
16
+ --sl-color-black: #f5f5f0;
17
+
18
+ --sl-color-accent-low: rgba(0, 138, 69, 0.15);
19
+ --sl-color-accent: #008a45;
20
+ --sl-color-accent-high: #005f2f;
21
+
22
+ --sl-shadow-lg: none;
23
+
24
+ --mermaid-theme-primary: #008a45;
25
+ --mermaid-theme-primary-text: #f5f5f0;
26
+ --mermaid-theme-line: #666660;
27
+
28
+ color-scheme: light;
29
+ --sl-border-radius: 0;
30
+ }
31
+
32
+ /* Dark mode — classic green-on-black */
33
+ [data-theme='dark'] {
34
+ --sl-color-white: #d4d4d4;
35
+ --sl-color-gray-1: #c0c0c0;
36
+ --sl-color-gray-2: #a0a0a0;
37
+ --sl-color-gray-3: #6b6b6b;
38
+ --sl-color-gray-4: #555555;
39
+ --sl-color-gray-5: #2a2a2a;
40
+ --sl-color-gray-6: #1a1a1a;
41
+ --sl-color-gray-7: #111111;
42
+ --sl-color-black: #0a0a0a;
43
+
44
+ --sl-color-accent-low: rgba(0, 210, 106, 0.15);
45
+ --sl-color-accent: #00d26a;
46
+ --sl-color-accent-high: #5cffa1;
47
+
48
+ --sl-shadow-lg: none;
49
+
50
+ --mermaid-theme-primary: #00d26a;
51
+ --mermaid-theme-primary-text: #0a0a0a;
52
+ --mermaid-theme-line: #6b6b6b;
53
+
54
+ color-scheme: dark;
55
+ }
56
+
57
+ @media (prefers-color-scheme: dark) {
58
+ :root:not([data-theme='light']) {
59
+ --sl-color-white: #d4d4d4;
60
+ --sl-color-gray-1: #c0c0c0;
61
+ --sl-color-gray-2: #a0a0a0;
62
+ --sl-color-gray-3: #6b6b6b;
63
+ --sl-color-gray-4: #555555;
64
+ --sl-color-gray-5: #2a2a2a;
65
+ --sl-color-gray-6: #1a1a1a;
66
+ --sl-color-gray-7: #111111;
67
+ --sl-color-black: #0a0a0a;
68
+ --sl-color-accent-low: rgba(0, 210, 106, 0.15);
69
+ --sl-color-accent: #00d26a;
70
+ --sl-color-accent-high: #5cffa1;
71
+ --sl-shadow-lg: none;
72
+ --mermaid-theme-primary: #00d26a;
73
+ --mermaid-theme-primary-text: #0a0a0a;
74
+ --mermaid-theme-line: #6b6b6b;
75
+ color-scheme: dark;
76
+ }
77
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "extends": "astro/tsconfigs/strict",
3
+ "compilerOptions": {
4
+ "types": ["node"],
5
+ "rootDir": "./src",
6
+ "baseUrl": ".",
7
+ "paths": {
8
+ "@components/*": ["src/components/*"]
9
+ }
10
+ },
11
+ "include": [".astro/types.d.ts", "**/*"],
12
+ "exclude": ["dist"]
13
+ }