@wildmason/aegis 1.6.0 → 1.7.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/themes.css CHANGED
@@ -46,10 +46,10 @@
46
46
  ---------------------------------------------------------------- */
47
47
  :root {
48
48
  /* Border radius */
49
- --wm-radius-xs: 4px;
50
- --wm-radius-sm: 6px;
51
- --wm-radius-md: 8px;
52
- --wm-radius-lg: 12px;
49
+ --wm-radius-xs: 4px;
50
+ --wm-radius-sm: 6px;
51
+ --wm-radius-md: 8px;
52
+ --wm-radius-lg: 12px;
53
53
  --wm-radius-full: 9999px;
54
54
 
55
55
  /* Motion */
@@ -59,7 +59,8 @@
59
59
 
60
60
  /* Typography */
61
61
  --wm-font-sans: system-ui, -apple-system, 'Segoe UI', sans-serif;
62
- --wm-font-mono: 'Cascadia Code', 'Fira Code', Consolas, 'Courier New', monospace;
62
+ --wm-font-mono:
63
+ 'Cascadia Code', 'Fira Code', Consolas, 'Courier New', monospace;
63
64
 
64
65
  /* Fixed semantic colors (not theme-dependent) */
65
66
  --wm-color-critical: #7c3aed;
@@ -68,29 +69,78 @@
68
69
  --wm-priority-alpha: 15%;
69
70
 
70
71
  /* Priority tokens — computed from semantic colors at current theme scope */
71
- --wm-priority-critical-bg: color-mix(in srgb, var(--wm-color-critical) var(--wm-priority-alpha), transparent);
72
+ --wm-priority-critical-bg: color-mix(
73
+ in srgb,
74
+ var(--wm-color-critical) var(--wm-priority-alpha),
75
+ transparent
76
+ );
72
77
  --wm-priority-critical-text: var(--wm-color-critical);
73
- --wm-priority-high-bg: color-mix(in srgb, var(--wm-color-danger) var(--wm-priority-alpha), transparent);
74
- --wm-priority-high-text: var(--wm-color-danger);
75
- --wm-priority-medium-bg: color-mix(in srgb, var(--wm-color-warning) var(--wm-priority-alpha), transparent);
76
- --wm-priority-medium-text: var(--wm-color-warning);
77
- --wm-priority-low-bg: color-mix(in srgb, var(--wm-color-success) var(--wm-priority-alpha), transparent);
78
- --wm-priority-low-text: var(--wm-color-success);
78
+ --wm-priority-high-bg: color-mix(
79
+ in srgb,
80
+ var(--wm-color-danger) var(--wm-priority-alpha),
81
+ transparent
82
+ );
83
+ --wm-priority-high-text: var(--wm-color-danger);
84
+ --wm-priority-medium-bg: color-mix(
85
+ in srgb,
86
+ var(--wm-color-warning) var(--wm-priority-alpha),
87
+ transparent
88
+ );
89
+ --wm-priority-medium-text: var(--wm-color-warning);
90
+ --wm-priority-low-bg: color-mix(
91
+ in srgb,
92
+ var(--wm-color-success) var(--wm-priority-alpha),
93
+ transparent
94
+ );
95
+ --wm-priority-low-text: var(--wm-color-success);
79
96
 
80
97
  /* Modal backdrop — opacity set per-theme via --wm-backdrop-opacity */
81
98
  --wm-modal-backdrop: rgba(0, 0, 0, var(--wm-backdrop-opacity));
82
99
 
83
100
  /* Derived tokens — computed at scope, valid for all themes */
84
- --wm-bg-active: color-mix(in srgb, var(--wm-color-accent) 10%, transparent);
85
- --wm-color-danger-bg: color-mix(in srgb, var(--wm-color-danger) 8%, transparent);
86
- --wm-color-danger-border: color-mix(in srgb, var(--wm-color-danger) 25%, transparent);
87
- --wm-color-success-bg: color-mix(in srgb, var(--wm-color-success) 8%, transparent);
88
- --wm-color-success-border:color-mix(in srgb, var(--wm-color-success) 25%, transparent);
89
- --wm-color-warning-bg: color-mix(in srgb, var(--wm-color-warning) 8%, transparent);
90
- --wm-color-warning-border:color-mix(in srgb, var(--wm-color-warning) 25%, transparent);
101
+ --wm-bg-active: color-mix(in srgb, var(--wm-color-accent) 10%, transparent);
102
+ --wm-color-danger-bg: color-mix(
103
+ in srgb,
104
+ var(--wm-color-danger) 8%,
105
+ transparent
106
+ );
107
+ --wm-color-danger-border: color-mix(
108
+ in srgb,
109
+ var(--wm-color-danger) 25%,
110
+ transparent
111
+ );
112
+ --wm-color-success-bg: color-mix(
113
+ in srgb,
114
+ var(--wm-color-success) 8%,
115
+ transparent
116
+ );
117
+ --wm-color-success-border: color-mix(
118
+ in srgb,
119
+ var(--wm-color-success) 25%,
120
+ transparent
121
+ );
122
+ --wm-color-warning-bg: color-mix(
123
+ in srgb,
124
+ var(--wm-color-warning) 8%,
125
+ transparent
126
+ );
127
+ --wm-color-warning-border: color-mix(
128
+ in srgb,
129
+ var(--wm-color-warning) 25%,
130
+ transparent
131
+ );
132
+
133
+ /* "Readable" accent — used in `color:` (text) contexts where WCAG AA
134
+ contrast (4.5:1) must be met against bg-base / bg-raised / bg-float.
135
+ Defaults to the theme's --wm-color-accent so most themes need no
136
+ override; themes whose accent is too low-contrast for body text
137
+ (currently Stone & Moss) override this to a lighter sibling while
138
+ keeping --wm-color-accent itself for fills, focus rings, and other
139
+ non-text usages where 3:1 (WCAG 1.4.11) is sufficient. Falls back
140
+ to --wm-color-accent at use-time via CSS variable evaluation. */
141
+ --wm-color-accent-readable: var(--wm-color-accent);
91
142
  }
92
143
 
93
-
94
144
  /* ================================================================
95
145
  Warm Light (Default)
96
146
  ================================================================ */
@@ -99,44 +149,44 @@
99
149
  color-scheme: light;
100
150
 
101
151
  /* Surfaces */
102
- --wm-bg-base: #ececea;
103
- --wm-bg-raised: #e1e1de;
104
- --wm-bg-float: #d2d2ce;
105
- --wm-bg-sunken: #f9f9f8;
106
- --wm-bg-hover: #f4f4f3;
152
+ --wm-bg-base: #ececea;
153
+ --wm-bg-raised: #e1e1de;
154
+ --wm-bg-float: #d2d2ce;
155
+ --wm-bg-sunken: #f9f9f8;
156
+ --wm-bg-hover: #f4f4f3;
107
157
  --wm-bg-foreground: #c4c4c0;
108
158
 
109
159
  /* Text */
110
- --wm-text-primary: #002b36;
111
- --wm-text-secondary: #073642;
112
- --wm-text-muted: #525e64;
160
+ --wm-text-primary: #002b36;
161
+ --wm-text-secondary: #073642;
162
+ --wm-text-muted: #474f57;
113
163
  --wm-text-placeholder: #8d9fa6;
114
164
 
115
165
  /* Borders */
