@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.
- package/LICENSE +0 -13
- package/README.md +122 -75
- package/dist/app/editor/CorrectionPanelPlugin.js +10 -11
- package/dist/app/editor/DragHandlePlugin.js +1 -1
- package/dist/app/editor/SelectionContextMenuPlugin.js +4 -4
- package/dist/app/editor/nodes/C4Component.js +8 -10
- package/dist/app/editor/nodes/C4Node.d.ts +1 -1
- package/dist/app/editor/nodes/DiagramContextMenu.js +5 -5
- package/dist/headless.d.ts +3 -5
- package/dist/headless.js +2 -4
- package/dist/index.d.ts +1 -1
- package/dist/styles.css +425 -454
- package/docs/architecture.md +80 -0
- package/docs/decisions/adr-93-liminis-editor-defined-aliases.md +28 -1
- package/docs/decisions/adr-98-invert-token-direction.md +309 -0
- package/docs/diagrams/architecture-1-dark.svg +1 -0
- package/docs/diagrams/architecture-1.svg +1 -0
- package/docs/diagrams/architecture-2-dark.svg +1 -0
- package/docs/diagrams/architecture-2.svg +1 -0
- package/package.json +2 -2
- package/dist/app/editor/c4/C4InteractiveRenderer.d.ts +0 -35
- package/dist/app/editor/c4/C4InteractiveRenderer.js +0 -299
- package/dist/app/editor/c4/edge-clipping.d.ts +0 -24
- package/dist/app/editor/c4/edge-clipping.js +0 -139
- package/dist/app/editor/c4/hooks/useC4DiagramDrag.d.ts +0 -38
- package/dist/app/editor/c4/hooks/useC4DiagramDrag.js +0 -112
- package/dist/app/editor/c4/layout.d.ts +0 -25
- package/dist/app/editor/c4/layout.js +0 -839
- package/dist/app/editor/c4/parser.d.ts +0 -19
- package/dist/app/editor/c4/parser.js +0 -410
- package/dist/app/editor/c4/render-to-string.d.ts +0 -24
- package/dist/app/editor/c4/render-to-string.js +0 -34
- package/dist/app/editor/c4/renderer.d.ts +0 -64
- package/dist/app/editor/c4/renderer.js +0 -569
- package/dist/app/editor/c4/types.d.ts +0 -203
- 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
|
-
|
|
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
|
-
|
|
8
|
-
|
|
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
|
-
--
|
|
12
|
-
--
|
|
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
|
-
--
|
|
16
|
-
--
|
|
17
|
-
--
|
|
18
|
-
--
|
|
19
|
-
--
|
|
20
|
-
--
|
|
21
|
-
--
|
|
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
|
-
--
|
|
26
|
-
--
|
|
27
|
-
--
|
|
28
|
-
--
|
|
29
|
-
--
|
|
30
|
-
--
|
|
31
|
-
--
|
|
32
|
-
--
|
|
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
|
-
--
|
|
36
|
-
--
|
|
37
|
-
--
|
|
38
|
-
--
|
|
39
|
-
--
|
|
40
|
-
--
|
|
41
|
-
--
|
|
42
|
-
--
|
|
43
|
-
--
|
|
44
|
-
--
|
|
45
|
-
--
|
|
46
|
-
--
|
|
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
|
-
--
|
|
51
|
-
--
|
|
52
|
-
--
|
|
53
|
-
--
|
|
54
|
-
--
|
|
55
|
-
--
|
|
56
|
-
--
|
|
57
|
-
--
|
|
58
|
-
--
|
|
59
|
-
--
|
|
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
|
-
|
|
67
|
-
--editor-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
--
|
|
71
|
-
--
|
|
72
|
-
--
|
|
73
|
-
--
|
|
74
|
-
--
|
|
75
|
-
--
|
|
76
|
-
--
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
--
|
|
81
|
-
--
|
|
82
|
-
--
|
|
83
|
-
--
|
|
84
|
-
--
|
|
85
|
-
--
|
|
86
|
-
|
|
87
|
-
--
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
--
|
|
91
|
-
--
|
|
92
|
-
|
|
93
|
-
--
|
|
94
|
-
--
|
|
95
|
-
--
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
--
|
|
99
|
-
|
|
100
|
-
--
|
|
101
|
-
--
|
|
102
|
-
--
|
|
103
|
-
--
|
|
104
|
-
--
|
|
105
|
-
--
|
|
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
|
|
247
|
-
font-size: var(--liminis-editor-font-size
|
|
248
|
-
color: var(--liminis-editor-foreground
|
|
249
|
-
background: var(--liminis-editor-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
|
|
260
|
-
border-top-color: var(--liminis-editor-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
|
|
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
|
|
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
|
|
344
|
-
margin-left: var(--liminis-editor-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
|
|
353
|
-
margin-left: var(--liminis-editor-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
|
|
362
|
-
margin-left: var(--liminis-editor-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
|
|
371
|
-
margin-left: var(--liminis-editor-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
|
|
380
|
-
margin-left: var(--liminis-editor-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
|
|
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
|
|
423
|
-
border-color: var(--liminis-editor-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
|
|
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
|
|
465
|
-
border-color: var(--liminis-editor-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
|
|
486
|
-
background: var(--liminis-editor-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
|
|
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
|
|
518
|
-
color: var(--liminis-editor-foreground
|
|
519
|
-
background: var(--liminis-editor-code-bg
|
|
520
|
-
border: 1px solid var(--liminis-editor-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
|
|
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
|
|
541
|
-
background: var(--liminis-editor-code-bg
|
|
542
|
-
border: 1px solid var(--liminis-editor-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
|
|
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
|
|
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
|
|
566
|
-
border: 1px solid var(--liminis-editor-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
|
|
578
|
-
color: var(--liminis-editor-foreground
|
|
579
|
-
background: var(--liminis-editor-code-bg
|
|
580
|
-
border: 1px solid var(--liminis-editor-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
|
|
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
|
|
603
|
-
color: var(--liminis-editor-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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
664
|
+
color: var(--liminis-editor-errorForeground) !important;
|
|
697
665
|
}
|
|
698
666
|
|
|
699
667
|
.editor-link-broken:hover {
|
|
700
|
-
color: var(--liminis-editor-errorForeground
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
790
|
-
border: 2px solid var(--liminis-editor-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
|
|
848
|
-
border-left-color: var(--liminis-editor-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
|
|
853
|
-
border-left-color: var(--liminis-editor-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
|
|
858
|
-
border-left-color: var(--liminis-editor-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
|
|
863
|
-
border-left-color: var(--liminis-editor-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
|
|
868
|
-
border-left-color: var(--liminis-editor-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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
989
|
-
border: 1px solid var(--liminis-editor-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
|
|
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
|
|
978
|
+
background: var(--liminis-editor-code-bg);
|
|
1011
979
|
}
|
|
1012
980
|
|
|
1013
981
|
.toolbar-button.active {
|
|
1014
|
-
background: var(--liminis-editor-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
|
|
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
|
|
1032
|
-
border: 1px solid var(--liminis-editor-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
|
|
1042
|
-
background: var(--liminis-editor-input-bg
|
|
1043
|
-
border: 1px solid var(--liminis-editor-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
|
|
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
|
|
1060
|
-
border: 1px solid var(--liminis-editor-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
|
|
1039
|
+
color: var(--liminis-editor-foreground);
|
|
1072
1040
|
opacity: 0.6;
|
|
1073
|
-
border-bottom: 1px solid var(--liminis-editor-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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
1184
|
+
color: var(--liminis-editor-token-comment);
|
|
1217
1185
|
}
|
|
1218
1186
|
|
|
1219
1187
|
.editor-tokenPunctuation {
|
|
1220
|
-
color: var(--liminis-editor-token-punctuation
|
|
1188
|
+
color: var(--liminis-editor-token-punctuation);
|
|
1221
1189
|
}
|
|
1222
1190
|
|
|
1223
1191
|
.editor-tokenProperty {
|
|
1224
|
-
color: var(--liminis-editor-token-property
|
|
1192
|
+
color: var(--liminis-editor-token-property);
|
|
1225
1193
|
}
|
|
1226
1194
|
|
|
1227
1195
|
.editor-tokenSelector {
|
|
1228
|
-
color: var(--liminis-editor-token-selector
|
|
1196
|
+
color: var(--liminis-editor-token-selector);
|
|
1229
1197
|
}
|
|
1230
1198
|
|
|
1231
1199
|
.editor-tokenOperator {
|
|
1232
|
-
color: var(--liminis-editor-token-operator
|
|
1200
|
+
color: var(--liminis-editor-token-operator);
|
|
1233
1201
|
}
|
|
1234
1202
|
|
|
1235
1203
|
.editor-tokenAttr {
|
|
1236
|
-
color: var(--liminis-editor-token-keyword
|
|
1204
|
+
color: var(--liminis-editor-token-keyword);
|
|
1237
1205
|
}
|
|
1238
1206
|
|
|
1239
1207
|
.editor-tokenVariable {
|
|
1240
|
-
color: var(--liminis-editor-token-variable
|
|
1208
|
+
color: var(--liminis-editor-token-variable);
|
|
1241
1209
|
}
|
|
1242
1210
|
|
|
1243
1211
|
.editor-tokenFunction {
|
|
1244
|
-
color: var(--liminis-editor-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
|
|
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
|
|
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
|
|
1301
|
-
border: 1px solid var(--liminis-editor-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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
1407
|
-
border: 1px solid var(--liminis-editor-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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
1508
|
+
border: 1px solid var(--liminis-editor-border);
|
|
1541
1509
|
border-radius: 8px;
|
|
1542
|
-
background: var(--liminis-editor-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
|
|
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
|
|
1562
|
-
color: var(--liminis-editor-foreground
|
|
1563
|
-
background: var(--liminis-editor-code-bg
|
|
1564
|
-
border: 1px solid var(--liminis-editor-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
|
|
1538
|
+
border-color: var(--liminis-editor-link);
|
|
1571
1539
|
}
|
|
1572
1540
|
|
|
1573
1541
|
.image-modal-input::placeholder {
|
|
1574
|
-
color: var(--liminis-editor-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
|
|
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
|
|
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
|
|
1608
|
-
background: var(--liminis-editor-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
|
|
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
|
|
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
|
|
1634
|
-
border: 1px solid var(--liminis-editor-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
|
|
1645
|
-
border: 1px solid var(--liminis-editor-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
|
|
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
|
|
1637
|
+
color: var(--liminis-editor-foreground);
|
|
1670
1638
|
font-size: 14px;
|
|
1671
|
-
font-family: var(--liminis-editor-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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
2006
|
+
border: 1px solid var(--liminis-editor-border);
|
|
2039
2007
|
border-radius: 6px;
|
|
2040
|
-
background: var(--liminis-editor-background
|
|
2041
|
-
color: var(--liminis-editor-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
|
|
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
|
|
2055
|
-
border-color: var(--liminis-editor-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
|
|
2067
|
-
border-bottom: 1px solid var(--liminis-editor-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
|
|
2091
|
-
background: var(--liminis-editor-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
|
|
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
|
|
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
|
|
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
|
|
2100
|
+
border: 1px solid var(--liminis-editor-border);
|
|
2133
2101
|
border-radius: 4px;
|
|
2134
|
-
background: var(--liminis-editor-code-bg
|
|
2135
|
-
color: var(--liminis-editor-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
|
|
2113
|
+
border-color: var(--liminis-editor-link);
|
|
2146
2114
|
}
|
|
2147
2115
|
|
|
2148
2116
|
.frontmatter-tray-textarea::placeholder {
|
|
2149
|
-
color: var(--liminis-editor-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
|
|
2130
|
+
border: 1px solid var(--liminis-editor-border);
|
|
2163
2131
|
border-radius: 4px;
|
|
2164
2132
|
background: transparent;
|
|
2165
|
-
color: var(--liminis-editor-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
|
|
2174
|
-
border-color: var(--liminis-editor-foreground-muted
|
|
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
|
|
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
|
|
2183
|
+
border: 1px solid var(--liminis-editor-border);
|
|
2216
2184
|
border-radius: 4px;
|
|
2217
|
-
background: var(--liminis-editor-code-bg
|
|
2218
|
-
color: var(--liminis-editor-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
|
|
2193
|
+
border-color: var(--liminis-editor-link);
|
|
2226
2194
|
}
|
|
2227
2195
|
|
|
2228
2196
|
.mdc-form-input::placeholder {
|
|
2229
|
-
color: var(--liminis-editor-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
|
|
2203
|
+
border: 1px solid var(--liminis-editor-border);
|
|
2236
2204
|
border-radius: 4px;
|
|
2237
|
-
background: var(--liminis-editor-code-bg
|
|
2238
|
-
color: var(--liminis-editor-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
|
|
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
|
|
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
|
|
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
|
|
2294
|
-
border: 1px solid var(--liminis-editor-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
|
|
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
|
|
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
|
|
2305
|
+
border: 1px solid var(--liminis-editor-link);
|
|
2338
2306
|
border-radius: 4px;
|
|
2339
2307
|
background: transparent;
|
|
2340
|
-
color: var(--liminis-editor-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
|
|
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
|
|
2362
|
-
border: 1px solid var(--liminis-editor-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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
--
|
|
2574
|
-
--
|
|
2575
|
-
--
|
|
2576
|
-
--
|
|
2577
|
-
--checkbox-border: #666666;
|
|
2578
|
-
--
|
|
2579
|
-
--
|
|
2580
|
-
--
|
|
2581
|
-
--
|
|
2582
|
-
--
|
|
2583
|
-
--
|
|
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 {
|