@liminis/editor 0.3.0 → 0.4.1

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 (36) hide show
  1. package/LICENSE +0 -13
  2. package/README.md +122 -75
  3. package/dist/app/editor/CorrectionPanelPlugin.js +10 -11
  4. package/dist/app/editor/DragHandlePlugin.js +1 -1
  5. package/dist/app/editor/SelectionContextMenuPlugin.js +4 -4
  6. package/dist/app/editor/nodes/C4Component.js +8 -10
  7. package/dist/app/editor/nodes/C4Node.d.ts +1 -1
  8. package/dist/app/editor/nodes/DiagramContextMenu.js +5 -5
  9. package/dist/headless.d.ts +3 -5
  10. package/dist/headless.js +2 -4
  11. package/dist/index.d.ts +1 -1
  12. package/dist/styles.css +425 -454
  13. package/docs/architecture.md +80 -0
  14. package/docs/decisions/adr-93-liminis-editor-defined-aliases.md +28 -1
  15. package/docs/decisions/adr-98-invert-token-direction.md +309 -0
  16. package/docs/diagrams/architecture-1-dark.svg +1 -0
  17. package/docs/diagrams/architecture-1.svg +1 -0
  18. package/docs/diagrams/architecture-2-dark.svg +1 -0
  19. package/docs/diagrams/architecture-2.svg +1 -0
  20. package/package.json +2 -2
  21. package/dist/app/editor/c4/C4InteractiveRenderer.d.ts +0 -35
  22. package/dist/app/editor/c4/C4InteractiveRenderer.js +0 -299
  23. package/dist/app/editor/c4/edge-clipping.d.ts +0 -24
  24. package/dist/app/editor/c4/edge-clipping.js +0 -139
  25. package/dist/app/editor/c4/hooks/useC4DiagramDrag.d.ts +0 -38
  26. package/dist/app/editor/c4/hooks/useC4DiagramDrag.js +0 -112
  27. package/dist/app/editor/c4/layout.d.ts +0 -25
  28. package/dist/app/editor/c4/layout.js +0 -839
  29. package/dist/app/editor/c4/parser.d.ts +0 -19
  30. package/dist/app/editor/c4/parser.js +0 -410
  31. package/dist/app/editor/c4/render-to-string.d.ts +0 -24
  32. package/dist/app/editor/c4/render-to-string.js +0 -34
  33. package/dist/app/editor/c4/renderer.d.ts +0 -64
  34. package/dist/app/editor/c4/renderer.js +0 -569
  35. package/dist/app/editor/c4/types.d.ts +0 -203
  36. package/dist/app/editor/c4/types.js +0 -43
package/dist/styles.css CHANGED
@@ -1,239 +1,207 @@
1
1
  /* Loop-inspired theme for editor with design tokens (OKLCH) */
2
+
3
+ /* ========================================
4
+ DEPRECATED SHIMS — legacy names (ADR-98)
5
+
6
+ ADR-98 (verveguy/liminis-editor#98) inverts ADR-93's direction: the real
7
+ values now live under --liminis-editor-* (below), and these legacy names
8
+ are read by nothing inside this package. These one-line shims exist only
9
+ so that a host *reading* a legacy name (e.g. --vscode-foreground) still
10
+ gets a real, current value, via ordinary cascade resolution of the
11
+ shim's own var() reference.
12
+
13
+ They do NOT preserve a host *setting* only a legacy name to theme the
14
+ package. This package's own consumption sites read
15
+ --liminis-editor-foreground directly — never --vscode-foreground — so a
16
+ host's override of --vscode-foreground changes what --vscode-foreground
17
+ itself computes to and nothing else; it never reaches the editor.
18
+ Verified in a running Electron app, not assumed — see
19
+ examples/electron/e2e/theming-aliases.spec.ts. A host that wants to theme
20
+ the package must set the --liminis-editor-* name directly; this is a
21
+ documented, intentional breaking change (see CHANGELOG's Unreleased /
22
+ Breaking changes), not a gap to work around.
23
+
24
+ Only the names a host might plausibly still set are kept: --vscode-*,
25
+ --checkbox-border and --editor-brand. --slashmd-* (upstream vocabulary;
26
+ verified zero hits across verveguy/zusammen and verveguy/liminis) is
27
+ deleted outright rather than shimmed — see ADR-98.
28
+
29
+ No .dark duplicate is needed: var(--liminis-editor-x) re-resolves against
30
+ whichever cascade value is active at the point of use, so a single
31
+ :root-scoped shim line tracks light/dark automatically.
32
+ ======================================== */
2
33
  :root {
3
- /* ========================================
4
- DESIGN TOKENS - Editor Light Theme
5
- ======================================== */
34
+ --vscode-font-family: var(--liminis-editor-font-family);
35
+ --vscode-font-size: var(--liminis-editor-font-size);
36
+ --vscode-foreground: var(--liminis-editor-foreground);
37
+ --vscode-background: var(--liminis-editor-background);
38
+ --vscode-selection: var(--liminis-editor-selection);
39
+ --vscode-border: var(--liminis-editor-border);
40
+ --vscode-link: var(--liminis-editor-link);
41
+ --vscode-external-link: var(--liminis-editor-external-link);
42
+ --vscode-code-bg: var(--liminis-editor-code-bg);
43
+ --checkbox-border: var(--liminis-editor-checkbox-border);
44
+ --editor-brand: var(--liminis-editor-primary);
45
+ --vscode-button-background: var(--liminis-editor-button-background);
46
+ --vscode-button-foreground: var(--liminis-editor-button-foreground);
47
+ --vscode-menu-background: var(--liminis-editor-menu-background);
48
+ --vscode-menu-border: var(--liminis-editor-menu-border);
49
+ --vscode-menu-foreground: var(--liminis-editor-menu-foreground);
50
+ --vscode-menu-selectionBackground: var(--liminis-editor-menu-selectionBackground);
51
+ --vscode-menu-separatorBackground: var(--liminis-editor-menu-separatorBackground);
52
+ --vscode-toolbar-hoverBackground: var(--liminis-editor-toolbar-hoverBackground);
53
+ --vscode-notificationsInfoIcon-foreground: var(--liminis-editor-notificationsInfoIcon-foreground);
54
+ --vscode-inputValidation-errorBackground: var(--liminis-editor-inputValidation-errorBackground);
55
+ --vscode-errorForeground: var(--liminis-editor-errorForeground);
56
+ --vscode-focus-border: var(--liminis-editor-focus-border);
57
+ --vscode-focusBorder: var(--liminis-editor-focusBorder);
58
+ --vscode-input-bg: var(--liminis-editor-input-bg);
59
+ --vscode-foreground-muted: var(--liminis-editor-foreground-muted);
60
+ }
6
61
 
7
- /* Brand Color - Purple theme (matches renderer) */
8
- --editor-brand: oklch(0.55 0.20 303);
62
+ /* ========================================
63
+ DESIGN TOKENS Editor Light Theme
64
+ --liminis-editor-* names carry the real values (ADR-98). Every
65
+ consumption site inside this package reads one of these directly.
66
+ ======================================== */
67
+ :root {
68
+ /* Brand color — also the source the --editor-brand shim above forwards to */
69
+ --liminis-editor-primary: oklch(0.55 0.20 303);
70
+ --liminis-editor-primary-100: oklch(0.55 0.20 303 / 0.1);
9
71
 
10
72
  /* Typography */
11
- --vscode-font-family: 'Inter Variable', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
12
- --vscode-font-size: 16px;
73
+ --liminis-editor-font-family: 'Inter Variable', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
74
+ --liminis-editor-font-size: 16px;
13
75
 
14
76
  /* Computed Colors (OKLCH) */
15
- --vscode-foreground: oklch(0.35 0.01 265);
16
- --vscode-background: oklch(1 0 0);
17
- --vscode-selection: oklch(0.55 0.20 303 / 0.2);
18
- --vscode-border: oklch(0.91 0.03 303);
19
- --vscode-link: oklch(0.55 0.20 303);
20
- --vscode-external-link: oklch(0.55 0.20 255); /* blue for external links */
21
- --vscode-code-bg: oklch(0.98 0.02 303);
22
- --checkbox-border: oklch(0.65 0.08 303);
77
+ --liminis-editor-foreground: oklch(0.35 0.01 265);
78
+ --liminis-editor-background: oklch(1 0 0);
79
+ --liminis-editor-selection: oklch(0.55 0.20 303 / 0.2);
80
+ --liminis-editor-border: oklch(0.91 0.03 303);
81
+ --liminis-editor-link: oklch(0.55 0.20 303);
82
+ --liminis-editor-external-link: oklch(0.55 0.20 255); /* blue for external links */
83
+ --liminis-editor-code-bg: oklch(0.98 0.02 303);
84
+ --liminis-editor-checkbox-border: oklch(0.65 0.08 303);
85
+ /* Built only from other --liminis-editor-* names (FR-001) — no legacy name ever backed these two independently. */
86
+ --liminis-editor-input-bg: var(--liminis-editor-code-bg);
87
+ --liminis-editor-foreground-muted: var(--liminis-editor-border);
23
88
 
24
89
  /* Syntax Highlighting - VitePress/Shiki inspired (OKLCH) */
25
- --slashmd-token-comment: oklch(0.70 0.03 135);
26
- --slashmd-token-punctuation: oklch(0.65 0 0);
27
- --slashmd-token-property: oklch(0.60 0.12 85);
28
- --slashmd-token-selector: oklch(0.52 0.14 145);
29
- --slashmd-token-operator: oklch(0.55 0.20 25);
30
- --slashmd-token-keyword: oklch(0.55 0.20 25);
31
- --slashmd-token-variable: oklch(0.60 0.18 50);
32
- --slashmd-token-function: oklch(0.50 0.18 303);
90
+ --liminis-editor-token-comment: oklch(0.70 0.03 135);
91
+ --liminis-editor-token-punctuation: oklch(0.65 0 0);
92
+ --liminis-editor-token-property: oklch(0.60 0.12 85);
93
+ --liminis-editor-token-selector: oklch(0.52 0.14 145);
94
+ --liminis-editor-token-operator: oklch(0.55 0.20 25);
95
+ --liminis-editor-token-keyword: oklch(0.55 0.20 25);
96
+ --liminis-editor-token-variable: oklch(0.60 0.18 50);
97
+ --liminis-editor-token-function: oklch(0.50 0.18 303);
33
98
 
34
99
  /* Typography - VitePress style (OKLCH) */
35
- --slashmd-heading-color: oklch(0.35 0.01 265);
36
- --slashmd-h1-color: oklch(0.35 0.01 265);
37
- --slashmd-h2-color: oklch(0.35 0.01 265);
38
- --slashmd-h3-color: oklch(0.35 0.01 265);
39
- --slashmd-h4-color: oklch(0.35 0.01 265);
40
- --slashmd-h5-color: oklch(0.35 0.01 265);
41
- --slashmd-h1-indent: 0;
42
- --slashmd-h2-indent: 0;
43
- --slashmd-h3-indent: 0;
44
- --slashmd-h4-indent: 0;
45
- --slashmd-h5-indent: 0;
46
- --slashmd-bold-color: inherit;
47
- --slashmd-italic-color: inherit;
100
+ --liminis-editor-h1-color: oklch(0.35 0.01 265);
101
+ --liminis-editor-h2-color: oklch(0.35 0.01 265);
102
+ --liminis-editor-h3-color: oklch(0.35 0.01 265);
103
+ --liminis-editor-h4-color: oklch(0.35 0.01 265);
104
+ --liminis-editor-h5-color: oklch(0.35 0.01 265);
105
+ --liminis-editor-h1-indent: 0;
106
+ --liminis-editor-h2-indent: 0;
107
+ --liminis-editor-h3-indent: 0;
108
+ --liminis-editor-h4-indent: 0;
109
+ --liminis-editor-h5-indent: 0;
110
+ --liminis-editor-bold-color: inherit;
111
+ --liminis-editor-italic-color: inherit;
48
112
 
49
113
  /* Callouts - Uses brand color for note type (OKLCH) */
50
- --slashmd-callout-note-bg: oklch(0.55 0.20 303 / 0.08);
51
- --slashmd-callout-note-border: oklch(0.55 0.20 303);
52
- --slashmd-callout-tip-bg: oklch(0.65 0.18 160 / 0.08);
53
- --slashmd-callout-tip-border: oklch(0.65 0.18 160);
54
- --slashmd-callout-warning-bg: oklch(0.80 0.18 85 / 0.08);
55
- --slashmd-callout-warning-border: oklch(0.80 0.18 85);
56
- --slashmd-callout-important-bg: oklch(0.58 0.22 290 / 0.08);
57
- --slashmd-callout-important-border: oklch(0.58 0.22 290);
58
- --slashmd-callout-caution-bg: oklch(0.63 0.24 27 / 0.08);
59
- --slashmd-callout-caution-border: oklch(0.63 0.24 27);
114
+ --liminis-editor-callout-note-bg: oklch(0.55 0.20 303 / 0.08);
115
+ --liminis-editor-callout-note-border: oklch(0.55 0.20 303);
116
+ --liminis-editor-callout-tip-bg: oklch(0.65 0.18 160 / 0.08);
117
+ --liminis-editor-callout-tip-border: oklch(0.65 0.18 160);
118
+ --liminis-editor-callout-warning-bg: oklch(0.80 0.18 85 / 0.08);
119
+ --liminis-editor-callout-warning-border: oklch(0.80 0.18 85);
120
+ --liminis-editor-callout-important-bg: oklch(0.58 0.22 290 / 0.08);
121
+ --liminis-editor-callout-important-border: oklch(0.58 0.22 290);
122
+ --liminis-editor-callout-caution-bg: oklch(0.63 0.24 27 / 0.08);
123
+ --liminis-editor-callout-caution-border: oklch(0.63 0.24 27);
124
+
125
+ /* Tokens with no legacy CSS custom-property backing anywhere — only an
126
+ inline literal fallback at their consumption site(s) before this
127
+ change. The literal below reproduces that existing light-mode fallback
128
+ so a host supplying nothing sees no change (FR-002). Where the same
129
+ token's literal differed by site (errorForeground, toolbar-hoverBackground),
130
+ the single canonical value ADR-93 chose is kept — see that ADR for the
131
+ two accepted visual deltas this causes at three sites. */
132
+ --liminis-editor-button-background: #007acc;
133
+ --liminis-editor-button-foreground: #ffffff;
134
+ --liminis-editor-menu-background: #ffffff;
135
+ --liminis-editor-menu-border: #d4d4d4;
136
+ --liminis-editor-menu-foreground: #333333;
137
+ --liminis-editor-menu-selectionBackground: #e8e8e8;
138
+ --liminis-editor-menu-separatorBackground: #d4d4d4;
139
+ --liminis-editor-toolbar-hoverBackground: rgba(128, 128, 128, 0.15);
140
+ --liminis-editor-notificationsInfoIcon-foreground: #3794ff;
141
+ --liminis-editor-inputValidation-errorBackground: rgba(255, 0, 0, 0.15);
142
+ --liminis-editor-errorForeground: #f14c4c;
143
+ --liminis-editor-focus-border: #007acc;
144
+ --liminis-editor-focusBorder: #007acc;
145
+
146
+ /* --liminis-editor-primary/-100 are brand-derived (see above), not
147
+ host-borrowed — ADR-98 retires the previous forward to liminis-app's own
148
+ --color-primary/-100, a token this package never defined (see ADR-98's
149
+ "defect fix" rationale). muted-foreground/-100 keep their previous
150
+ literal fallback as a real default of their own, rather than forwarding
151
+ to a --color-* token this package doesn't own. C4Component.tsx's
152
+ consumption sites read these four tokens directly, unconditionally — a
153
+ host's --color-* tokens have no effect on them (see ADR-98's amendment
154
+ removing that former exception). */
155
+ --liminis-editor-muted-foreground: #6b7280;
156
+ --liminis-editor-muted-100: rgba(128, 128, 128, 0.1);
60
157
  }