116
- --wm-border: #eee8d5;
166
+ --wm-border: #eee8d5;
117
167
  --wm-border-subtle: #d6cdb7;
118
- --wm-border-hover: #268bd2;
119
- --wm-border-input: #7a7460;
168
+ --wm-border-hover: #268bd2;
169
+ --wm-border-input: #7a7460;
120
170
 
121
171
  /* Accent */
122
- --wm-color-accent: #1b6ca5;
172
+ --wm-color-accent: #105987;
123
173
  --wm-color-accent-hover: #2aa198;
124
- --wm-color-accent-text: #ffffff;
174
+ --wm-color-accent-text: #ffffff;
125
175
 
126
176
  /* Semantic */
127
- --wm-color-success: #586900;
128
- --wm-color-warning: #856600;
129
- --wm-color-danger: #bd2c29;
177
+ --wm-color-success: #485600;
178
+ --wm-color-warning: #705400;
179
+ --wm-color-danger: #bd2c29;
130
180
 
131
181
  /* Item type colors (Works-specific) */
132
- --wm-color-task: #1b6ca5;
133
- --wm-color-bug: #bd2c29;
134
- --wm-color-story: #586900;
135
- --wm-color-epic: #4e53a2;
136
- --wm-color-initiative: #9b3a10;
137
- --wm-color-completed: #1e7a71;
138
- --wm-color-epic-text: #ffffff;
139
- --wm-color-initiative-text: #ffffff;
182
+ --wm-color-task: #1b6ca5;
183
+ --wm-color-bug: #bd2c29;
184
+ --wm-color-story: #586900;
185
+ --wm-color-epic: #4e53a2;
186
+ --wm-color-initiative: #9b3a10;
187
+ --wm-color-completed: #1e7a71;
188
+ --wm-color-epic-text: #ffffff;
189
+ --wm-color-initiative-text: #ffffff;
140
190
 
141
191
  /* Shadows */
142
192
  --wm-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.08);
@@ -147,18 +197,17 @@
147
197
  --wm-backdrop-opacity: 0.35;
148
198
 
149
199
  /* Syntax highlighting */
150
- --wm-syntax-keyword: #859900;
151
- --wm-syntax-string: #2aa198;
152
- --wm-syntax-comment: #93a1a1;
153
- --wm-syntax-number: #d33682;
200
+ --wm-syntax-keyword: #859900;
201
+ --wm-syntax-string: #2aa198;
202
+ --wm-syntax-comment: #93a1a1;
203
+ --wm-syntax-number: #d33682;
154
204
  --wm-syntax-function: #268bd2;
155
- --wm-syntax-type: #b58900;
205
+ --wm-syntax-type: #b58900;
156
206
  --wm-syntax-variable: #cb4b16;
157
- --wm-syntax-attr: #b58900;
158
- --wm-syntax-builtin: #6c71c4;
207
+ --wm-syntax-attr: #b58900;
208
+ --wm-syntax-builtin: #6c71c4;
159
209
  }
160
210
 
161
-
162
211
  /* ================================================================
163
212
  Neutral Light
164
213
  ================================================================ */
@@ -166,44 +215,44 @@
166
215
  color-scheme: light;
167
216
 
168
217
  /* Surfaces */
169
- --wm-bg-base: #ebebeb;
170
- --wm-bg-raised: #e0e0e0;
171
- --wm-bg-float: #d0d0d0;
172
- --wm-bg-sunken: #f8f8f8;
173
- --wm-bg-hover: #f3f3f3;
218
+ --wm-bg-base: #ebebeb;
219
+ --wm-bg-raised: #e0e0e0;
220
+ --wm-bg-float: #d0d0d0;
221
+ --wm-bg-sunken: #f8f8f8;
222
+ --wm-bg-hover: #f3f3f3;
174
223
  --wm-bg-foreground: #bababa;
175
224
 
176
225
  /* Text */
177
- --wm-text-primary: #111111;
178
- --wm-text-secondary: #333333;
179
- --wm-text-muted: #666666;
226
+ --wm-text-primary: #111111;
227
+ --wm-text-secondary: #333333;
228
+ --wm-text-muted: #555555;
180
229
  --wm-text-placeholder: #999999;
181
230
 
182
231
  /* Borders */
183
- --wm-border: #cccccc;
232
+ --wm-border: #cccccc;
184
233
  --wm-border-subtle: #dddddd;
185
- --wm-border-hover: #888888;
186
- --wm-border-input: #7d7d7d;
234
+ --wm-border-hover: #888888;
235
+ --wm-border-input: #7d7d7d;
187
236
 
188
237
  /* Accent */
189
- --wm-color-accent: #2e5fba;
238
+ --wm-color-accent: #1b4a9e;
190
239
  --wm-color-accent-hover: #3061af;
191
- --wm-color-accent-text: #ffffff;
240
+ --wm-color-accent-text: #ffffff;
192
241
 
193
242
  /* Semantic */
194
- --wm-color-success: #0a7065;
195
- --wm-color-warning: #b45309;
196
- --wm-color-danger: #dc2626;
243
+ --wm-color-success: #085a50;
244
+ --wm-color-warning: #8c4000;
245
+ --wm-color-danger: #dc2626;
197
246
 
198
247
  /* Item type colors */
199
- --wm-color-task: #2563eb;
200
- --wm-color-bug: #dc2626;
201
- --wm-color-story: #059669;
202
- --wm-color-epic: #7c3aed;
203
- --wm-color-initiative: #c2410c;
204
- --wm-color-completed: #6366f1;
205
- --wm-color-epic-text: #ffffff;
206
- --wm-color-initiative-text: #ffffff;
248
+ --wm-color-task: #2563eb;
249
+ --wm-color-bug: #dc2626;
250
+ --wm-color-story: #059669;
251
+ --wm-color-epic: #7c3aed;
252
+ --wm-color-initiative: #c2410c;
253
+ --wm-color-completed: #6366f1;
254
+ --wm-color-epic-text: #ffffff;
255
+ --wm-color-initiative-text: #ffffff;
207
256
 
208
257
  /* Shadows */
209
258
  --wm-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.06);
@@ -214,65 +263,68 @@
214
263
  --wm-backdrop-opacity: 0.35;
215
264
 
216
265
  /* Syntax highlighting */
217
- --wm-syntax-keyword: #a626a4;
218
- --wm-syntax-string: #50a14f;
219
- --wm-syntax-comment: #a0a1a7;
220
- --wm-syntax-number: #986801;
266
+ --wm-syntax-keyword: #a626a4;
267
+ --wm-syntax-string: #50a14f;
268
+ --wm-syntax-comment: #a0a1a7;
269
+ --wm-syntax-number: #986801;
221
270
  --wm-syntax-function: #4078f2;
222
- --wm-syntax-type: #c18401;
271
+ --wm-syntax-type: #c18401;
223
272
  --wm-syntax-variable: #e45649;
224
- --wm-syntax-attr: #986801;
225
- --wm-syntax-builtin: #0184bc;
273
+ --wm-syntax-attr: #986801;
274
+ --wm-syntax-builtin: #0184bc;
226
275
  }
227
276
 
228
-
229
277
  /* ================================================================
230
278
  Arctic Night
231
279
  ================================================================ */
232
280
  [data-theme='arctic-night'] {
233
281
  color-scheme: dark;
234
282
  --wm-priority-alpha: 20%;
235
- --wm-priority-critical-text: color-mix(in srgb, var(--wm-color-critical) 85%, white);
283
+ --wm-priority-critical-text: color-mix(
284
+ in srgb,
285
+ var(--wm-color-critical) 85%,
286
+ white
287
+ );
236
288
 
237
289
  /* Surfaces */
238
- --wm-bg-sunken: #242933;
239
- --wm-bg-base: #2e3440;
240
- --wm-bg-raised: #3b4252;
241
- --wm-bg-float: #434c5e;
242
- --wm-bg-hover: #4c566a;
290
+ --wm-bg-sunken: #242933;
291
+ --wm-bg-base: #2e3440;
292
+ --wm-bg-raised: #3b4252;
293
+ --wm-bg-float: #434c5e;
294
+ --wm-bg-hover: #4c566a;
243
295
  --wm-bg-foreground: #535e6e;
244
296
 
245
297
  /* Text */
246
- --wm-text-primary: #eceff4;
247
- --wm-text-secondary: #e5e9f0;
248
- --wm-text-muted: #d8dee9;
298
+ --wm-text-primary: #eceff4;
299
+ --wm-text-secondary: #e5e9f0;
300
+ --wm-text-muted: #d8dee9;
249
301
  --wm-text-placeholder: #adb9cb;
250
302
 
251
303
  /* Borders */
252
- --wm-border: #4c566a;
304
+ --wm-border: #4c566a;
253
305
  --wm-border-subtle: #434c5e;
254
- --wm-border-hover: #88c0d0;
255
- --wm-border-input: #8e9aa9;
306
+ --wm-border-hover: #88c0d0;
307
+ --wm-border-input: #8e9aa9;
256
308
 
257
309
  /* Accent — light teal requires dark text */
258
- --wm-color-accent: #8fc4d3;
310
+ --wm-color-accent: #8fc4d3;
259
311
  --wm-color-accent-hover: #81a1c1;
260
- --wm-color-accent-text: #2e3440;
312
+ --wm-color-accent-text: #2e3440;
261
313
 
262
314
  /* Semantic */
263
- --wm-color-success: #a3be8c;
315
+ --wm-color-success: #b5cf9a;
264
316
  --wm-color-warning: #ebcb8b;
265
- --wm-color-danger: #bf616a;
317
+ --wm-color-danger: #bf616a;
266
318
 
267
319
  /* Item type colors */
268
- --wm-color-task: #88c0d0;
269
- --wm-color-bug: #bf616a;
270
- --wm-color-story: #a3be8c;
271
- --wm-color-epic: #b48ead;
272
- --wm-color-initiative: #ebcb8b;
273
- --wm-color-completed: #81a1c1;
274
- --wm-color-epic-text: #2e3440;
275
- --wm-color-initiative-text: #2e3440;
320
+ --wm-color-task: #88c0d0;
321
+ --wm-color-bug: #bf616a;
322
+ --wm-color-story: #a3be8c;
323
+ --wm-color-epic: #b48ead;
324
+ --wm-color-initiative: #ebcb8b;
325
+ --wm-color-completed: #81a1c1;
326
+ --wm-color-epic-text: #2e3440;
327
+ --wm-color-initiative-text: #2e3440;
276
328
 
277
329
  /* Shadows */
278
330
  --wm-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.2);
@@ -283,67 +335,68 @@
283
335
  --wm-backdrop-opacity: 0.5;
284
336
 
285
337
  /* Syntax highlighting */
286
- --wm-syntax-keyword: #81a1c1;
287
- --wm-syntax-string: #a3be8c;
288
- --wm-syntax-comment: #616e88;
289
- --wm-syntax-number: #b48ead;
338
+ --wm-syntax-keyword: #81a1c1;
339
+ --wm-syntax-string: #a3be8c;
340
+ --wm-syntax-comment: #616e88;
341
+ --wm-syntax-number: #b48ead;
290
342
  --wm-syntax-function: #88c0d0;
291
- --wm-syntax-type: #8fbcbb;
343
+ --wm-syntax-type: #8fbcbb;
292
344
  --wm-syntax-variable: #d08770;
293
- --wm-syntax-attr: #8fbcbb;
294
- --wm-syntax-builtin: #81a1c1;
345
+ --wm-syntax-attr: #8fbcbb;
346
+ --wm-syntax-builtin: #81a1c1;
295
347
  }
296
348
 
297
-
298
-
299
-
300
349
  /* ================================================================
301
350
  Vampire's Kiss
302
351
  ================================================================ */
303
352
  [data-theme='vampires-kiss'] {
304
353
  color-scheme: dark;
305
354
  --wm-priority-alpha: 20%;
306
- --wm-priority-critical-text: color-mix(in srgb, var(--wm-color-critical) 85%, white);
355
+ --wm-priority-critical-text: color-mix(
356
+ in srgb,
357
+ var(--wm-color-critical) 85%,
358
+ white
359
+ );
307
360
 
308
361
  /* Surfaces */
309
- --wm-bg-sunken: #16171e;
310
- --wm-bg-base: #21222c;
311
- --wm-bg-raised: #282a36;
312
- --wm-bg-float: #44475a;
313
- --wm-bg-hover: #6272a4;
362
+ --wm-bg-sunken: #16171e;
363
+ --wm-bg-base: #21222c;
364
+ --wm-bg-raised: #282a36;
365
+ --wm-bg-float: #44475a;
366
+ --wm-bg-hover: #6272a4;
314
367
  --wm-bg-foreground: #525568;
315
368
 
316
369
  /* Text */
317
- --wm-text-primary: #f8f8f2;
318
- --wm-text-secondary: #d6acff;
319
- --wm-text-muted: #c5cedd;
370
+ --wm-text-primary: #f8f8f2;
371
+ --wm-text-secondary: #d6acff;
372
+ --wm-text-muted: #c5cedd;
320
373
  --wm-text-placeholder: #8b93a8;
321
374
 
322
375
  /* Borders */
323
- --wm-border: #6272a4;
376
+ --wm-border: #6272a4;
324
377
  --wm-border-subtle: #44475a;
325
- --wm-border-hover: #ff79c6;
326
- --wm-border-input: #8694b1;
378
+ --wm-border-hover: #ff79c6;
379
+ --wm-border-input: #8694b1;
327
380
 
328
381
  /* Accent — slightly lighter than canonical purple for card contrast */
329
- --wm-color-accent: #c9a7fa;
382
+ --wm-color-accent: #c9a7fa;
330
383
  --wm-color-accent-hover: #ff79c6;
331
- --wm-color-accent-text: #282a36;
384
+ --wm-color-accent-text: #282a36;
332
385
 
333
386
  /* Semantic */
334
387
  --wm-color-success: #50fa7b;
335
388
  --wm-color-warning: #f1fa8c;
336
- --wm-color-danger: #ff5555;
389
+ --wm-color-danger: #ff5555;
337
390
 
338
391
  /* Item type colors */
339
- --wm-color-task: #8be9fd;
340
- --wm-color-bug: #ff5555;
341
- --wm-color-story: #50fa7b;
342
- --wm-color-epic: #bd93f9;
343
- --wm-color-initiative: #ffb86c;
344
- --wm-color-completed: #bd93f9;
345
- --wm-color-epic-text: #282a36;
346
- --wm-color-initiative-text: #282a36;
392
+ --wm-color-task: #8be9fd;
393
+ --wm-color-bug: #ff5555;
394
+ --wm-color-story: #50fa7b;
395
+ --wm-color-epic: #bd93f9;
396
+ --wm-color-initiative: #ffb86c;
397
+ --wm-color-completed: #bd93f9;
398
+ --wm-color-epic-text: #282a36;
399
+ --wm-color-initiative-text: #282a36;
347
400
 
348
401
  /* Shadows */
349
402
  --wm-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.4);