61
158
 
62
159
  /* ========================================
63
160
  DESIGN TOKENS - Editor Dark Theme
161
+ Only entries whose value differs from :root above — anything omitted here
162
+ falls through to the :root declaration by ordinary cascade order.
64
163
  ======================================== */
65
164
  .dark {
66
- /* Brand Color - Lighter for dark mode visibility */
67
- --editor-brand: oklch(0.70 0.20 303);
68
-
69
- /* Computed Colors (OKLCH) */
70
- --vscode-foreground: oklch(0.97 0.01 90 / 0.86);
71
- --vscode-background: oklch(0.17 0.01 265);
72
- --vscode-selection: oklch(0.70 0.20 303 / 0.2);
73
- --vscode-border: oklch(0.27 0.02 303);
74
- --vscode-link: oklch(0.70 0.20 303);
75
- --vscode-external-link: oklch(0.70 0.18 255); /* lighter blue for dark mode */
76
- --vscode-code-bg: oklch(0.20 0.02 303);
77
- --checkbox-border: oklch(0.55 0.06 303);
78
-
79
- /* Syntax Highlighting - Dark mode (OKLCH) */
80
- --slashmd-token-comment: oklch(0.60 0.10 140);
81
- --slashmd-token-punctuation: oklch(0.85 0 0);
82
- --slashmd-token-property: oklch(0.85 0.10 95);
83
- --slashmd-token-selector: oklch(0.60 0.10 140);
84
- --slashmd-token-operator: oklch(0.85 0 0);
85
- --slashmd-token-keyword: oklch(0.65 0.12 240);
86
- --slashmd-token-variable: oklch(0.78 0.10 220);
87
- --slashmd-token-function: oklch(0.85 0.10 95);
88
-
89
- /* Typography - Dark mode (OKLCH) */
90
- --slashmd-heading-color: oklch(0.97 0.01 90 / 0.86);
91
- --slashmd-h1-color: oklch(0.97 0.01 90 / 0.86);
92
- --slashmd-h2-color: oklch(0.97 0.01 90 / 0.86);
93
- --slashmd-h3-color: oklch(0.97 0.01 90 / 0.86);
94
- --slashmd-h4-color: oklch(0.97 0.01 90 / 0.86);
95
- --slashmd-h5-color: oklch(0.97 0.01 90 / 0.86);
96
-
97
- /* Callouts - Dark mode, uses brand color for note type (OKLCH) */
98
- --slashmd-callout-note-bg: oklch(0.70 0.20 303 / 0.1);
99
- --slashmd-callout-note-border: oklch(0.70 0.20 303);
100
- --slashmd-callout-tip-bg: oklch(0.65 0.18 160 / 0.1);
101
- --slashmd-callout-tip-border: oklch(0.65 0.18 160);
102
- --slashmd-callout-warning-bg: oklch(0.80 0.18 85 / 0.1);
103
- --slashmd-callout-warning-border: oklch(0.80 0.18 85);
104
- --slashmd-callout-important-bg: oklch(0.58 0.22 290 / 0.1);
105
- --slashmd-callout-important-border: oklch(0.58 0.22 290);
106
- --slashmd-callout-caution-bg: oklch(0.63 0.24 27 / 0.1);
107
- --slashmd-callout-caution-border: oklch(0.63 0.24 27);
108
- }
109
-
110
- /* ========================================
111
- PUBLIC ALIASES — --liminis-editor-* names (ADR-93)
112
-
113
- The package's own :root/.dark declarations above keep carrying the real
114
- defaults, under the legacy names, exactly as before. Every alias below
115
- only reads a legacy name via var() — it never declares an independent
116
- value — so a host overriding only the legacy name still wins: the alias
117
- re-resolves through .dark and the @media print block's overrides of that
118
- legacy name, since a var() reference resolves per-element at the point of
119
- use, not at the point this declaration is parsed. This lets a host read
120
- --liminis-editor-* directly (verveguy/zusammen#129) without disabling the
121
- ADR-087 fallback layer that a host supplying only the legacy name relies
122
- on.
123
-
124
- Scope of the "legacy name still wins" guarantee: this re-resolution is
125
- correct for a legacy override applied at (or that plainly inherits down
126
- to) :root/document.documentElement — the standard integration point, and
127
- the only one covered by this package's own e2e coverage. It does NOT
128
- extend to a legacy override scoped to an arbitrary DESCENDANT element
129
- between :root and the editor's own DOM (e.g. a per-widget wrapper div a
130
- host might apply its own theme vars to): a custom property inherits its
131
- parent's already-*computed* value, not the var() expression, so this
132
- :root-declared alias is fixed at parse time using :root's own value and
133
- won't pick up a change made lower in the tree. Re-declaring the alias on
134
- every element (`*`) was tried and rejected: it fixes the descendant case
135
- but then shadows a --liminis-editor-* override a host sets on an
136
- ancestor of the element being read, breaking the higher-priority
137
- guarantee (User Story 3) that a directly-set --liminis-editor-* name
138
- always wins — confirmed by test, not assumed. Scoping the redeclaration
139
- to a known package wrapper class (e.g. .editor-app-root) was also tried
140
- and rejected: not every integration renders that wrapper (this repo's
141
- own examples/electron shell doesn't), so the alias would go undefined
142
- there. See ADR-93 for the full trade-off and verveguy/liminis-editor#93's
143
- PR review thread for the CSS-inheritance mechanics that rule out a
144
- `:root`-only or `*`-only fix satisfying both scenarios at once.
145
- ======================================== */
146
- :root {
147
- /* Aliases for tokens with an existing --vscode-, --slashmd- or --checkbox- default */
148
- --liminis-editor-background: var(--vscode-background);
149
- --liminis-editor-bold-color: var(--slashmd-bold-color);
150
- --liminis-editor-border: var(--vscode-border);
151
- --liminis-editor-callout-caution-bg: var(--slashmd-callout-caution-bg);
152
- --liminis-editor-callout-caution-border: var(--slashmd-callout-caution-border);
153
- --liminis-editor-callout-important-bg: var(--slashmd-callout-important-bg);
154
- --liminis-editor-callout-important-border: var(--slashmd-callout-important-border);
155
- --liminis-editor-callout-note-bg: var(--slashmd-callout-note-bg);
156
- --liminis-editor-callout-note-border: var(--slashmd-callout-note-border);
157
- --liminis-editor-callout-tip-bg: var(--slashmd-callout-tip-bg);
158
- --liminis-editor-callout-tip-border: var(--slashmd-callout-tip-border);
159
- --liminis-editor-callout-warning-bg: var(--slashmd-callout-warning-bg);
160
- --liminis-editor-callout-warning-border: var(--slashmd-callout-warning-border);
161
- --liminis-editor-checkbox-border: var(--checkbox-border);
162
- --liminis-editor-code-bg: var(--vscode-code-bg);
163
- --liminis-editor-external-link: var(--vscode-external-link);
164
- --liminis-editor-font-family: var(--vscode-font-family);
165
- --liminis-editor-font-size: var(--vscode-font-size);
166
- --liminis-editor-foreground: var(--vscode-foreground);
167
- --liminis-editor-h1-color: var(--slashmd-h1-color);
168
- --liminis-editor-h1-indent: var(--slashmd-h1-indent);
169
- --liminis-editor-h2-color: var(--slashmd-h2-color);
170
- --liminis-editor-h2-indent: var(--slashmd-h2-indent);
171
- --liminis-editor-h3-color: var(--slashmd-h3-color);
172
- --liminis-editor-h3-indent: var(--slashmd-h3-indent);
173
- --liminis-editor-h4-color: var(--slashmd-h4-color);
174
- --liminis-editor-h4-indent: var(--slashmd-h4-indent);
175
- --liminis-editor-h5-color: var(--slashmd-h5-color);
176
- --liminis-editor-h5-indent: var(--slashmd-h5-indent);
177
- --liminis-editor-italic-color: var(--slashmd-italic-color);
178
- --liminis-editor-link: var(--vscode-link);
179
- --liminis-editor-selection: var(--vscode-selection);
180
- --liminis-editor-token-comment: var(--slashmd-token-comment);
181
- --liminis-editor-token-function: var(--slashmd-token-function);
182
- --liminis-editor-token-keyword: var(--slashmd-token-keyword);
183
- --liminis-editor-token-operator: var(--slashmd-token-operator);
184
- --liminis-editor-token-property: var(--slashmd-token-property);
185
- --liminis-editor-token-punctuation: var(--slashmd-token-punctuation);
186
- --liminis-editor-token-selector: var(--slashmd-token-selector);
187
- --liminis-editor-token-variable: var(--slashmd-token-variable);
188
-
189
- /* Aliases preserving an existing nested consumption-site fallback chain —
190
- these two legacy names have no --vscode-* declaration of their own, only
191
- an existing fallback to a second legacy name at their consumption site. */
192
- --liminis-editor-input-bg: var(--vscode-input-bg, var(--vscode-code-bg));
193
- --liminis-editor-foreground-muted: var(--vscode-foreground-muted, var(--vscode-border));
194
-
195
- /* Aliases for tokens with no CSS custom property backing anywhere — only an
196
- inline literal fallback at their consumption site(s). The literal below
197
- reproduces that existing light-mode fallback so a host supplying nothing
198
- sees no change (FR-002); a host setting the legacy name still wins
199
- (FR-003). Where the same token's literal differs by site (errorForeground,
200
- toolbar-hoverBackground), a single canonical value is chosen here — see
201
- ADR-93 for the two accepted visual deltas this causes at three sites. */
202
- --liminis-editor-button-background: var(--vscode-button-background, #007acc);
203
- --liminis-editor-button-foreground: var(--vscode-button-foreground, #ffffff);
204
- --liminis-editor-menu-background: var(--vscode-menu-background, #ffffff);
205
- --liminis-editor-menu-border: var(--vscode-menu-border, #d4d4d4);
206
- --liminis-editor-menu-foreground: var(--vscode-menu-foreground, #333333);
207
- --liminis-editor-menu-selectionBackground: var(--vscode-menu-selectionBackground, #e8e8e8);
208
- --liminis-editor-menu-separatorBackground: var(--vscode-menu-separatorBackground, #d4d4d4);
209
- --liminis-editor-toolbar-hoverBackground: var(--vscode-toolbar-hoverBackground, rgba(128, 128, 128, 0.15));
210
- --liminis-editor-notificationsInfoIcon-foreground: var(--vscode-notificationsInfoIcon-foreground, #3794ff);
211
- --liminis-editor-inputValidation-errorBackground: var(--vscode-inputValidation-errorBackground, rgba(255, 0, 0, 0.15));
212
- --liminis-editor-errorForeground: var(--vscode-errorForeground, #f14c4c);
213
- --liminis-editor-focus-border: var(--vscode-focus-border, #007acc);
214
- --liminis-editor-focusBorder: var(--vscode-focusBorder, #007acc);
215
-
216
- /* Aliases for liminis-app's own Tailwind @theme brand tokens — the package
217
- only ever supplied a literal final fallback for these, never asserted
218
- ownership; this alias makes that existing fallback reachable under the
219
- new name too, without changing what it resolves to. */
220
- --liminis-editor-primary: var(--color-primary, #3b82f6);
221
- --liminis-editor-primary-100: var(--color-primary-100, rgba(59, 130, 246, 0.1));
222
- --liminis-editor-muted-foreground: var(--color-muted-foreground, #6b7280);
223
- --liminis-editor-muted-100: var(--color-muted-100, rgba(128, 128, 128, 0.1));
224
- }
225
-
226
- .dark {
227
- /* Dark-mode literal overrides for the subset of the no-CSS-backing group
228
- above whose consumption sites select a different literal in dark mode
229
- (via a JS `isDark`/`dark` check reading the same .dark class this
230
- selector keys off) rather than a single literal used in both themes. */
231
- --liminis-editor-button-background: var(--vscode-button-background, #0e639c);
232
- --liminis-editor-menu-background: var(--vscode-menu-background, #252526);
233
- --liminis-editor-menu-border: var(--vscode-menu-border, #454545);
234
- --liminis-editor-menu-foreground: var(--vscode-menu-foreground, #cccccc);
235
- --liminis-editor-menu-selectionBackground: var(--vscode-menu-selectionBackground, #094771);
236
- --liminis-editor-menu-separatorBackground: var(--vscode-menu-separatorBackground, #454545);
165
+ --liminis-editor-primary: oklch(0.70 0.20 303);
166
+ --liminis-editor-primary-100: oklch(0.70 0.20 303 / 0.1);
167
+
168
+ --liminis-editor-foreground: oklch(0.97 0.01 90 / 0.86);
169
+ --liminis-editor-background: oklch(0.17 0.01 265);
170
+ --liminis-editor-selection: oklch(0.70 0.20 303 / 0.2);
171
+ --liminis-editor-border: oklch(0.27 0.02 303);
172
+ --liminis-editor-link: oklch(0.70 0.20 303);
173
+ --liminis-editor-external-link: oklch(0.70 0.18 255); /* lighter blue for dark mode */
174
+ --liminis-editor-code-bg: oklch(0.20 0.02 303);
175
+ --liminis-editor-checkbox-border: oklch(0.55 0.06 303);
176
+
177
+ --liminis-editor-token-comment: oklch(0.60 0.10 140);
178
+ --liminis-editor-token-punctuation: oklch(0.85 0 0);
179
+ --liminis-editor-token-property: oklch(0.85 0.10 95);
180
+ --liminis-editor-token-selector: oklch(0.60 0.10 140);
181
+ --liminis-editor-token-operator: oklch(0.85 0 0);
182
+ --liminis-editor-token-keyword: oklch(0.65 0.12 240);
183
+ --liminis-editor-token-variable: oklch(0.78 0.10 220);
184
+ --liminis-editor-token-function: oklch(0.85 0.10 95);
185
+
186
+ --liminis-editor-h1-color: oklch(0.97 0.01 90 / 0.86);
187
+ --liminis-editor-h2-color: oklch(0.97 0.01 90 / 0.86);
188
+ --liminis-editor-h3-color: oklch(0.97 0.01 90 / 0.86);
189
+ --liminis-editor-h4-color: oklch(0.97 0.01 90 / 0.86);
190
+ --liminis-editor-h5-color: oklch(0.97 0.01 90 / 0.86);
191
+
192
+ --liminis-editor-callout-note-bg: oklch(0.70 0.20 303 / 0.1);
193
+ --liminis-editor-callout-note-border: oklch(0.70 0.20 303);
194
+ --liminis-editor-callout-tip-bg: oklch(0.65 0.18 160 / 0.1);
195
+ --liminis-editor-callout-warning-bg: oklch(0.80 0.18 85 / 0.1);
196
+ --liminis-editor-callout-important-bg: oklch(0.58 0.22 290 / 0.1);
197
+ --liminis-editor-callout-caution-bg: oklch(0.63 0.24 27 / 0.1);
198
+
199
+ --liminis-editor-button-background: #0e639c;
200
+ --liminis-editor-menu-background: #252526;
201
+ --liminis-editor-menu-border: #454545;
202
+ --liminis-editor-menu-foreground: #cccccc;
203
+ --liminis-editor-menu-selectionBackground: #094771;
204
+ --liminis-editor-menu-separatorBackground: #454545;
237
205
  }
238
206
 
239
207
  * {
@@ -243,10 +211,10 @@
243
211
  body {
244
212
  margin: 0;
245
213
  padding: 0;
246
- font-family: var(--liminis-editor-font-family, var(--vscode-font-family));
247
- font-size: var(--liminis-editor-font-size, var(--vscode-font-size));
248
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
249
- background: var(--liminis-editor-background, var(--vscode-background));
214
+ font-family: var(--liminis-editor-font-family);
215
+ font-size: var(--liminis-editor-font-size);
216
+ color: var(--liminis-editor-foreground);
217
+ background: var(--liminis-editor-background);
250
218
  line-height: 1.8; /* Slightly more generous line height like Loop */
251
219
  -webkit-font-smoothing: antialiased;
252
220
  -moz-osx-font-smoothing: grayscale;
@@ -256,8 +224,8 @@ body {
256
224
  .loading-spinner {
257
225
  width: 20px;
258
226
  height: 20px;
259
- border: 2px solid var(--liminis-editor-border, var(--vscode-border));
260
- border-top-color: var(--liminis-editor-link, var(--vscode-link));
227
+ border: 2px solid var(--liminis-editor-border);
228
+ border-top-color: var(--liminis-editor-link);
261
229
  border-radius: 50%;
262
230
  animation: spin 1s linear infinite;
263
231
  }
@@ -275,7 +243,7 @@ body {
275
243
  justify-content: center;
276
244
  gap: 0.75rem;
277
245
  min-height: 100vh;
278
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
246
+ color: var(--liminis-editor-foreground);
279
247
  opacity: 0.7;
280
248
  }
281
249
 
@@ -324,7 +292,7 @@ body {
324
292
  position: absolute;
325
293
  top: 16px;
326
294
  left: 16px;
327
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
295
+ color: var(--liminis-editor-foreground);
328
296
  opacity: 0.5;
329
297
  pointer-events: none;
330
298
  user-select: none;
@@ -340,8 +308,8 @@ body {
340
308
  font-weight: 700;
341
309
  margin: 32px 0 24px 0; /* More generous margins */
342
310
  line-height: 1.2;
343
- color: var(--liminis-editor-h1-color, var(--slashmd-h1-color));
344
- margin-left: var(--liminis-editor-h1-indent, var(--slashmd-h1-indent));
311
+ color: var(--liminis-editor-h1-color);
312
+ margin-left: var(--liminis-editor-h1-indent);
345
313
  }
346
314
 
347
315
  .editor-heading-h2 {
@@ -349,8 +317,8 @@ body {
349
317
  font-weight: 600;
350
318
  margin: 28px 0 16px 0; /* More generous margins */
351
319
  line-height: 1.3;
352
- color: var(--liminis-editor-h2-color, var(--slashmd-h2-color));
353
- margin-left: var(--liminis-editor-h2-indent, var(--slashmd-h2-indent));
320
+ color: var(--liminis-editor-h2-color);
321
+ margin-left: var(--liminis-editor-h2-indent);
354
322
  }
355
323
 
356
324
  .editor-heading-h3 {
@@ -358,8 +326,8 @@ body {
358
326
  font-weight: 600;
359
327
  margin: 24px 0 12px 0; /* More generous margins */
360
328
  line-height: 1.4;
361
- color: var(--liminis-editor-h3-color, var(--slashmd-h3-color));
362
- margin-left: var(--liminis-editor-h3-indent, var(--slashmd-h3-indent));
329
+ color: var(--liminis-editor-h3-color);
330
+ margin-left: var(--liminis-editor-h3-indent);
363
331
  }
364
332
 
365
333
  .editor-heading-h4 {
@@ -367,8 +335,8 @@ body {
367
335
  font-weight: 600;
368
336
  margin: 20px 0 10px 0; /* More generous margins */
369
337
  line-height: 1.4;
370
- color: var(--liminis-editor-h4-color, var(--slashmd-h4-color));
371
- margin-left: var(--liminis-editor-h4-indent, var(--slashmd-h4-indent));
338
+ color: var(--liminis-editor-h4-color);
339
+ margin-left: var(--liminis-editor-h4-indent);
372
340
  }
373
341
 
374
342
  .editor-heading-h5 {
@@ -376,8 +344,8 @@ body {
376
344
  font-weight: 600;
377
345
  margin: 16px 0 8px 0; /* More generous margins */
378
346
  line-height: 1.4;
379
- color: var(--liminis-editor-h5-color, var(--slashmd-h5-color));
380
- margin-left: var(--liminis-editor-h5-indent, var(--slashmd-h5-indent));
347
+ color: var(--liminis-editor-h5-color);
348
+ margin-left: var(--liminis-editor-h5-indent);
381
349
  }
382
350
 
383
351
  /* Lists - Loop-inspired spacing */
@@ -413,14 +381,14 @@ body {
413
381
  top: 4px;
414
382
  width: 16px;
415
383
  height: 16px;
416
- border: 2px solid var(--liminis-editor-checkbox-border, var(--checkbox-border));
384
+ border: 2px solid var(--liminis-editor-checkbox-border);
417
385
  border-radius: 3px;
418
386
  cursor: pointer;
419
387
  }
420
388
 
421
389
  .editor-listitem-checked::before {
422
- background: var(--liminis-editor-link, var(--vscode-link));
423
- border-color: var(--liminis-editor-link, var(--vscode-link));
390
+ background: var(--liminis-editor-link);
391
+ border-color: var(--liminis-editor-link);
424
392
  }
425
393
 
426
394
  .editor-listitem-checked::after {
@@ -455,14 +423,14 @@ body {
455
423
  top: 4px;
456
424
  width: 16px;
457
425
  height: 16px;
458
- border: 2px solid var(--liminis-editor-checkbox-border, var(--checkbox-border));
426
+ border: 2px solid var(--liminis-editor-checkbox-border);
459
427
  border-radius: 3px;
460
428
  cursor: pointer;
461
429
  }
462
430
 
463
431
  .editor-listitem-ordered-checked::before {
464
- background: var(--liminis-editor-link, var(--vscode-link));
465
- border-color: var(--liminis-editor-link, var(--vscode-link));
432
+ background: var(--liminis-editor-link);
433
+ border-color: var(--liminis-editor-link);
466
434
  }
467
435
 
468
436
  .editor-listitem-ordered-checked::after {
@@ -482,8 +450,8 @@ body {
482
450
  .editor-quote {
483
451
  margin: 20px 0; /* More generous margins */
484
452
  padding: 12px 20px; /* More padding */
485
- border-left: 4px solid var(--liminis-editor-border, var(--vscode-border));
486
- background: var(--liminis-editor-code-bg, var(--vscode-code-bg));
453
+ border-left: 4px solid var(--liminis-editor-border);
454
+ background: var(--liminis-editor-code-bg);
487
455
  font-style: italic;
488
456
  }
489
457
 
@@ -493,7 +461,7 @@ body {
493
461
  position: relative;
494
462
  margin: 20px 0; /* More generous margins */
495
463
  padding: 16px 20px; /* More padding */
496
- background: var(--liminis-editor-code-bg, var(--vscode-code-bg));
464
+ background: var(--liminis-editor-code-bg);
497
465
  border-radius: 10px; /* Friendlier rounded corners */
498
466
  font-family: 'Fira Code', 'Consolas', monospace;
499
467
  font-size: 0.9em;
@@ -514,10 +482,10 @@ body {
514
482
  .code-language-button {
515
483
  padding: 2px 8px;
516
484
  font-size: 11px;
517
- font-family: var(--liminis-editor-font-family, var(--vscode-font-family));
518
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
519
- background: var(--liminis-editor-code-bg, var(--vscode-code-bg));
520
- border: 1px solid var(--liminis-editor-border, var(--vscode-border));
485
+ font-family: var(--liminis-editor-font-family);
486
+ color: var(--liminis-editor-foreground);
487
+ background: var(--liminis-editor-code-bg);
488
+ border: 1px solid var(--liminis-editor-border);
521
489
  border-radius: 4px;
522
490
  cursor: pointer;
523
491
  opacity: 0.7;
@@ -526,7 +494,7 @@ body {
526
494
 
527
495
  .code-language-button:hover {
528
496
  opacity: 1;
529
- background: var(--liminis-editor-toolbar-hoverBackground, var(--vscode-toolbar-hoverBackground, rgba(128, 128, 128, 0.15)));
497
+ background: var(--liminis-editor-toolbar-hoverBackground);
530
498
  }
531
499
 
532
500
  /* Code Copy Button */
@@ -537,9 +505,9 @@ body {
537
505
  width: 24px;
538
506
  height: 20px;
539
507
  padding: 0;
540
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
541
- background: var(--liminis-editor-code-bg, var(--vscode-code-bg));
542
- border: 1px solid var(--liminis-editor-border, var(--vscode-border));
508
+ color: var(--liminis-editor-foreground);
509
+ background: var(--liminis-editor-code-bg);
510
+ border: 1px solid var(--liminis-editor-border);
543
511
  border-radius: 4px;
544
512
  cursor: pointer;
545
513
  opacity: 0.7;
@@ -548,12 +516,12 @@ body {
548
516
 
549
517
  .code-copy-button:hover {
550
518
  opacity: 1;
551
- background: var(--liminis-editor-toolbar-hoverBackground, var(--vscode-toolbar-hoverBackground, rgba(128, 128, 128, 0.15)));
519
+ background: var(--liminis-editor-toolbar-hoverBackground);
552
520
  }
553
521
 
554
522
  .code-copy-button.copied {
555
523
  opacity: 1;
556
- color: var(--liminis-editor-notificationsInfoIcon-foreground, var(--vscode-notificationsInfoIcon-foreground, #3794ff));
524
+ color: var(--liminis-editor-notificationsInfoIcon-foreground);
557
525
  }
558
526
 
559
527
  /* Code Language Selector Menu */
@@ -562,8 +530,8 @@ body {
562
530
  max-height: 320px;
563
531
  display: flex;
564
532
  flex-direction: column;
565
- background: var(--liminis-editor-background, var(--vscode-background));
566
- border: 1px solid var(--liminis-editor-border, var(--vscode-border));
533
+ background: var(--liminis-editor-background);
534
+ border: 1px solid var(--liminis-editor-border);
567
535
  border-radius: 12px; /* Friendlier rounded corners */
568
536
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15); /* Softer shadow */
569
537
  z-index: 300;
@@ -574,16 +542,16 @@ body {
574
542
  margin: 8px;
575
543
  padding: 6px 10px;
576
544
  font-size: 13px;
577
- font-family: var(--liminis-editor-font-family, var(--vscode-font-family));
578
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
579
- background: var(--liminis-editor-code-bg, var(--vscode-code-bg));
580
- border: 1px solid var(--liminis-editor-border, var(--vscode-border));
545
+ font-family: var(--liminis-editor-font-family);
546
+ color: var(--liminis-editor-foreground);
547
+ background: var(--liminis-editor-code-bg);
548
+ border: 1px solid var(--liminis-editor-border);
581
549
  border-radius: 4px;
582
550
  outline: none;
583
551
  }
584
552
 
585
553
  .code-language-search:focus {
586
- border-color: var(--liminis-editor-link, var(--vscode-link));
554
+ border-color: var(--liminis-editor-link);
587
555
  }
588
556
 
589
557
  .code-language-list {
@@ -599,8 +567,8 @@ body {
599
567
  width: 100%;
600
568
  padding: 6px 12px;
601
569
  font-size: 13px;
602
- font-family: var(--liminis-editor-font-family, var(--vscode-font-family));
603
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
570
+ font-family: var(--liminis-editor-font-family);
571
+ color: var(--liminis-editor-foreground);
604
572
  background: transparent;
605
573
  border: none;
606
574
  text-align: left;
@@ -608,7 +576,7 @@ body {
608
576
  }
609
577
 
610
578
  .code-language-item:hover {
611
- background: var(--liminis-editor-selection, var(--vscode-selection));
579
+ background: var(--liminis-editor-selection);
612
580
  }
613
581
 
614
582
  .code-language-item.current {
@@ -616,14 +584,14 @@ body {
616
584
  }
617
585
 
618
586
  .code-language-check {
619
- color: var(--liminis-editor-link, var(--vscode-link));
587
+ color: var(--liminis-editor-link);
620
588
  font-size: 12px;
621
589
  }
622
590
 
623
591
  .code-language-empty {
624
592
  padding: 12px;
625
593
  text-align: center;
626
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
594
+ color: var(--liminis-editor-foreground);
627
595
  opacity: 0.6;
628
596
  font-size: 13px;
629
597
  }
@@ -631,12 +599,12 @@ body {
631
599
  /* Inline text formatting */
632
600
  .editor-text-bold {
633
601
  font-weight: 700;
634
- color: var(--liminis-editor-bold-color, var(--slashmd-bold-color));
602
+ color: var(--liminis-editor-bold-color);
635
603
  }
636
604
 
637
605
  .editor-text-italic {
638
606
  font-style: italic;
639
- color: var(--liminis-editor-italic-color, var(--slashmd-italic-color));
607
+ color: var(--liminis-editor-italic-color);
640
608
  }
641
609
 
642
610
  .editor-text-strikethrough {
@@ -649,7 +617,7 @@ body {
649
617
 
650
618
  .editor-text-code {
651
619
  font-family: 'Fira Code', 'Consolas', monospace;
652
- background: var(--liminis-editor-code-bg, var(--vscode-code-bg));
620
+ background: var(--liminis-editor-code-bg);
653
621
  padding: 2px 6px;
654
622
  border-radius: 6px; /* Friendlier rounded corners */
655
623
  font-size: 0.9em;
@@ -657,7 +625,7 @@ body {
657
625
 
658
626
  /* Links */
659
627
  .editor-link {
660
- color: var(--liminis-editor-link, var(--vscode-link));
628
+ color: var(--liminis-editor-link);
661
629
  text-decoration: none;
662
630
  cursor: text; /* Normal text cursor for editing */
663
631
  }
@@ -668,7 +636,7 @@ body {
668
636
 
669
637
  /* External links (http/https/mailto) - blue color to differentiate from wiki-links */
670
638
  .editor-link-external {
671
- color: var(--liminis-editor-external-link, var(--vscode-external-link));
639
+ color: var(--liminis-editor-external-link);
672
640
  }
673
641
 
674
642
  /* When Cmd/Ctrl is held, show pointer cursor on links to indicate they can be opened */
@@ -693,11 +661,11 @@ body {
693
661
 
694
662
  /* Broken wiki links - links to non-existent files */
695
663
  .editor-link-broken {
696
- color: var(--liminis-editor-errorForeground, var(--vscode-errorForeground, #f14c4c)) !important;
664
+ color: var(--liminis-editor-errorForeground) !important;
697
665
  }
698
666
 
699
667
  .editor-link-broken:hover {
700
- color: var(--liminis-editor-errorForeground, var(--vscode-errorForeground, #f14c4c)) !important;
668
+ color: var(--liminis-editor-errorForeground) !important;
701
669
  opacity: 0.8;
702
670
  }
703
671
 
@@ -713,13 +681,13 @@ body {
713
681
 
714
682
  .editor-table-cell,
715
683
  .editor-table-cell-header {
716
- border: 1px solid var(--liminis-editor-border, var(--vscode-border));
684
+ border: 1px solid var(--liminis-editor-border);
717
685
  padding: 8px 12px;
718
686
  text-align: left;
719
687
  }
720
688
 
721
689
  .editor-table-cell-header {
722
- background: var(--liminis-editor-code-bg, var(--vscode-code-bg));
690
+ background: var(--liminis-editor-code-bg);
723
691
  font-weight: 600;
724
692
  }
725
693
 
@@ -739,7 +707,7 @@ body {
739
707
  left: 0;
740
708
  right: 0;
741
709
  height: 1px;
742
- background: var(--liminis-editor-border, var(--vscode-border));
710
+ background: var(--liminis-editor-border);
743
711
  }
744
712
 
745
713
  /* Image */
@@ -773,7 +741,7 @@ body {
773
741
  }
774
742
 
775
743
  .image-wrapper.selected img {
776
- outline: 2px solid var(--liminis-editor-link, var(--vscode-link));
744
+ outline: 2px solid var(--liminis-editor-link);
777
745
  outline-offset: 2px;
778
746
  }
779
747
 
@@ -786,8 +754,8 @@ body {
786
754
  position: absolute;
787
755
  width: 12px;
788
756
  height: 12px;
789
- background: var(--liminis-editor-link, var(--vscode-link));
790
- border: 2px solid var(--liminis-editor-background, var(--vscode-background));
757
+ background: var(--liminis-editor-link);
758
+ border: 2px solid var(--liminis-editor-background);
791
759
  border-radius: 2px;
792
760
  z-index: 10;
793
761
  }
@@ -844,28 +812,28 @@ body {
844
812
  }
845
813
 
846
814
  .callout-note {
847
- background: var(--liminis-editor-callout-note-bg, var(--slashmd-callout-note-bg));
848
- border-left-color: var(--liminis-editor-callout-note-border, var(--slashmd-callout-note-border));
815
+ background: var(--liminis-editor-callout-note-bg);
816
+ border-left-color: var(--liminis-editor-callout-note-border);
849
817
  }
850
818
 
851
819
  .callout-tip {
852
- background: var(--liminis-editor-callout-tip-bg, var(--slashmd-callout-tip-bg));
853
- border-left-color: var(--liminis-editor-callout-tip-border, var(--slashmd-callout-tip-border));
820
+ background: var(--liminis-editor-callout-tip-bg);
821
+ border-left-color: var(--liminis-editor-callout-tip-border);
854
822
  }
855
823
 
856
824
  .callout-warning {
857
- background: var(--liminis-editor-callout-warning-bg, var(--slashmd-callout-warning-bg));
858
- border-left-color: var(--liminis-editor-callout-warning-border, var(--slashmd-callout-warning-border));
825
+ background: var(--liminis-editor-callout-warning-bg);
826
+ border-left-color: var(--liminis-editor-callout-warning-border);
859
827
  }
860
828
 
861
829
  .callout-important {
862
- background: var(--liminis-editor-callout-important-bg, var(--slashmd-callout-important-bg));
863
- border-left-color: var(--liminis-editor-callout-important-border, var(--slashmd-callout-important-border));
830
+ background: var(--liminis-editor-callout-important-bg);
831
+ border-left-color: var(--liminis-editor-callout-important-border);
864
832
  }
865
833
 
866
834
  .callout-caution {
867
- background: var(--liminis-editor-callout-caution-bg, var(--slashmd-callout-caution-bg));
868
- border-left-color: var(--liminis-editor-callout-caution-border, var(--slashmd-callout-caution-border));
835
+ background: var(--liminis-editor-callout-caution-bg);
836
+ border-left-color: var(--liminis-editor-callout-caution-border);
869
837
  }
870
838
 
871
839
  /* Remove bottom margin from last paragraph in callout */
@@ -876,7 +844,7 @@ body {
876
844
  /* Toggle - New ElementNode-based structure */
877
845
  .toggle-container {
878
846
  margin: 8px 0;
879
- border: 1px solid var(--liminis-editor-border, var(--vscode-border));
847
+ border: 1px solid var(--liminis-editor-border);
880
848
  border-radius: 10px; /* Friendlier rounded corners */
881
849
  overflow: hidden;
882
850
  }
@@ -886,7 +854,7 @@ body {
886
854
  align-items: center;
887
855
  padding: 10px 14px;
888
856
  padding-left: 32px;
889
- background: var(--liminis-editor-code-bg, var(--vscode-code-bg));
857
+ background: var(--liminis-editor-code-bg);
890
858
  position: relative;
891
859
  min-height: 24px;
892
860
  }
@@ -899,7 +867,7 @@ body {
899
867
  top: 50%;
900
868
  transform: translateY(-50%);
901
869
  font-size: 10px;
902
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
870
+ color: var(--liminis-editor-foreground);
903
871
  opacity: 0.7;
904
872
  transition: transform 0.2s;
905
873
  cursor: pointer;
@@ -921,7 +889,7 @@ body {
921
889
  }
922
890
 
923
891
  .toggle-title:hover {
924
- background: var(--liminis-editor-selection, var(--vscode-selection));
892
+ background: var(--liminis-editor-selection);
925
893
  }
926
894
 
927
895
  /* The paragraph inside the title */
@@ -935,7 +903,7 @@ body {
935
903
  .toggle-content-area {
936
904
  display: none;
937
905
  padding: 12px 14px;
938
- border-top: 1px solid var(--liminis-editor-border, var(--vscode-border));
906
+ border-top: 1px solid var(--liminis-editor-border);
939
907
  }
940
908
 
941
909
  .toggle-container--open .toggle-content-area {
@@ -964,7 +932,7 @@ body {
964
932
  /* Empty content placeholder */
965
933
  .toggle-content-area:empty::before {
966
934
  content: 'Type content here...';
967
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
935
+ color: var(--liminis-editor-foreground);
968
936
  opacity: 0.4;
969
937
  }
970
938
 
@@ -974,7 +942,7 @@ body {
974
942
  }
975
943
 
976
944
  .toggle-block {
977
- border: 1px solid var(--liminis-editor-border, var(--vscode-border));
945
+ border: 1px solid var(--liminis-editor-border);
978
946
  border-radius: 6px;
979
947
  overflow: hidden;
980
948
  }
@@ -985,8 +953,8 @@ body {
985
953
  align-items: center;
986
954
  gap: 4px;
987
955
  padding: 8px;
988
- background: var(--liminis-editor-background, var(--vscode-background));
989
- border: 1px solid var(--liminis-editor-border, var(--vscode-border));
956
+ background: var(--liminis-editor-background);
957
+ border: 1px solid var(--liminis-editor-border);
990
958
  border-radius: 10px; /* Friendlier rounded corners */
991
959
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1); /* Softer shadow */
992
960
  z-index: 100;
@@ -1002,22 +970,22 @@ body {
1002
970
  background: transparent;
1003
971
  border-radius: 4px;
1004
972
  cursor: pointer;
1005
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
973
+ color: var(--liminis-editor-foreground);
1006
974
  font-size: 14px;
1007
975
  }
1008
976
 
1009
977
  .toolbar-button:hover {
1010
- background: var(--liminis-editor-code-bg, var(--vscode-code-bg));
978
+ background: var(--liminis-editor-code-bg);
1011
979
  }
1012
980
 
1013
981
  .toolbar-button.active {
1014
- background: var(--liminis-editor-selection, var(--vscode-selection));
982
+ background: var(--liminis-editor-selection);
1015
983
  }
1016
984
 
1017
985
  .toolbar-divider {
1018
986
  width: 1px;
1019
987
  height: 20px;
1020
- background: var(--liminis-editor-border, var(--vscode-border));
988
+ background: var(--liminis-editor-border);
1021
989
  margin: 0 4px;
1022
990
  }
1023
991
 
@@ -1028,8 +996,8 @@ body {
1028
996
  transform: translateX(-50%);
1029
997
  margin-top: 4px;
1030
998
  padding: 8px;
1031
- background: var(--liminis-editor-background, var(--vscode-background));
1032
- border: 1px solid var(--liminis-editor-border, var(--vscode-border));
999
+ background: var(--liminis-editor-background);
1000
+ border: 1px solid var(--liminis-editor-border);
1033
1001
  border-radius: 6px;
1034
1002
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
1035
1003
  }
@@ -1038,15 +1006,15 @@ body {
1038
1006
  width: 220px;
1039
1007
  padding: 6px 10px;
1040
1008
  font-size: 13px;
1041
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
1042
- background: var(--liminis-editor-input-bg, var(--vscode-input-bg, var(--liminis-editor-code-bg, var(--vscode-code-bg))));
1043
- border: 1px solid var(--liminis-editor-border, var(--vscode-border));
1009
+ color: var(--liminis-editor-foreground);
1010
+ background: var(--liminis-editor-input-bg);
1011
+ border: 1px solid var(--liminis-editor-border);
1044
1012
  border-radius: 4px;
1045
1013
  outline: none;
1046
1014
  }
1047
1015
 
1048
1016
  .toolbar-link-input input:focus {
1049
- border-color: var(--liminis-editor-focus-border, var(--vscode-focus-border, #007acc));
1017
+ border-color: var(--liminis-editor-focus-border);
1050
1018
  }
1051
1019
 
1052
1020
  /* Slash Menu */
@@ -1056,8 +1024,8 @@ body {
1056
1024
  max-height: 320px;
1057
1025
  display: flex;
1058
1026
  flex-direction: column;
1059
- background: var(--liminis-editor-background, var(--vscode-background));
1060
- border: 1px solid var(--liminis-editor-border, var(--vscode-border));
1027
+ background: var(--liminis-editor-background);
1028
+ border: 1px solid var(--liminis-editor-border);
1061
1029
  border-radius: 12px; /* Friendlier rounded corners */
1062
1030
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15); /* Softer shadow */
1063
1031
  z-index: 200;
@@ -1068,9 +1036,9 @@ body {
1068
1036
  font-size: 11px;
1069
1037
  font-weight: 600;
1070
1038
  text-transform: uppercase;
1071
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
1039
+ color: var(--liminis-editor-foreground);
1072
1040
  opacity: 0.6;
1073
- border-bottom: 1px solid var(--liminis-editor-border, var(--vscode-border));
1041
+ border-bottom: 1px solid var(--liminis-editor-border);
1074
1042
  flex-shrink: 0;
1075
1043
  }
1076
1044
 
@@ -1092,7 +1060,7 @@ body {
1092
1060
 
1093
1061
  .slash-menu-item:hover,
1094
1062
  .slash-menu-item.selected {
1095
- background: var(--liminis-editor-selection, var(--vscode-selection));
1063
+ background: var(--liminis-editor-selection);
1096
1064
  }
1097
1065
 
1098
1066
  .slash-menu-icon {
@@ -1101,7 +1069,7 @@ body {
1101
1069
  justify-content: center;
1102
1070
  width: 32px;
1103
1071
  height: 32px;
1104
- background: var(--liminis-editor-code-bg, var(--vscode-code-bg));
1072
+ background: var(--liminis-editor-code-bg);
1105
1073
  border-radius: 4px;
1106
1074
  font-size: 14px;
1107
1075
  }
@@ -1123,7 +1091,7 @@ body {
1123
1091
  .slash-menu-empty {
1124
1092
  padding: 16px;
1125
1093
  text-align: center;
1126
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
1094
+ color: var(--liminis-editor-foreground);
1127
1095
  opacity: 0.6;
1128
1096
  }
1129
1097
 
@@ -1161,14 +1129,14 @@ body {
1161
1129
  height: 20px;
1162
1130
  font-size: 14px;
1163
1131
  letter-spacing: -3px;
1164
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
1132
+ color: var(--liminis-editor-foreground);
1165
1133
  user-select: none;
1166
1134
  border-radius: 4px;
1167
1135
  }
1168
1136
 
1169
1137
  .drag-handle:hover .drag-handle-icon {
1170
1138
  /* Superseded by --liminis-editor-toolbar-hoverBackground's canonical 0.15-alpha default (ADR-93) */
1171
- background: var(--liminis-editor-toolbar-hoverBackground, var(--vscode-toolbar-hoverBackground, rgba(128, 128, 128, 0.1)));
1139
+ background: var(--liminis-editor-toolbar-hoverBackground);
1172
1140
  }
1173
1141
 
1174
1142
  /* Block Delete Button */
@@ -1200,48 +1168,48 @@ body {
1200
1168
  width: 20px;
1201
1169
  height: 20px;
1202
1170
  font-size: 16px;
1203
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
1171
+ color: var(--liminis-editor-foreground);
1204
1172
  user-select: none;
1205
1173
  border-radius: 4px;
1206
1174
  }
1207
1175
 
1208
1176
  .block-delete-button:hover .block-delete-icon {
1209
- background: var(--liminis-editor-inputValidation-errorBackground, var(--vscode-inputValidation-errorBackground, rgba(255, 0, 0, 0.15)));
1177
+ background: var(--liminis-editor-inputValidation-errorBackground);
1210
1178
  /* Superseded by --liminis-editor-errorForeground's canonical #f14c4c default (ADR-93) */
1211
- color: var(--liminis-editor-errorForeground, var(--vscode-errorForeground, #f44336));
1179
+ color: var(--liminis-editor-errorForeground);
1212
1180
  }
1213
1181
 
1214
1182
  /* Code syntax highlighting */
1215
1183
  .editor-tokenComment {
1216
- color: var(--liminis-editor-token-comment, var(--slashmd-token-comment));
1184
+ color: var(--liminis-editor-token-comment);
1217
1185
  }
1218
1186
 
1219
1187
  .editor-tokenPunctuation {
1220
- color: var(--liminis-editor-token-punctuation, var(--slashmd-token-punctuation));
1188
+ color: var(--liminis-editor-token-punctuation);
1221
1189
  }
1222
1190
 
1223
1191
  .editor-tokenProperty {
1224
- color: var(--liminis-editor-token-property, var(--slashmd-token-property));
1192
+ color: var(--liminis-editor-token-property);
1225
1193
  }
1226
1194
 
1227
1195
  .editor-tokenSelector {
1228
- color: var(--liminis-editor-token-selector, var(--slashmd-token-selector));
1196
+ color: var(--liminis-editor-token-selector);
1229
1197
  }
1230
1198
 
1231
1199
  .editor-tokenOperator {
1232
- color: var(--liminis-editor-token-operator, var(--slashmd-token-operator));
1200
+ color: var(--liminis-editor-token-operator);
1233
1201
  }
1234
1202
 
1235
1203
  .editor-tokenAttr {
1236
- color: var(--liminis-editor-token-keyword, var(--slashmd-token-keyword));
1204
+ color: var(--liminis-editor-token-keyword);
1237
1205
  }
1238
1206
 
1239
1207
  .editor-tokenVariable {
1240
- color: var(--liminis-editor-token-variable, var(--slashmd-token-variable));
1208
+ color: var(--liminis-editor-token-variable);
1241
1209
  }
1242
1210
 
1243
1211
  .editor-tokenFunction {
1244
- color: var(--liminis-editor-token-function, var(--slashmd-token-function));
1212
+ color: var(--liminis-editor-token-function);
1245
1213
  }
1246
1214
 
1247
1215
  /* Scrollbar - auto-hides on macOS, styled when visible */
@@ -1279,7 +1247,7 @@ body {
1279
1247
 
1280
1248
  /* Focus styles for accessibility */
1281
1249
  *:focus-visible {
1282
- outline: 2px solid var(--liminis-editor-link, var(--vscode-link));
1250
+ outline: 2px solid var(--liminis-editor-link);
1283
1251
  outline-offset: 2px;
1284
1252
  }
1285
1253
 
@@ -1291,14 +1259,14 @@ body {
1291
1259
 
1292
1260
  /* Selection */
1293
1261
  ::selection {
1294
- background: var(--liminis-editor-selection, var(--vscode-selection));
1262
+ background: var(--liminis-editor-selection);
1295
1263
  }
1296
1264
 
1297
1265
  /* Table Actions Menu */
1298
1266
  .table-actions-menu {
1299
1267
  min-width: 200px;
1300
- background: var(--liminis-editor-background, var(--vscode-background));
1301
- border: 1px solid var(--liminis-editor-border, var(--vscode-border));
1268
+ background: var(--liminis-editor-background);
1269
+ border: 1px solid var(--liminis-editor-border);
1302
1270
  border-radius: 12px; /* Friendlier rounded corners */
1303
1271
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15); /* Softer shadow */
1304
1272
  z-index: 300;
@@ -1314,7 +1282,7 @@ body {
1314
1282
  font-size: 11px;
1315
1283
  font-weight: 600;
1316
1284
  text-transform: uppercase;
1317
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
1285
+ color: var(--liminis-editor-foreground);
1318
1286
  opacity: 0.6;
1319
1287
  }
1320
1288
 
@@ -1326,14 +1294,14 @@ body {
1326
1294
  padding: 8px 12px;
1327
1295
  border: none;
1328
1296
  background: transparent;
1329
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
1297
+ color: var(--liminis-editor-foreground);
1330
1298
  font-size: 13px;
1331
1299
  text-align: left;
1332
1300
  cursor: pointer;
1333
1301
  }
1334
1302
 
1335
1303
  .table-actions-button:hover {
1336
- background: var(--liminis-editor-selection, var(--vscode-selection));
1304
+ background: var(--liminis-editor-selection);
1337
1305
  }
1338
1306
 
1339
1307
  .table-actions-button.table-actions-danger {
@@ -1354,7 +1322,7 @@ body {
1354
1322
 
1355
1323
  .table-actions-divider {
1356
1324
  height: 1px;
1357
- background: var(--liminis-editor-border, var(--vscode-border));
1325
+ background: var(--liminis-editor-border);
1358
1326
  margin: 4px 0;
1359
1327
  }
1360
1328
 
@@ -1363,7 +1331,7 @@ body {
1363
1331
  .editor-table th:focus,
1364
1332
  .editor-table-cell:focus,
1365
1333
  .editor-table-cell-header:focus {
1366
- outline: 2px solid var(--liminis-editor-link, var(--vscode-link));
1334
+ outline: 2px solid var(--liminis-editor-link);
1367
1335
  outline-offset: -2px;
1368
1336
  }
1369
1337
 
@@ -1403,8 +1371,8 @@ body {
1403
1371
  width: 480px;
1404
1372
  max-width: 90vw;
1405
1373
  max-height: 90vh;
1406
- background: var(--liminis-editor-background, var(--vscode-background));
1407
- border: 1px solid var(--liminis-editor-border, var(--vscode-border));
1374
+ background: var(--liminis-editor-background);
1375
+ border: 1px solid var(--liminis-editor-border);
1408
1376
  border-radius: 16px; /* Friendlier rounded corners */
1409
1377
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2); /* Softer shadow */
1410
1378
  display: flex;
@@ -1417,7 +1385,7 @@ body {
1417
1385
  align-items: center;
1418
1386
  justify-content: space-between;
1419
1387
  padding: 16px;
1420
- border-bottom: 1px solid var(--liminis-editor-border, var(--vscode-border));
1388
+ border-bottom: 1px solid var(--liminis-editor-border);
1421
1389
  }
1422
1390
 
1423
1391
  .image-modal-header h3 {
@@ -1437,18 +1405,18 @@ body {
1437
1405
  border-radius: 4px;
1438
1406
  cursor: pointer;
1439
1407
  font-size: 20px;
1440
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
1408
+ color: var(--liminis-editor-foreground);
1441
1409
  opacity: 0.7;
1442
1410
  }
1443
1411
 
1444
1412
  .image-modal-close:hover {
1445
1413
  opacity: 1;
1446
- background: var(--liminis-editor-code-bg, var(--vscode-code-bg));
1414
+ background: var(--liminis-editor-code-bg);
1447
1415
  }
1448
1416
 
1449
1417
  .image-modal-tabs {
1450
1418
  display: flex;
1451
- border-bottom: 1px solid var(--liminis-editor-border, var(--vscode-border));
1419
+ border-bottom: 1px solid var(--liminis-editor-border);
1452
1420
  }
1453
1421
 
1454
1422
  .image-modal-tab {
@@ -1456,7 +1424,7 @@ body {
1456
1424
  padding: 12px 16px;
1457
1425
  border: none;
1458
1426
  background: transparent;
1459
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
1427
+ color: var(--liminis-editor-foreground);
1460
1428
  font-size: 14px;
1461
1429
  cursor: pointer;
1462
1430
  opacity: 0.7;
@@ -1465,12 +1433,12 @@ body {
1465
1433
 
1466
1434
  .image-modal-tab:hover {
1467
1435
  opacity: 1;
1468
- background: var(--liminis-editor-code-bg, var(--vscode-code-bg));
1436
+ background: var(--liminis-editor-code-bg);
1469
1437
  }
1470
1438
 
1471
1439
  .image-modal-tab.active {
1472
1440
  opacity: 1;
1473
- border-bottom: 2px solid var(--liminis-editor-link, var(--vscode-link));
1441
+ border-bottom: 2px solid var(--liminis-editor-link);
1474
1442
  margin-bottom: -1px;
1475
1443
  }
1476
1444
 
@@ -1485,25 +1453,25 @@ body {
1485
1453
  align-items: center;
1486
1454
  justify-content: center;
1487
1455
  min-height: 160px;
1488
- border: 2px dashed var(--liminis-editor-border, var(--vscode-border));
1456
+ border: 2px dashed var(--liminis-editor-border);
1489
1457
  border-radius: 8px;
1490
1458
  cursor: pointer;
1491
1459
  transition: border-color 0.15s, background 0.15s;
1492
1460
  }
1493
1461
 
1494
1462
  .image-modal-dropzone:hover {
1495
- border-color: var(--liminis-editor-link, var(--vscode-link));
1463
+ border-color: var(--liminis-editor-link);
1496
1464
  background: rgba(0, 102, 204, 0.05);
1497
1465
  }
1498
1466
 
1499
1467
  .image-modal-dropzone.drag-over {
1500
- border-color: var(--liminis-editor-link, var(--vscode-link));
1468
+ border-color: var(--liminis-editor-link);
1501
1469
  background: rgba(0, 102, 204, 0.1);
1502
1470
  }
1503
1471
 
1504
1472
  .image-modal-dropzone.has-preview {
1505
1473
  border-style: solid;
1506
- border-color: var(--liminis-editor-border, var(--vscode-border));
1474
+ border-color: var(--liminis-editor-border);
1507
1475
  padding: 8px;
1508
1476
  }
1509
1477
 
@@ -1512,7 +1480,7 @@ body {
1512
1480
  flex-direction: column;
1513
1481
  align-items: center;
1514
1482
  gap: 8px;
1515
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
1483
+ color: var(--liminis-editor-foreground);
1516
1484
  opacity: 0.7;
1517
1485
  }
1518
1486
 
@@ -1537,9 +1505,9 @@ body {
1537
1505
  display: flex;
1538
1506
  justify-content: center;
1539
1507
  padding: 8px;
1540
- border: 1px solid var(--liminis-editor-border, var(--vscode-border));
1508
+ border: 1px solid var(--liminis-editor-border);
1541
1509
  border-radius: 8px;
1542
- background: var(--liminis-editor-code-bg, var(--vscode-code-bg));
1510
+ background: var(--liminis-editor-code-bg);
1543
1511
  }
1544
1512
 
1545
1513
  .image-modal-alt-section {
@@ -1550,7 +1518,7 @@ body {
1550
1518
  display: block;
1551
1519
  margin-bottom: 6px;
1552
1520
  font-size: 13px;
1553
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
1521
+ color: var(--liminis-editor-foreground);
1554
1522
  opacity: 0.8;
1555
1523
  }
1556
1524
 
@@ -1558,20 +1526,20 @@ body {
1558
1526
  width: 100%;
1559
1527
  padding: 10px 12px;
1560
1528
  font-size: 14px;
1561
- font-family: var(--liminis-editor-font-family, var(--vscode-font-family));
1562
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
1563
- background: var(--liminis-editor-code-bg, var(--vscode-code-bg));
1564
- border: 1px solid var(--liminis-editor-border, var(--vscode-border));
1529
+ font-family: var(--liminis-editor-font-family);
1530
+ color: var(--liminis-editor-foreground);
1531
+ background: var(--liminis-editor-code-bg);
1532
+ border: 1px solid var(--liminis-editor-border);
1565
1533
  border-radius: 6px;
1566
1534
  outline: none;
1567
1535
  }
1568
1536
 
1569
1537
  .image-modal-input:focus {
1570
- border-color: var(--liminis-editor-link, var(--vscode-link));
1538
+ border-color: var(--liminis-editor-link);
1571
1539
  }
1572
1540
 
1573
1541
  .image-modal-input::placeholder {
1574
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
1542
+ color: var(--liminis-editor-foreground);
1575
1543
  opacity: 0.5;
1576
1544
  }
1577
1545
 
@@ -1590,13 +1558,13 @@ body {
1590
1558
  justify-content: flex-end;
1591
1559
  gap: 8px;
1592
1560
  padding: 16px;
1593
- border-top: 1px solid var(--liminis-editor-border, var(--vscode-border));
1561
+ border-top: 1px solid var(--liminis-editor-border);
1594
1562
  }
1595
1563
 
1596
1564
  .image-modal-button {
1597
1565
  padding: 8px 16px;
1598
1566
  font-size: 14px;
1599
- font-family: var(--liminis-editor-font-family, var(--vscode-font-family));
1567
+ font-family: var(--liminis-editor-font-family);
1600
1568
  border: none;
1601
1569
  border-radius: 6px;
1602
1570
  cursor: pointer;
@@ -1604,17 +1572,17 @@ body {
1604
1572
  }
1605
1573
 
1606
1574
  .image-modal-button.secondary {
1607
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
1608
- background: var(--liminis-editor-code-bg, var(--vscode-code-bg));
1575
+ color: var(--liminis-editor-foreground);
1576
+ background: var(--liminis-editor-code-bg);
1609
1577
  }
1610
1578
 
1611
1579
  .image-modal-button.secondary:hover {
1612
- background: var(--liminis-editor-selection, var(--vscode-selection));
1580
+ background: var(--liminis-editor-selection);
1613
1581
  }
1614
1582
 
1615
1583
  .image-modal-button.primary {
1616
1584
  color: white;
1617
- background: var(--liminis-editor-link, var(--vscode-link));
1585
+ background: var(--liminis-editor-link);
1618
1586
  }
1619
1587
 
1620
1588
  .image-modal-button.primary:hover {
@@ -1630,8 +1598,8 @@ body {
1630
1598
  align-items: center;
1631
1599
  gap: 8px;
1632
1600
  padding: 8px 12px;
1633
- background: var(--liminis-editor-background, var(--vscode-background));
1634
- border: 1px solid var(--liminis-editor-border, var(--vscode-border));
1601
+ background: var(--liminis-editor-background);
1602
+ border: 1px solid var(--liminis-editor-border);
1635
1603
  border-radius: 12px; /* Friendlier rounded corners */
1636
1604
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12); /* Softer shadow */
1637
1605
  z-index: 500;
@@ -1641,8 +1609,8 @@ body {
1641
1609
  display: flex;
1642
1610
  align-items: center;
1643
1611
  gap: 8px;
1644
- background: var(--liminis-editor-code-bg, var(--vscode-code-bg));
1645
- border: 1px solid var(--liminis-editor-border, var(--vscode-border));
1612
+ background: var(--liminis-editor-code-bg);
1613
+ border: 1px solid var(--liminis-editor-border);
1646
1614
  border-radius: 6px;
1647
1615
  padding: 4px 8px;
1648
1616
  }
@@ -1658,7 +1626,7 @@ body {
1658
1626
 
1659
1627
  .search-icon {
1660
1628
  flex-shrink: 0;
1661
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
1629
+ color: var(--liminis-editor-foreground);
1662
1630
  opacity: 0.5;
1663
1631
  }
1664
1632
 
@@ -1666,9 +1634,9 @@ body {
1666
1634
  width: 200px;
1667
1635
  border: none;
1668
1636
  background: transparent;
1669
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
1637
+ color: var(--liminis-editor-foreground);
1670
1638
  font-size: 14px;
1671
- font-family: var(--liminis-editor-font-family, var(--vscode-font-family));
1639
+ font-family: var(--liminis-editor-font-family);
1672
1640
  outline: none !important;
1673
1641
  }
1674
1642
 
@@ -1679,14 +1647,14 @@ body {
1679
1647
  }
1680
1648
 
1681
1649
  .search-input::placeholder {
1682
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
1650
+ color: var(--liminis-editor-foreground);
1683
1651
  opacity: 0.5;
1684
1652
  }
1685
1653
 
1686
1654
  .search-count {
1687
1655
  flex-shrink: 0;
1688
1656
  font-size: 12px;
1689
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
1657
+ color: var(--liminis-editor-foreground);
1690
1658
  opacity: 0.7;
1691
1659
  white-space: nowrap;
1692
1660
  }
@@ -1708,13 +1676,13 @@ body {
1708
1676
  background: transparent;
1709
1677
  border-radius: 4px;
1710
1678
  cursor: pointer;
1711
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
1679
+ color: var(--liminis-editor-foreground);
1712
1680
  transition: background 0.15s;
1713
1681
  }
1714
1682
 
1715
1683
  .search-nav-button:hover:not(:disabled),
1716
1684
  .search-close-button:hover {
1717
- background: var(--liminis-editor-code-bg, var(--vscode-code-bg));
1685
+ background: var(--liminis-editor-code-bg);
1718
1686
  }
1719
1687
 
1720
1688
  .search-nav-button:disabled {
@@ -1724,7 +1692,7 @@ body {
1724
1692
 
1725
1693
  .search-close-button:hover {
1726
1694
  /* Superseded by --liminis-editor-errorForeground's canonical #f14c4c default (ADR-93) */
1727
- color: var(--liminis-editor-errorForeground, var(--vscode-errorForeground, #f44336));
1695
+ color: var(--liminis-editor-errorForeground);
1728
1696
  }
1729
1697
 
1730
1698
  /* Search Highlight Layer */
@@ -1792,7 +1760,7 @@ body {
1792
1760
 
1793
1761
  /* Equation Editor Styles */
1794
1762
  .equation-editor-background {
1795
- background-color: var(--liminis-editor-code-bg, var(--vscode-code-bg));
1763
+ background-color: var(--liminis-editor-code-bg);
1796
1764
  padding: 4px 8px;
1797
1765
  border-radius: 4px;
1798
1766
  display: inline-flex;
@@ -1801,7 +1769,7 @@ body {
1801
1769
  }
1802
1770
 
1803
1771
  .equation-dollar-sign {
1804
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
1772
+ color: var(--liminis-editor-foreground);
1805
1773
  opacity: 0.5;
1806
1774
  font-family: monospace;
1807
1775
  white-space: pre;
@@ -1865,13 +1833,13 @@ body {
1865
1833
  .mermaid-loading {
1866
1834
  padding: 2rem;
1867
1835
  text-align: center;
1868
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
1836
+ color: var(--liminis-editor-foreground);
1869
1837
  opacity: 0.7;
1870
1838
  }
1871
1839
 
1872
1840
  /* Mermaid Editor Styles */
1873
1841
  .mermaid-editor-container {
1874
- background: var(--liminis-editor-code-bg, var(--vscode-code-bg));
1842
+ background: var(--liminis-editor-code-bg);
1875
1843
  border-radius: 8px;
1876
1844
  overflow: hidden;
1877
1845
  margin: 1em 0;
@@ -1889,14 +1857,14 @@ body {
1889
1857
  .mermaid-editor-label {
1890
1858
  font-family: monospace;
1891
1859
  font-size: 12px;
1892
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
1860
+ color: var(--liminis-editor-foreground);
1893
1861
  opacity: 0.7;
1894
1862
  }
1895
1863
 
1896
1864
  .mermaid-editor-close {
1897
1865
  background: transparent;
1898
1866
  border: none;
1899
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
1867
+ color: var(--liminis-editor-foreground);
1900
1868
  cursor: pointer;
1901
1869
  padding: 4px 8px;
1902
1870
  border-radius: 4px;
@@ -1916,7 +1884,7 @@ body {
1916
1884
  padding: 12px;
1917
1885
  border: none;
1918
1886
  background: transparent;
1919
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
1887
+ color: var(--liminis-editor-foreground);
1920
1888
  font-family: monospace;
1921
1889
  font-size: 14px;
1922
1890
  line-height: 1.5;
@@ -1925,7 +1893,7 @@ body {
1925
1893
  }
1926
1894
 
1927
1895
  .mermaid-editor-textarea::placeholder {
1928
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
1896
+ color: var(--liminis-editor-foreground);
1929
1897
  opacity: 0.5;
1930
1898
  }
1931
1899
 
@@ -1952,13 +1920,13 @@ body {
1952
1920
  .c4-loading {
1953
1921
  padding: 2rem;
1954
1922
  text-align: center;
1955
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
1923
+ color: var(--liminis-editor-foreground);
1956
1924
  opacity: 0.7;
1957
1925
  }
1958
1926
 
1959
1927
  /* C4 Editor Styles */
1960
1928
  .c4-editor-container {
1961
- background: var(--liminis-editor-code-bg, var(--vscode-code-bg));
1929
+ background: var(--liminis-editor-code-bg);
1962
1930
  border-radius: 8px;
1963
1931
  overflow: hidden;
1964
1932
  margin: 1em 0;
@@ -1976,14 +1944,14 @@ body {
1976
1944
  .c4-editor-label {
1977
1945
  font-family: monospace;
1978
1946
  font-size: 12px;
1979
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
1947
+ color: var(--liminis-editor-foreground);
1980
1948
  opacity: 0.7;
1981
1949
  }
1982
1950
 
1983
1951
  .c4-editor-close {
1984
1952
  background: transparent;
1985
1953
  border: none;
1986
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
1954
+ color: var(--liminis-editor-foreground);
1987
1955
  cursor: pointer;
1988
1956
  padding: 4px 8px;
1989
1957
  border-radius: 4px;
@@ -2003,7 +1971,7 @@ body {
2003
1971
  padding: 12px;
2004
1972
  border: none;
2005
1973
  background: transparent;
2006
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
1974
+ color: var(--liminis-editor-foreground);
2007
1975
  font-family: monospace;
2008
1976
  font-size: 14px;
2009
1977
  line-height: 1.5;
@@ -2012,7 +1980,7 @@ body {
2012
1980
  }
2013
1981
 
2014
1982
  .c4-editor-textarea::placeholder {
2015
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
1983
+ color: var(--liminis-editor-foreground);
2016
1984
  opacity: 0.5;
2017
1985
  }
2018
1986
 
@@ -2035,10 +2003,10 @@ body {
2035
2003
  width: 32px;
2036
2004
  height: 32px;
2037
2005
  padding: 0;
2038
- border: 1px solid var(--liminis-editor-border, var(--vscode-border));
2006
+ border: 1px solid var(--liminis-editor-border);
2039
2007
  border-radius: 6px;
2040
- background: var(--liminis-editor-background, var(--vscode-background));
2041
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
2008
+ background: var(--liminis-editor-background);
2009
+ color: var(--liminis-editor-foreground);
2042
2010
  cursor: pointer;
2043
2011
  opacity: 0.7;
2044
2012
  transition: opacity 0.15s, background-color 0.15s, border-color 0.15s;
@@ -2046,13 +2014,13 @@ body {
2046
2014
 
2047
2015
  .frontmatter-toggle-button:hover {
2048
2016
  opacity: 1;
2049
- background: var(--liminis-editor-code-bg, var(--vscode-code-bg));
2017
+ background: var(--liminis-editor-code-bg);
2050
2018
  }
2051
2019
 
2052
2020
  .frontmatter-toggle-button.frontmatter-toggle-active {
2053
2021
  opacity: 1;
2054
- background: var(--liminis-editor-link, var(--vscode-link));
2055
- border-color: var(--liminis-editor-link, var(--vscode-link));
2022
+ background: var(--liminis-editor-link);
2023
+ border-color: var(--liminis-editor-link);
2056
2024
  color: #ffffff;
2057
2025
  }
2058
2026
 
@@ -2063,8 +2031,8 @@ body {
2063
2031
  left: 0;
2064
2032
  right: 0;
2065
2033
  z-index: 5;
2066
- background: var(--liminis-editor-background, var(--vscode-background));
2067
- border-bottom: 1px solid var(--liminis-editor-border, var(--vscode-border));
2034
+ background: var(--liminis-editor-background);
2035
+ border-bottom: 1px solid var(--liminis-editor-border);
2068
2036
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
2069
2037
  transform: translateY(-100%);
2070
2038
  opacity: 0;
@@ -2087,14 +2055,14 @@ body {
2087
2055
  align-items: center;
2088
2056
  justify-content: space-between;
2089
2057
  padding: 8px 12px;
2090
- border-bottom: 1px solid var(--liminis-editor-border, var(--vscode-border));
2091
- background: var(--liminis-editor-code-bg, var(--vscode-code-bg));
2058
+ border-bottom: 1px solid var(--liminis-editor-border);
2059
+ background: var(--liminis-editor-code-bg);
2092
2060
  }
2093
2061
 
2094
2062
  .frontmatter-tray-title {
2095
2063
  font-size: 12px;
2096
2064
  font-weight: 600;
2097
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
2065
+ color: var(--liminis-editor-foreground);
2098
2066
  text-transform: uppercase;
2099
2067
  letter-spacing: 0.5px;
2100
2068
  }
@@ -2109,7 +2077,7 @@ body {
2109
2077
  border: none;
2110
2078
  border-radius: 4px;
2111
2079
  background: transparent;
2112
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
2080
+ color: var(--liminis-editor-foreground);
2113
2081
  cursor: pointer;
2114
2082
  opacity: 0.7;
2115
2083
  transition: opacity 0.15s, background-color 0.15s;
@@ -2117,7 +2085,7 @@ body {
2117
2085
 
2118
2086
  .frontmatter-tray-close:hover {
2119
2087
  opacity: 1;
2120
- background: var(--liminis-editor-border, var(--vscode-border));
2088
+ background: var(--liminis-editor-border);
2121
2089
  }
2122
2090
 
2123
2091
  .frontmatter-tray-content {
@@ -2129,10 +2097,10 @@ body {
2129
2097
  min-height: 80px;
2130
2098
  max-height: 300px;
2131
2099
  padding: 12px;
2132
- border: 1px solid var(--liminis-editor-border, var(--vscode-border));
2100
+ border: 1px solid var(--liminis-editor-border);
2133
2101
  border-radius: 4px;
2134
- background: var(--liminis-editor-code-bg, var(--vscode-code-bg));
2135
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
2102
+ background: var(--liminis-editor-code-bg);
2103
+ color: var(--liminis-editor-foreground);
2136
2104
  font-family: 'Menlo', 'Monaco', 'Courier New', monospace;
2137
2105
  font-size: 13px;
2138
2106
  line-height: 1.5;
@@ -2142,11 +2110,11 @@ body {
2142
2110
 
2143
2111
  .frontmatter-tray-textarea:focus {
2144
2112
  outline: none;
2145
- border-color: var(--liminis-editor-link, var(--vscode-link));
2113
+ border-color: var(--liminis-editor-link);
2146
2114
  }
2147
2115
 
2148
2116
  .frontmatter-tray-textarea::placeholder {
2149
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
2117
+ color: var(--liminis-editor-foreground);
2150
2118
  opacity: 0.5;
2151
2119
  }
2152
2120
 
@@ -2159,10 +2127,10 @@ body {
2159
2127
 
2160
2128
  .frontmatter-tray-toggle-raw {
2161
2129
  padding: 4px 8px;
2162
- border: 1px solid var(--liminis-editor-border, var(--vscode-border));
2130
+ border: 1px solid var(--liminis-editor-border);
2163
2131
  border-radius: 4px;
2164
2132
  background: transparent;
2165
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
2133
+ color: var(--liminis-editor-foreground);
2166
2134
  font-size: 11px;
2167
2135
  font-weight: 500;
2168
2136
  cursor: pointer;
@@ -2170,8 +2138,8 @@ body {
2170
2138
  }
2171
2139
 
2172
2140
  .frontmatter-tray-toggle-raw:hover {
2173
- background: var(--liminis-editor-border, var(--vscode-border));
2174
- border-color: var(--liminis-editor-foreground-muted, var(--vscode-foreground-muted, var(--liminis-editor-border, var(--vscode-border))));
2141
+ background: var(--liminis-editor-border);
2142
+ border-color: var(--liminis-editor-foreground-muted);
2175
2143
  }
2176
2144
 
2177
2145
  /* MDC Form Styles */
@@ -2193,7 +2161,7 @@ body {
2193
2161
  gap: 6px;
2194
2162
  font-size: 12px;
2195
2163
  font-weight: 600;
2196
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
2164
+ color: var(--liminis-editor-foreground);
2197
2165
  text-transform: uppercase;
2198
2166
  letter-spacing: 0.3px;
2199
2167
  }
@@ -2212,42 +2180,42 @@ body {
2212
2180
 
2213
2181
  .mdc-form-input {
2214
2182
  padding: 8px 12px;
2215
- border: 1px solid var(--liminis-editor-border, var(--vscode-border));
2183
+ border: 1px solid var(--liminis-editor-border);
2216
2184
  border-radius: 4px;
2217
- background: var(--liminis-editor-code-bg, var(--vscode-code-bg));
2218
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
2185
+ background: var(--liminis-editor-code-bg);
2186
+ color: var(--liminis-editor-foreground);
2219
2187
  font-size: 14px;
2220
2188
  line-height: 1.4;
2221
2189
  }
2222
2190
 
2223
2191
  .mdc-form-input:focus {
2224
2192
  outline: none;
2225
- border-color: var(--liminis-editor-link, var(--vscode-link));
2193
+ border-color: var(--liminis-editor-link);
2226
2194
  }
2227
2195
 
2228
2196
  .mdc-form-input::placeholder {
2229
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
2197
+ color: var(--liminis-editor-foreground);
2230
2198
  opacity: 0.5;
2231
2199
  }
2232
2200
 
2233
2201
  .mdc-form-select {
2234
2202
  padding: 8px 12px;
2235
- border: 1px solid var(--liminis-editor-border, var(--vscode-border));
2203
+ border: 1px solid var(--liminis-editor-border);
2236
2204
  border-radius: 4px;
2237
- background: var(--liminis-editor-code-bg, var(--vscode-code-bg));
2238
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
2205
+ background: var(--liminis-editor-code-bg);
2206
+ color: var(--liminis-editor-foreground);
2239
2207
  font-size: 14px;
2240
2208
  cursor: pointer;
2241
2209
  }
2242
2210
 
2243
2211
  .mdc-form-select:focus {
2244
2212
  outline: none;
2245
- border-color: var(--liminis-editor-link, var(--vscode-link));
2213
+ border-color: var(--liminis-editor-link);
2246
2214
  }
2247
2215
 
2248
2216
  .mdc-form-hint {
2249
2217
  font-size: 11px;
2250
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
2218
+ color: var(--liminis-editor-foreground);
2251
2219
  opacity: 0.7;
2252
2220
  line-height: 1.4;
2253
2221
  }
@@ -2257,7 +2225,7 @@ body {
2257
2225
  background: rgba(6, 150, 215, 0.08);
2258
2226
  border-radius: 4px;
2259
2227
  opacity: 1;
2260
- color: var(--liminis-editor-link, var(--vscode-link));
2228
+ color: var(--liminis-editor-link);
2261
2229
  }
2262
2230
 
2263
2231
  .dark .mdc-form-hint-info {
@@ -2290,15 +2258,15 @@ body {
2290
2258
  align-items: center;
2291
2259
  justify-content: space-between;
2292
2260
  padding: 6px 10px;
2293
- background: var(--liminis-editor-code-bg, var(--vscode-code-bg));
2294
- border: 1px solid var(--liminis-editor-border, var(--vscode-border));
2261
+ background: var(--liminis-editor-code-bg);
2262
+ border: 1px solid var(--liminis-editor-border);
2295
2263
  border-radius: 4px;
2296
2264
  }
2297
2265
 
2298
2266
  .mdc-glob-pattern {
2299
2267
  font-family: 'Menlo', 'Monaco', 'Courier New', monospace;
2300
2268
  font-size: 13px;
2301
- color: var(--liminis-editor-link, var(--vscode-link));
2269
+ color: var(--liminis-editor-link);
2302
2270
  }
2303
2271
 
2304
2272
  .mdc-glob-remove {
@@ -2311,7 +2279,7 @@ body {
2311
2279
  border: none;
2312
2280
  border-radius: 4px;
2313
2281
  background: transparent;
2314
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
2282
+ color: var(--liminis-editor-foreground);
2315
2283
  cursor: pointer;
2316
2284
  opacity: 0.5;
2317
2285
  transition: opacity 0.15s, background-color 0.15s;
@@ -2334,10 +2302,10 @@ body {
2334
2302
 
2335
2303
  .mdc-glob-add-btn {
2336
2304
  padding: 8px 16px;
2337
- border: 1px solid var(--liminis-editor-link, var(--vscode-link));
2305
+ border: 1px solid var(--liminis-editor-link);
2338
2306
  border-radius: 4px;
2339
2307
  background: transparent;
2340
- color: var(--liminis-editor-link, var(--vscode-link));
2308
+ color: var(--liminis-editor-link);
2341
2309
  font-size: 13px;
2342
2310
  font-weight: 500;
2343
2311
  cursor: pointer;
@@ -2345,7 +2313,7 @@ body {
2345
2313
  }
2346
2314
 
2347
2315
  .mdc-glob-add-btn:hover:not(:disabled) {
2348
- background: var(--liminis-editor-link, var(--vscode-link));
2316
+ background: var(--liminis-editor-link);
2349
2317
  color: #ffffff;
2350
2318
  }
2351
2319
 
@@ -2358,13 +2326,13 @@ body {
2358
2326
  .mdc-other-yaml {
2359
2327
  margin: 0;
2360
2328
  padding: 10px 12px;
2361
- background: var(--liminis-editor-code-bg, var(--vscode-code-bg));
2362
- border: 1px solid var(--liminis-editor-border, var(--vscode-border));
2329
+ background: var(--liminis-editor-code-bg);
2330
+ border: 1px solid var(--liminis-editor-border);
2363
2331
  border-radius: 4px;
2364
2332
  font-family: 'Menlo', 'Monaco', 'Courier New', monospace;
2365
2333
  font-size: 12px;
2366
2334
  line-height: 1.5;
2367
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
2335
+ color: var(--liminis-editor-foreground);
2368
2336
  opacity: 0.8;
2369
2337
  white-space: pre-wrap;
2370
2338
  overflow-x: auto;
@@ -2417,7 +2385,7 @@ body {
2417
2385
  focusable, so they are reachable by Tab. */
2418
2386
  .annotation-mark-highlight:focus-visible,
2419
2387
  .annotation-mark-squiggle:focus-visible {
2420
- outline: 2px solid var(--liminis-editor-link, var(--vscode-link));
2388
+ outline: 2px solid var(--liminis-editor-link);
2421
2389
  outline-offset: 1px;
2422
2390
  }
2423
2391
 
@@ -2501,7 +2469,7 @@ body {
2501
2469
  padding: 4px 8px;
2502
2470
  border: none;
2503
2471
  background: transparent;
2504
- color: var(--liminis-editor-foreground, var(--vscode-foreground));
2472
+ color: var(--liminis-editor-foreground);
2505
2473
  opacity: 0.7;
2506
2474
  text-align: left;
2507
2475
  cursor: pointer;
@@ -2510,12 +2478,12 @@ body {
2510
2478
 
2511
2479
  .editor-outline-item-button:hover {
2512
2480
  opacity: 1;
2513
- background: var(--liminis-editor-code-bg, var(--vscode-code-bg));
2481
+ background: var(--liminis-editor-code-bg);
2514
2482
  }
2515
2483
 
2516
2484
  .editor-outline-item-active .editor-outline-item-button {
2517
2485
  opacity: 1;
2518
- color: var(--liminis-editor-link, var(--vscode-link));
2486
+ color: var(--liminis-editor-link);
2519
2487
  }
2520
2488
 
2521
2489
  .editor-outline-indicator {
@@ -2527,7 +2495,7 @@ body {
2527
2495
  }
2528
2496
 
2529
2497
  .editor-outline-item-active .editor-outline-indicator {
2530
- background: var(--liminis-editor-link, var(--vscode-link));
2498
+ background: var(--liminis-editor-link);
2531
2499
  }
2532
2500
 
2533
2501
  .editor-outline-item-text {
@@ -2567,21 +2535,24 @@ body {
2567
2535
  Ensures the editor content prints cleanly with proper formatting.
2568
2536
  */
2569
2537
  @media print {
2570
- /* Reset editor colors for print */
2538
+ /* Reset editor colors for print. This is an internal consumer, not a
2539
+ host — it overrides --liminis-editor-* directly (ADR-98) rather than a
2540
+ legacy name a host might also be setting. --slashmd-heading-color had
2541
+ no --liminis-editor-* counterpart (unconsumed, no dark override either)
2542
+ and is dropped rather than invented (ADR-98). */
2571
2543
  :root,
2572
2544
  .dark {
2573
- --vscode-foreground: #000000;
2574
- --vscode-background: #ffffff;
2575
- --vscode-code-bg: #f5f5f5;
2576
- --vscode-border: #cccccc;
2577
- --checkbox-border: #666666;
2578
- --vscode-link: #0066cc;
2579
- --slashmd-heading-color: #000000;
2580
- --slashmd-h1-color: #000000;
2581
- --slashmd-h2-color: #000000;
2582
- --slashmd-h3-color: #000000;
2583
- --slashmd-h4-color: #000000;
2584
- --slashmd-h5-color: #000000;
2545
+ --liminis-editor-foreground: #000000;
2546
+ --liminis-editor-background: #ffffff;
2547
+ --liminis-editor-code-bg: #f5f5f5;
2548
+ --liminis-editor-border: #cccccc;
2549
+ --liminis-editor-checkbox-border: #666666;
2550
+ --liminis-editor-link: #0066cc;
2551
+ --liminis-editor-h1-color: #000000;
2552
+ --liminis-editor-h2-color: #000000;
2553
+ --liminis-editor-h3-color: #000000;
2554
+ --liminis-editor-h4-color: #000000;
2555
+ --liminis-editor-h5-color: #000000;
2585
2556
  }
2586
2557
 
2587
2558
  body {