@@ -354,65 +407,68 @@
354
407
  --wm-backdrop-opacity: 0.5;
355
408
 
356
409
  /* Syntax highlighting */
357
- --wm-syntax-keyword: #ff79c6;
358
- --wm-syntax-string: #f1fa8c;
359
- --wm-syntax-comment: #6272a4;
360
- --wm-syntax-number: #bd93f9;
410
+ --wm-syntax-keyword: #ff79c6;
411
+ --wm-syntax-string: #f1fa8c;
412
+ --wm-syntax-comment: #6272a4;
413
+ --wm-syntax-number: #bd93f9;
361
414
  --wm-syntax-function: #50fa7b;
362
- --wm-syntax-type: #8be9fd;
415
+ --wm-syntax-type: #8be9fd;
363
416
  --wm-syntax-variable: #ffb86c;
364
- --wm-syntax-attr: #50fa7b;
365
- --wm-syntax-builtin: #8be9fd;
417
+ --wm-syntax-attr: #50fa7b;
418
+ --wm-syntax-builtin: #8be9fd;
366
419
  }
367
420
 
368
-
369
421
  /* ================================================================
370
422
  Twilight Peach
371
423
  ================================================================ */
372
424
  [data-theme='twilight-peach'] {
373
425
  color-scheme: dark;
374
426
  --wm-priority-alpha: 20%;
375
- --wm-priority-critical-text: color-mix(in srgb, var(--wm-color-critical) 85%, white);
427
+ --wm-priority-critical-text: color-mix(
428
+ in srgb,
429
+ var(--wm-color-critical) 85%,
430
+ white
431
+ );
376
432
 
377
433
  /* Surfaces */
378
- --wm-bg-sunken: #020617;
379
- --wm-bg-base: #171827;
380
- --wm-bg-raised: #201e37;
381
- --wm-bg-float: #292a48;
382
- --wm-bg-hover: #32334e;
434
+ --wm-bg-sunken: #020617;
435
+ --wm-bg-base: #171827;
436
+ --wm-bg-raised: #201e37;
437
+ --wm-bg-float: #292a48;
438
+ --wm-bg-hover: #32334e;
383
439
  --wm-bg-foreground: #3c3d5e;
384
440
 
385
441
  /* Text */
386
- --wm-text-primary: #eeedf8;
387
- --wm-text-secondary: #a9a8c0;
388
- --wm-text-muted: #9898b4;
442
+ --wm-text-primary: #eeedf8;
443
+ --wm-text-secondary: #a9a8c0;
444
+ --wm-text-muted: #b89f91;
389
445
  --wm-text-placeholder: #4a4962;
390
446
 
391
447
  /* Borders */
392
- --wm-border: #565888;
448
+ --wm-border: #565888;
393
449
  --wm-border-subtle: #353758;
394
- --wm-border-hover: #6468a0;
395
- --wm-border-input: #797ba0;
450
+ --wm-border-hover: #6468a0;
451
+ --wm-border-input: #797ba0;
396
452
 
397
453
  /* Accent — warm peach */
398
- --wm-color-accent: #f5986a;
454
+ --wm-color-accent: #f5986a;
399
455
  --wm-color-accent-hover: #f08458;
400
- --wm-color-accent-text: #1c1d2e;
456
+ --wm-color-accent-text: #1c1d2e;
401
457
 
402
458
  /* Semantic */
403
459
  --wm-color-success: #5cbfa0;
404
460
  --wm-color-warning: #f0b464;
405
- --wm-color-danger: #f07878;
461
+ --wm-color-danger: #f07878;
406
462
 
407
463
  /* Item type colors */
408
- --wm-color-task: #70a8f0;
409
- --wm-color-bug: #f07878;
410
- --wm-color-story: #5cbfa0;
411
- --wm-color-epic: #b090e8;
412
- --wm-color-initiative: #f0b464;
413
- --wm-color-completed: #9090d8;
414
- --wm-color-epic-text: #ffffff;
415
- --wm-color-initiative-text: #1c1d2e;
464
+ --wm-color-task: #70a8f0;
465
+ --wm-color-bug: #f07878;
466
+ --wm-color-story: #5cbfa0;
467
+ --wm-color-epic: #b090e8;
468
+ --wm-color-initiative: #f0b464;
469
+ --wm-color-completed: #9090d8;
470
+ --wm-color-epic-text: #ffffff;
471
+ --wm-color-initiative-text: #1c1d2e;
416
472
 
417
473
  /* Shadows */
418
474
  --wm-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.5);
@@ -423,65 +479,68 @@
423
479
  --wm-backdrop-opacity: 0.55;
424
480
 
425
481
  /* Syntax highlighting */
426
- --wm-syntax-keyword: #c78ed4;
427
- --wm-syntax-string: #98c87a;
428
- --wm-syntax-comment: #6b6a82;
429
- --wm-syntax-number: #f0b464;
482
+ --wm-syntax-keyword: #c78ed4;
483
+ --wm-syntax-string: #98c87a;
484
+ --wm-syntax-comment: #6b6a82;
485
+ --wm-syntax-number: #f0b464;
430
486
  --wm-syntax-function: #80c0e8;
431
- --wm-syntax-type: #e5c480;
487
+ --wm-syntax-type: #e5c480;
432
488
  --wm-syntax-variable: #f5986a;
433
- --wm-syntax-attr: #d4a870;
434
- --wm-syntax-builtin: #70c0c8;
489
+ --wm-syntax-attr: #d4a870;
490
+ --wm-syntax-builtin: #70c0c8;
435
491
  }
436
492
 
437
-
438
493
  /* ================================================================
439
494
  Thistle & Mocha
440
495
  ================================================================ */
441
496
  [data-theme='thistle-mocha'] {
442
497
  color-scheme: dark;
443
498
  --wm-priority-alpha: 20%;
444
- --wm-priority-critical-text: color-mix(in srgb, var(--wm-color-critical) 85%, white);
499
+ --wm-priority-critical-text: color-mix(
500
+ in srgb,
501
+ var(--wm-color-critical) 85%,
502
+ white
503
+ );
445
504
 
446
505
  /* Surfaces — warm near-black mocha family */
447
- --wm-bg-base: #221918;
506
+ --wm-bg-base: #221918;
448
507
  --wm-bg-raised: #382e2c;
449
- --wm-bg-float: #403635;
450
- --wm-bg-sunken: #151310;
451
- --wm-bg-hover: #2c2822;
508
+ --wm-bg-float: #403635;
509
+ --wm-bg-sunken: #151310;
510
+ --wm-bg-hover: #2c2822;
452
511
  --wm-bg-foreground: #514240;
453
512
 
454
513
  /* Text — warm cream */
455
- --wm-text-primary: #ede9e1;
456
- --wm-text-secondary: #ada598;
457
- --wm-text-muted: #a09890;
514
+ --wm-text-primary: #ede9e1;
515
+ --wm-text-secondary: #c5bcae;
516
+ --wm-text-muted: #a3a8aa;
458
517
  --wm-text-placeholder: #4a4540;
459
518
 
460
519
  /* Borders */
461
- --wm-border: #2e2820;
520
+ --wm-border: #2e2820;
462
521
  --wm-border-subtle: #241e18;
463
- --wm-border-hover: #504840;
464
- --wm-border-input: #8a7670;
522
+ --wm-border-hover: #504840;
523
+ --wm-border-input: #8a7670;
465
524
 
466
525
  /* Accent — thistle (muted lavender) */
467
- --wm-color-accent: #c4a8d8;
526
+ --wm-color-accent: #c4a8d8;
468
527
  --wm-color-accent-hover: #9e7abf;
469
- --wm-color-accent-text: #1a1715;
528
+ --wm-color-accent-text: #1a1715;
470
529
 
471
530
  /* Semantic */
472
531
  --wm-color-success: #7ac4a0;
473
532
  --wm-color-warning: #d4a85a;
474
- --wm-color-danger: #e07878;
533
+ --wm-color-danger: #e07878;
475
534
 
476
535
  /* Item type colors */
477
- --wm-color-task: #80a8e0;
478
- --wm-color-bug: #e07878;
479
- --wm-color-story: #7ac4a0;
480
- --wm-color-epic: #b090d8;
481
- --wm-color-initiative: #d4a85a;
482
- --wm-color-completed: #9890c8;
483
- --wm-color-epic-text: #1a1715;
484
- --wm-color-initiative-text: #1a1715;
536
+ --wm-color-task: #80a8e0;
537
+ --wm-color-bug: #e07878;
538
+ --wm-color-story: #7ac4a0;
539
+ --wm-color-epic: #b090d8;
540
+ --wm-color-initiative: #d4a85a;
541
+ --wm-color-completed: #9890c8;
542
+ --wm-color-epic-text: #1a1715;
543
+ --wm-color-initiative-text: #1a1715;
485
544
 
486
545
  /* Shadows */
487
546
  --wm-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.6);
@@ -492,18 +551,17 @@
492
551
  --wm-backdrop-opacity: 0.6;
493
552
 
494
553
  /* Syntax highlighting */
495
- --wm-syntax-keyword: #d8a8c4;
496
- --wm-syntax-string: #a0c890;
497
- --wm-syntax-comment: #6e6660;
498
- --wm-syntax-number: #d4a85a;
554
+ --wm-syntax-keyword: #d8a8c4;
555
+ --wm-syntax-string: #a0c890;
556
+ --wm-syntax-comment: #6e6660;
557
+ --wm-syntax-number: #d4a85a;
499
558
  --wm-syntax-function: #90b8d8;
500
- --wm-syntax-type: #d8c890;
559
+ --wm-syntax-type: #d8c890;
501
560
  --wm-syntax-variable: #c4a8d8;
502
- --wm-syntax-attr: #c8a870;
503
- --wm-syntax-builtin: #80c4b8;
561
+ --wm-syntax-attr: #c8a870;
562
+ --wm-syntax-builtin: #80c4b8;
504
563
  }
505
564
 
506
-
507
565
  /* ================================================================
508
566
  Solarized Precision
509
567
  ================================================================ */
@@ -511,44 +569,44 @@
511
569
  color-scheme: light;
512
570
 
513
571
  /* Surfaces — warm cream base, distinct tan surface, clean white cards */
514
- --wm-bg-base: #ede7d2;
515
- --wm-bg-raised: #e2d8bc;
516
- --wm-bg-float: #d4cba8;
517
- --wm-bg-sunken: #f1e8dd;
518
- --wm-bg-hover: #ede5cc;
572
+ --wm-bg-base: #ede7d2;
573
+ --wm-bg-raised: #e2d8bc;
574
+ --wm-bg-float: #d4cba8;
575
+ --wm-bg-sunken: #f1e8dd;
576
+ --wm-bg-hover: #ede5cc;
519
577
  --wm-bg-foreground: #c6be96;
520
578
 
521
579
  /* Text — solarized blue-gray family */
522
- --wm-text-primary: #2c3e48;
523
- --wm-text-secondary: #4e6470;
524
- --wm-text-muted: #455868;
580
+ --wm-text-primary: #2c3e48;
581
+ --wm-text-secondary: #3e545f;
582
+ --wm-text-muted: #455868;
525
583
  --wm-text-placeholder: #a8b8be;
526
584
 
527
585
  /* Borders */
528
- --wm-border: #cec6aa;
586
+ --wm-border: #cec6aa;
529
587
  --wm-border-subtle: #dad4bc;
530
- --wm-border-hover: #8c9ea8;
531
- --wm-border-input: #688090;
588
+ --wm-border-hover: #8c9ea8;
589
+ --wm-border-input: #688090;
532
590
 
533
591
  /* Accent — precision teal-blue */
534
- --wm-color-accent: #185c78;
592
+ --wm-color-accent: #185c78;
535
593
  --wm-color-accent-hover: #1e6e96;
536
- --wm-color-accent-text: #ffffff;
594
+ --wm-color-accent-text: #ffffff;
537
595
 
538
596
  /* Semantic */
539
- --wm-color-success: #218a5c;
540
- --wm-color-warning: #9a6800;
541
- --wm-color-danger: #c4302c;
597
+ --wm-color-success: #006036;
598
+ --wm-color-warning: #6b4500;
599
+ --wm-color-danger: #c4302c;
542
600
 
543
601
  /* Item type colors */
544
- --wm-color-task: #1e6ea8;
545
- --wm-color-bug: #c4302c;
546
- --wm-color-story: #218a5c;
547
- --wm-color-epic: #6a38aa;
548
- --wm-color-initiative: #9a5800;
549
- --wm-color-completed: #4a6ea8;
550
- --wm-color-epic-text: #ffffff;
551
- --wm-color-initiative-text: #ffffff;
602
+ --wm-color-task: #1e6ea8;
603
+ --wm-color-bug: #c4302c;
604
+ --wm-color-story: #218a5c;
605
+ --wm-color-epic: #6a38aa;
606
+ --wm-color-initiative: #9a5800;
607
+ --wm-color-completed: #4a6ea8;
608
+ --wm-color-epic-text: #ffffff;
609
+ --wm-color-initiative-text: #ffffff;
552
610
 
553
611
  /* Shadows — light theme, warm-tinted */
554
612
  --wm-shadow-sm: 0 1px 2px rgba(44, 62, 72, 0.08);
@@ -559,65 +617,68 @@
559
617
  --wm-backdrop-opacity: 0.35;
560
618
 
561
619
  /* Syntax — solarized light palette */
562
- --wm-syntax-keyword: #859900;
563
- --wm-syntax-string: #2aa198;
564
- --wm-syntax-comment: #93a1a1;
565
- --wm-syntax-number: #d48600;
620
+ --wm-syntax-keyword: #859900;
621
+ --wm-syntax-string: #2aa198;
622
+ --wm-syntax-comment: #93a1a1;
623
+ --wm-syntax-number: #d48600;
566
624
  --wm-syntax-function: #268bd2;
567
- --wm-syntax-type: #b58900;
625
+ --wm-syntax-type: #b58900;
568
626
  --wm-syntax-variable: #cb4b16;
569
- --wm-syntax-attr: #b58900;
570
- --wm-syntax-builtin: #2aa198;
627
+ --wm-syntax-attr: #b58900;
628
+ --wm-syntax-builtin: #2aa198;
571
629
  }
572
630
 
573
-
574
631
  /* ================================================================
575
632
  Posh Sandalwood
576
633
  ================================================================ */
577
634
  [data-theme='posh-sandalwood'] {
578
635
  color-scheme: dark;
579
636
  --wm-priority-alpha: 20%;
580
- --wm-priority-critical-text: color-mix(in srgb, var(--wm-color-critical) 85%, white);
637
+ --wm-priority-critical-text: color-mix(
638
+ in srgb,
639
+ var(--wm-color-critical) 85%,
640
+ white
641
+ );
581
642
 
582
643
  /* Surfaces — warm olive-brown, sunken=darkest, float=lightest */
583
- --wm-bg-sunken: #1c1c15;
584
- --wm-bg-base: #27271f;
585
- --wm-bg-raised: #333028;
586
- --wm-bg-float: #403c30;
587
- --wm-bg-hover: #4a4538;
644
+ --wm-bg-sunken: #1c1c15;
645
+ --wm-bg-base: #27271f;
646
+ --wm-bg-raised: #333028;
647
+ --wm-bg-float: #403c30;
648
+ --wm-bg-hover: #4a4538;
588
649
  --wm-bg-foreground: #524e3e;
589
650
 
590
651
  /* Text — sandalwood cream palette */
591
- --wm-text-primary: #fdf0e0;
592
- --wm-text-secondary: #c5b59b;
593
- --wm-text-muted: #b8a690;
652
+ --wm-text-primary: #fdf0e0;
653
+ --wm-text-secondary: #c5b59b;
654
+ --wm-text-muted: #b5bab3;
594
655
  --wm-text-placeholder: #5a5040;
595
656
 
596
657
  /* Borders */
597
- --wm-border: #3a3828;
658
+ --wm-border: #3a3828;
598
659
  --wm-border-subtle: #2e2c22;
599
- --wm-border-hover: #f92672;
600
- --wm-border-input: #877567;
660
+ --wm-border-hover: #f92672;
661
+ --wm-border-input: #877567;
601
662
 
602
663
  /* Accent — Monokai hot pink */
603
- --wm-color-accent: #f92672;
664
+ --wm-color-accent: #f92672;
604
665
  --wm-color-accent-hover: #fd971f;
605
- --wm-color-accent-text: #1c1c15;
666
+ --wm-color-accent-text: #1c1c15;
606
667
 
607
668
  /* Semantic */
608
669
  --wm-color-success: #a6e22e;
609
670
  --wm-color-warning: #fd971f;
610
- --wm-color-danger: #f92672;
671
+ --wm-color-danger: #f92672;
611
672
 
612
673
  /* Item type colors */
613
- --wm-color-task: #66d9ef;
614
- --wm-color-bug: #f92672;
615
- --wm-color-story: #a6e22e;
616
- --wm-color-epic: #ae81ff;
617
- --wm-color-initiative: #fd971f;
618
- --wm-color-completed: #a6e22e;
619
- --wm-color-epic-text: #1c1c15;
620
- --wm-color-initiative-text: #1c1c15;
674
+ --wm-color-task: #66d9ef;
675
+ --wm-color-bug: #f92672;
676
+ --wm-color-story: #a6e22e;
677
+ --wm-color-epic: #ae81ff;
678
+ --wm-color-initiative: #fd971f;
679
+ --wm-color-completed: #a6e22e;
680
+ --wm-color-epic-text: #1c1c15;
681
+ --wm-color-initiative-text: #1c1c15;
621
682
 
622
683
  /* Shadows */
623
684
  --wm-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.5);
@@ -628,65 +689,68 @@
628
689
  --wm-backdrop-opacity: 0.5;
629
690
 
630
691
  /* Syntax highlighting — full Monokai palette on warm surfaces */
631
- --wm-syntax-keyword: #f92672;
632
- --wm-syntax-string: #e6db74;
633
- --wm-syntax-comment: #75715e;
634
- --wm-syntax-number: #ae81ff;
692
+ --wm-syntax-keyword: #f92672;
693
+ --wm-syntax-string: #e6db74;
694
+ --wm-syntax-comment: #75715e;
695
+ --wm-syntax-number: #ae81ff;
635
696
  --wm-syntax-function: #a6e22e;
636
- --wm-syntax-type: #66d9ef;
697
+ --wm-syntax-type: #66d9ef;
637
698
  --wm-syntax-variable: #fd971f;
638
- --wm-syntax-attr: #a6e22e;
639
- --wm-syntax-builtin: #66d9ef;
699
+ --wm-syntax-attr: #a6e22e;
700
+ --wm-syntax-builtin: #66d9ef;
640
701
  }
641
702
 
642
-
643
703
  /* ================================================================
644
704
  Crepuscular Sky
645
705
  ================================================================ */
646
706
  [data-theme='crepuscular-sky'] {
647
707
  color-scheme: dark;
648
708
  --wm-priority-alpha: 20%;
649
- --wm-priority-critical-text: color-mix(in srgb, var(--wm-color-critical) 85%, white);
709
+ --wm-priority-critical-text: color-mix(
710
+ in srgb,
711
+ var(--wm-color-critical) 85%,
712
+ white
713
+ );
650
714
 
651
715
  /* Surfaces — deep navy, sunken=darkest, float=lightest */
652
- --wm-bg-sunken: #060810;
653
- --wm-bg-base: #121523;
654
- --wm-bg-raised: #131a28;
655
- --wm-bg-float: #1d2338;
656
- --wm-bg-hover: #252c44;
716
+ --wm-bg-sunken: #060810;
717
+ --wm-bg-base: #121523;
718
+ --wm-bg-raised: #131a28;
719
+ --wm-bg-float: #1d2338;
720
+ --wm-bg-hover: #252c44;
657
721
  --wm-bg-foreground: #2d3654;
658
722
 
659
723
  /* Text — pale warm cream, stepping through amber to cool blue-grey */
660
- --wm-text-primary: #edd9a3;
661
- --wm-text-secondary: #ba9d7a;
662
- --wm-text-muted: #9083a0;
724
+ --wm-text-primary: #edd9a3;
725
+ --wm-text-secondary: #ba9d7a;
726
+ --wm-text-muted: #a094ac;
663
727
  --wm-text-placeholder: #3d4d68;
664
728
 
665
729
  /* Borders */
666
- --wm-border: #202a40;
730
+ --wm-border: #202a40;
667
731
  --wm-border-subtle: #54575c;
668
- --wm-border-hover: #e8920a;
669
- --wm-border-input: #5a6888;
732
+ --wm-border-hover: #e8920a;
733
+ --wm-border-input: #5a6888;
670
734
 
671
735
  /* Accent — golden orange, the crepuscular ray color */
672
- --wm-color-accent: #c09d06;
736
+ --wm-color-accent: #c09d06;
673
737
  --wm-color-accent-hover: #b15000;
674
- --wm-color-accent-text: #060810;
738
+ --wm-color-accent-text: #060810;
675
739
 
676
740
  /* Semantic */
677
741
  --wm-color-success: #4aba80;
678
742
  --wm-color-warning: #d4830a;
679
- --wm-color-danger: #e05c5c;
743
+ --wm-color-danger: #e05c5c;
680
744
 
681
745
  /* Item type colors */
682
- --wm-color-task: #8ab4d8;
683
- --wm-color-bug: #e05c5c;
684
- --wm-color-story: #4aba80;
685
- --wm-color-epic: #c08ae0;
686
- --wm-color-initiative: #e8920a;
687
- --wm-color-completed: #7bb8a8;
688
- --wm-color-epic-text: #ffffff;
689
- --wm-color-initiative-text: #060810;
746
+ --wm-color-task: #8ab4d8;
747
+ --wm-color-bug: #e05c5c;
748
+ --wm-color-story: #4aba80;
749
+ --wm-color-epic: #c08ae0;
750
+ --wm-color-initiative: #e8920a;
751
+ --wm-color-completed: #7bb8a8;
752
+ --wm-color-epic-text: #ffffff;
753
+ --wm-color-initiative-text: #060810;
690
754
 
691
755
  /* Shadows */
692
756
  --wm-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.6);
@@ -697,65 +761,68 @@
697
761
  --wm-backdrop-opacity: 0.6;
698
762
 
699
763
  /* Syntax highlighting — warm golden with reddish-purple accents */
700
- --wm-syntax-keyword: #d4830a;
701
- --wm-syntax-string: #edd9a3;
702
- --wm-syntax-comment: #4a5a7a;
703
- --wm-syntax-number: #e05c8a;
764
+ --wm-syntax-keyword: #d4830a;
765
+ --wm-syntax-string: #edd9a3;
766
+ --wm-syntax-comment: #4a5a7a;
767
+ --wm-syntax-number: #e05c8a;
704
768
  --wm-syntax-function: #8ab4d8;
705
- --wm-syntax-type: #c0986a;
769
+ --wm-syntax-type: #c0986a;
706
770
  --wm-syntax-variable: #e05c5c;
707
- --wm-syntax-attr: #d4830a;
708
- --wm-syntax-builtin: #9b6bcc;
771
+ --wm-syntax-attr: #d4830a;
772
+ --wm-syntax-builtin: #9b6bcc;
709
773
  }
710
774
 
711
-
712
775
  /* ================================================================
713
776
  Source Control Dark
714
777
  ================================================================ */
715
778
  [data-theme='source-control-dark'] {
716
779
  color-scheme: dark;
717
780
  --wm-priority-alpha: 20%;
718
- --wm-priority-critical-text: color-mix(in srgb, var(--wm-color-critical) 85%, white);
781
+ --wm-priority-critical-text: color-mix(
782
+ in srgb,
783
+ var(--wm-color-critical) 85%,
784
+ white
785
+ );
719
786
 
720
787
  /* Surfaces */
721
- --wm-bg-base: #0d1117;
722
- --wm-bg-raised: #161b22;
723
- --wm-bg-float: #21262d;
724
- --wm-bg-sunken: #010409;
725
- --wm-bg-hover: #262c36;
788
+ --wm-bg-base: #0d1117;
789
+ --wm-bg-raised: #161b22;
790
+ --wm-bg-float: #21262d;
791
+ --wm-bg-sunken: #010409;
792
+ --wm-bg-hover: #262c36;
726
793
  --wm-bg-foreground: #313b45;
727
794
 
728
795
  /* Text */
729
- --wm-text-primary: #f0f6fc;
730
- --wm-text-secondary: #c9d1d9;
731
- --wm-text-muted: #9198a1;
796
+ --wm-text-primary: #f0f6fc;
797
+ --wm-text-secondary: #c9d1d9;
798
+ --wm-text-muted: #9198a1;
732
799
  --wm-text-placeholder: #636c76;
733
800
 
734
801
  /* Borders */
735
- --wm-border: #444c56;
802
+ --wm-border: #444c56;
736
803
  --wm-border-subtle: #30363d;
737
- --wm-border-hover: #58a6ff;
738
- --wm-border-input: #6a6f76;
804
+ --wm-border-hover: #58a6ff;
805
+ --wm-border-input: #6a6f76;
739
806
 
740
807
  /* Accent — medium green, needs dark text for contrast */
741
- --wm-color-accent: #3fb950;
808
+ --wm-color-accent: #3fb950;
742
809
  --wm-color-accent-hover: #58a6ff;
743
- --wm-color-accent-text: #0d1117;
810
+ --wm-color-accent-text: #0d1117;
744
811
 
745
812
  /* Semantic */
746
813
  --wm-color-success: #3fb950;
747
814
  --wm-color-warning: #d29922;
748
- --wm-color-danger: #f85149;
815
+ --wm-color-danger: #f85149;
749
816
 
750
817
  /* Item type colors */
751
- --wm-color-task: #58a6ff;
752
- --wm-color-bug: #f85149;
753
- --wm-color-story: #3fb950;
754
- --wm-color-epic: #bc8cff;
755
- --wm-color-initiative: #d29922;
756
- --wm-color-completed: #3fb950;
757
- --wm-color-epic-text: #ffffff;
758
- --wm-color-initiative-text: #ffffff;
818
+ --wm-color-task: #58a6ff;
819
+ --wm-color-bug: #f85149;
820
+ --wm-color-story: #3fb950;
821
+ --wm-color-epic: #bc8cff;
822
+ --wm-color-initiative: #d29922;
823
+ --wm-color-completed: #3fb950;
824
+ --wm-color-epic-text: #ffffff;
825
+ --wm-color-initiative-text: #ffffff;
759
826
 
760
827
  /* Shadows */
761
828
  --wm-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.5);
@@ -766,65 +833,74 @@
766
833
  --wm-backdrop-opacity: 0.5;
767
834
 
768
835
  /* Syntax highlighting */
769
- --wm-syntax-keyword: #ff7b72;
770
- --wm-syntax-string: #a5d6ff;
771
- --wm-syntax-comment: #8b949e;
772
- --wm-syntax-number: #79c0ff;
836
+ --wm-syntax-keyword: #ff7b72;
837
+ --wm-syntax-string: #a5d6ff;
838
+ --wm-syntax-comment: #8b949e;
839
+ --wm-syntax-number: #79c0ff;
773
840
  --wm-syntax-function: #d2a8ff;
774
- --wm-syntax-type: #ffa657;
841
+ --wm-syntax-type: #ffa657;
775
842
  --wm-syntax-variable: #ffa657;
776
- --wm-syntax-attr: #79c0ff;
777
- --wm-syntax-builtin: #79c0ff;
843
+ --wm-syntax-attr: #79c0ff;
844
+ --wm-syntax-builtin: #79c0ff;
778
845
  }
779
846
 
780
-
781
847
  /* ================================================================
782
848
  Wildmason (Stone & Moss)
783
849
  ================================================================ */
784
850
  [data-theme='wildmason'] {
785
851
  color-scheme: dark;
786
852
  --wm-priority-alpha: 20%;
787
- --wm-priority-critical-text: color-mix(in srgb, var(--wm-color-critical) 85%, white);
853
+ --wm-priority-critical-text: color-mix(
854
+ in srgb,
855
+ var(--wm-color-critical) 85%,
856
+ white
857
+ );
788
858
 
789
859
  /* Surfaces — Cooler, Deeper Stone Grays */
790
- --wm-bg-sunken: #1b1d1c;
791
- --wm-bg-base: #2a2c2b;
792
- --wm-bg-raised: #383b3a;
793
- --wm-bg-float: #464a49;
794
- --wm-bg-hover: #545958;
860
+ --wm-bg-sunken: #1b1d1c;
861
+ --wm-bg-base: #2a2c2b;
862
+ --wm-bg-raised: #383b3a;
863
+ --wm-bg-float: #464a49;
864
+ --wm-bg-hover: #405450;
795
865
  --wm-bg-foreground: #626967;
796
866
 
797
867
  /* Text — Crisp Soft White with hint of mint */
798
- --wm-text-primary: #d8e0d8;
799
- --wm-text-secondary: #c2ccc2;
800
- --wm-text-muted: #a3ada3;
868
+ --wm-text-primary: #d8e0d8;
869
+ --wm-text-secondary: #c2ccc2;
870
+ --wm-text-muted: #c0cac0;
801
871
  --wm-text-placeholder: #687068;
802
872
 
803
873
  /* Borders — Deep Stone */
804
- --wm-border: #3d4241;
874
+ --wm-border: #3d4241;
805
875
  --wm-border-subtle: #2f3332;
806
- --wm-border-hover: #82a682;
807
- --wm-border-input: #7a8582;
876
+ --wm-border-hover: #82a682;
877
+ --wm-border-input: #7a8582;
808
878
 
809
879
  /* Accent — Forest Moss Green */
810
- --wm-color-accent: #82a682;
880
+ --wm-color-accent: #82a682;
811
881
  --wm-color-accent-hover: #94b894;
812
- --wm-color-accent-text: #161817;
882
+ --wm-color-accent-text: #161817;
883
+ /* Brighter sage variant for "accent as text" contexts (active tab
884
+ labels, current nav items, link-style buttons). #82a682 fails
885
+ WCAG AA 4.5:1 against bg-float (3.30:1); #9bc99b clears 4.74:1
886
+ while staying in the moss-green hue family. Used wherever components
887
+ reference --wm-color-accent-readable instead of --wm-color-accent. */
888
+ --wm-color-accent-readable: #9bc99b;
813
889
 
814
890
  /* Semantic */
815
- --wm-color-success: #82a682;
891
+ --wm-color-success: #a0c5a0;
816
892
  --wm-color-warning: #ebcb8b;
817
- --wm-color-danger: #bf616a;
893
+ --wm-color-danger: #bf616a;
818
894
 
819
895
  /* Item type colors — Wildmason selection */
820
- --wm-color-task: #82a682;
821
- --wm-color-bug: #bf616a;
822
- --wm-color-story: #a3be8c;
823
- --wm-color-epic: #b48ead;
824
- --wm-color-initiative: #ebcb8b;
825
- --wm-color-completed: #94b894;
826
- --wm-color-epic-text: #ffffff;
827
- --wm-color-initiative-text: #161817;
896
+ --wm-color-task: #82a682;
897
+ --wm-color-bug: #bf616a;
898
+ --wm-color-story: #a3be8c;
899
+ --wm-color-epic: #b48ead;
900
+ --wm-color-initiative: #ebcb8b;
901
+ --wm-color-completed: #94b894;
902
+ --wm-color-epic-text: #ffffff;
903
+ --wm-color-initiative-text: #161817;
828
904
 
829
905
  /* Shadows — Deeper contrast for stone depth */
830
906
  --wm-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.5);
@@ -835,13 +911,79 @@
835
911
  --wm-backdrop-opacity: 0.55;
836
912
 
837
913
  /* Syntax highlighting — Sage and Stone inspired */
838
- --wm-syntax-keyword: #98b498;
839
- --wm-syntax-string: #b0c8b0;
840
- --wm-syntax-comment: #6c7570;
841
- --wm-syntax-number: #d8dee9;
914
+ --wm-syntax-keyword: #98b498;
915
+ --wm-syntax-string: #b0c8b0;
916
+ --wm-syntax-comment: #6c7570;
917
+ --wm-syntax-number: #d8dee9;
842
918
  --wm-syntax-function: #e2e8e2;
843
- --wm-syntax-type: #b8c2b8;
919
+ --wm-syntax-type: #b8c2b8;
844
920
  --wm-syntax-variable: #a3be8c;
845
- --wm-syntax-attr: #98b498;
846
- --wm-syntax-builtin: #ebcb8b;
921
+ --wm-syntax-attr: #98b498;
922
+ --wm-syntax-builtin: #ebcb8b;
923
+ }
924
+
925
+ /* ================================================================
926
+ Sage & Linen (a lighter take on Wildmason)
927
+ ================================================================ */
928
+ [data-theme='sage-linen'] {
929
+ color-scheme: light;
930
+
931
+ /* Surfaces — cool eucalyptus, low chroma */
932
+ --wm-bg-base: #d4ded4;
933
+ --wm-bg-raised: #c5d1c5;
934
+ --wm-bg-float: #e6efe5;
935
+ --wm-bg-sunken: #dde6dc;
936
+ --wm-bg-hover: #d8e2d7;
937
+ --wm-bg-foreground: #b3c1b3;
938
+
939
+ /* Text */
940
+ --wm-text-primary: #1e2822;
941
+ --wm-text-secondary: #3a4a40;
942
+ --wm-text-muted: #4a5b4f;
943
+ --wm-text-placeholder: #94a298;
944
+
945
+ /* Borders */
946
+ --wm-border: #bcc5b8;
947
+ --wm-border-subtle: #ccd4c8;
948
+ --wm-border-hover: #3a5a43;
949
+ --wm-border-input: #788876;
950
+
951
+ /* Accent — deep forest green */
952
+ --wm-color-accent: #3a5a43;
953
+ --wm-color-accent-hover: #2c4733;
954
+ --wm-color-accent-text: #eaf0e7;
955
+
956
+ /* Semantic */
957
+ --wm-color-success: #3a6b48;
958
+ --wm-color-warning: #8a5a1f;
959
+ --wm-color-danger: #ac3838;
960
+
961
+ /* Item types */
962
+ --wm-color-task: #3a5a43;
963
+ --wm-color-bug: #ac3838;
964
+ --wm-color-story: #3a6b48;
965
+ --wm-color-epic: #6b4a7a;
966
+ --wm-color-initiative: #8a5a1f;
967
+ --wm-color-completed: #4a6a80;
968
+ --wm-color-epic-text: #ffffff;
969
+ --wm-color-initiative-text: #ffffff;
970
+
971
+ /* Shadows — forest-ink tinted */
972
+ --wm-shadow-sm: 0 1px 2px rgba(30, 40, 34, 0.07);
973
+ --wm-shadow-md: 0 4px 8px rgba(30, 40, 34, 0.1);
974
+ --wm-shadow-lg: 0 10px 20px rgba(30, 40, 34, 0.12);
975
+
976
+ /* Overlay */
977
+ --wm-backdrop-opacity: 0.35;
978
+
979
+ /* Syntax highlighting */
980
+ --wm-syntax-keyword: #7a2e6b;
981
+ --wm-syntax-string: #3a6b48;
982
+ --wm-syntax-comment: #8a958a;
983
+ --wm-syntax-number: #8a5a1f;
984
+ --wm-syntax-function: #3a5a43;
985
+ --wm-syntax-type: #8a6d1f;
986
+ --wm-syntax-variable: #ac3838;
987
+ --wm-syntax-attr: #8a5a1f;
988
+ --wm-syntax-builtin: #4a6a80;
847
989
  }