mrmd-editor 0.7.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +3 -1
- package/src/commands.js +112 -4
- package/src/comment-syntax.js +364 -39
- package/src/config/handlers.js +1 -2
- package/src/config/schema.js +46 -4
- package/src/document-template.js +2236 -0
- package/src/execution.js +69 -15
- package/src/frontmatter-updater.js +204 -74
- package/src/grammar.js +758 -0
- package/src/index.js +1120 -55
- package/src/keymap.js +11 -2
- package/src/markdown/block-decorations.js +108 -5
- package/src/markdown/facets.js +37 -0
- package/src/markdown/html-inline.js +9 -5
- package/src/markdown/index.js +13 -3
- package/src/markdown/inline-commands.js +256 -0
- package/src/markdown/inline-model.js +578 -0
- package/src/markdown/inline-state.js +103 -0
- package/src/markdown/renderer.js +219 -12
- package/src/markdown/styles.js +290 -3
- package/src/markdown/widgets/alert-title.js +10 -8
- package/src/markdown/widgets/frontmatter.js +0 -6
- package/src/markdown/widgets/index.js +1 -0
- package/src/markdown/widgets/list-marker.js +29 -0
- package/src/markdown/wysiwyg.js +1158 -0
- package/src/mrp-types.js +2 -0
- package/src/output-widget.js +532 -18
- package/src/page-view-pagination.js +127 -0
- package/src/runtime-lsp.js +1757 -150
- package/src/section-controls/commands.js +617 -0
- package/src/section-controls/index.js +63 -0
- package/src/section-controls/plugin.js +165 -0
- package/src/section-controls/widgets.js +936 -0
- package/src/shell/ai-menu.js +11 -0
- package/src/shell/components/context-panel.js +572 -0
- package/src/shell/components/status-bar.js +218 -8
- package/src/shell/dialogs/file-picker.js +211 -0
- package/src/shell/layouts/studio.js +229 -14
- package/src/shell/orchestrator-client.js +114 -0
- package/src/shell/styles.js +62 -0
- package/src/spellcheck.js +166 -0
- package/src/tables/README.md +97 -0
- package/src/tables/commands/insert-linked-table.js +122 -0
- package/src/tables/commands/open-table-workspace.js +43 -0
- package/src/tables/index.js +24 -0
- package/src/tables/jobs/client.js +158 -0
- package/src/tables/parsing/anchors.js +82 -0
- package/src/tables/parsing/linked-table-blocks.js +61 -0
- package/src/tables/state/linked-table-state.js +68 -0
- package/src/tables/widgets/linked-table-source-banner.js +77 -0
- package/src/tables/widgets/linked-table-widget.js +256 -0
- package/src/tables/workspace/controller.js +616 -0
- package/src/term-pty-client.js +111 -7
- package/src/term-widget.js +43 -3
- package/src/widgets/theme-utils.js +24 -16
- package/src/widgets/theme.js +1535 -1
- package/src/runtime-codelens/detector.js +0 -279
- package/src/runtime-codelens/index.js +0 -76
- package/src/runtime-codelens/plugin.js +0 -142
- package/src/runtime-codelens/styles.js +0 -184
- package/src/runtime-codelens/widgets.js +0 -216
package/src/widgets/theme.js
CHANGED
|
@@ -82,7 +82,7 @@ export const tokenDefinitions = {
|
|
|
82
82
|
'--widget-inset-left': {
|
|
83
83
|
description: 'Left inset/indent for widgets (creates visual hierarchy)',
|
|
84
84
|
category: 'spacing',
|
|
85
|
-
default: '
|
|
85
|
+
default: '24px',
|
|
86
86
|
},
|
|
87
87
|
'--widget-offset-top': {
|
|
88
88
|
description: 'Vertical offset for widgets. Use negative values to pull widgets closer to code blocks.',
|
|
@@ -351,6 +351,9 @@ export const tokenDefinitions = {
|
|
|
351
351
|
|
|
352
352
|
// Lists
|
|
353
353
|
'--md-list-marker-color': { description: 'List bullet/number color', category: 'markdown', default: 'var(--widget-text-muted)' },
|
|
354
|
+
'--md-list-number-weight': { description: 'Ordered list marker weight', category: 'markdown', default: '600' },
|
|
355
|
+
'--md-list-bullet-weight': { description: 'Unordered list bullet weight', category: 'markdown', default: '700' },
|
|
356
|
+
'--md-list-bullet-width': { description: 'Reserved width for rendered list bullets', category: 'markdown', default: '0.75em' },
|
|
354
357
|
|
|
355
358
|
// Horizontal rules
|
|
356
359
|
'--md-hr-color': { description: 'Horizontal rule color', category: 'markdown', default: 'var(--widget-border)' },
|
|
@@ -386,6 +389,16 @@ export const tokenDefinitions = {
|
|
|
386
389
|
'--md-alert-important-color': { description: 'Important alert accent color', category: 'markdown', default: 'var(--syntax-keyword)' },
|
|
387
390
|
'--md-alert-warning-color': { description: 'Warning alert accent color', category: 'markdown', default: 'var(--widget-warning)' },
|
|
388
391
|
'--md-alert-caution-color': { description: 'Caution alert accent color', category: 'markdown', default: 'var(--widget-error)' },
|
|
392
|
+
'--md-admonition-background': { description: 'Legacy admonition background tint (used as fallback)', category: 'markdown', default: 'color-mix(in srgb, var(--md-alert-accent, var(--widget-border-accent)) 10%, transparent)' },
|
|
393
|
+
'--md-admonition-title-background': { description: 'Background for admonition title row', category: 'markdown', default: 'color-mix(in srgb, var(--md-alert-accent, var(--widget-border-accent)) 14%, var(--editor-background, transparent) 86%)' },
|
|
394
|
+
'--md-admonition-body-background': { description: 'Background for admonition body rows', category: 'markdown', default: 'color-mix(in srgb, var(--md-alert-accent, var(--widget-border-accent)) 5%, var(--editor-background, transparent) 95%)' },
|
|
395
|
+
'--md-admonition-border-color': { description: 'Border color for admonition cards', category: 'markdown', default: 'color-mix(in srgb, var(--md-alert-accent, var(--widget-border-accent)) 46%, var(--widget-border) 54%)' },
|
|
396
|
+
'--md-admonition-title-color': { description: 'Title text/icon color for admonitions', category: 'markdown', default: 'color-mix(in srgb, var(--md-alert-accent, var(--widget-text-accent)) 88%, var(--widget-text, currentColor) 12%)' },
|
|
397
|
+
'--md-admonition-text-color': { description: 'Body text color for admonitions', category: 'markdown', default: 'inherit' },
|
|
398
|
+
'--md-admonition-radius': { description: 'Corner radius for admonition blocks', category: 'markdown', default: '6px' },
|
|
399
|
+
'--md-admonition-border-width': { description: 'Border width for admonition cards', category: 'markdown', default: '1px' },
|
|
400
|
+
'--md-admonition-padding-x': { description: 'Horizontal padding for admonition rows', category: 'markdown', default: '0.9em' },
|
|
401
|
+
'--md-admonition-padding-y': { description: 'Vertical padding for admonition rows', category: 'markdown', default: '0.35em' },
|
|
389
402
|
|
|
390
403
|
// ===========================================================================
|
|
391
404
|
// SHELL (Status bar, menus, dialogs)
|
|
@@ -2419,6 +2432,1515 @@ export const openresponsesTheme = {
|
|
|
2419
2432
|
'--header-fg-hover': '#0f172a', // slate-900
|
|
2420
2433
|
};
|
|
2421
2434
|
|
|
2435
|
+
// ===========================================================================
|
|
2436
|
+
// WIZARD'S STUDY THEMES
|
|
2437
|
+
// ===========================================================================
|
|
2438
|
+
|
|
2439
|
+
/**
|
|
2440
|
+
* Wizard's Study Dark Theme
|
|
2441
|
+
*
|
|
2442
|
+
* Deep midnight background like aged oak walls, warm parchment text
|
|
2443
|
+
* like candlelit scrolls. Muted jewel tones: amethyst, sage, gold, ember.
|
|
2444
|
+
*
|
|
2445
|
+
* Inspired by late-night reading in a wizard's tower — the warm glow
|
|
2446
|
+
* of candles on old wood, ink on parchment, crystals catching starlight.
|
|
2447
|
+
*
|
|
2448
|
+
* ## Color Palette
|
|
2449
|
+
*
|
|
2450
|
+
* **Backgrounds** — midnight oak, shadow, twilight velvet
|
|
2451
|
+
* - #1a1b2e (midnight oak — main background)
|
|
2452
|
+
* - #2a2b3d (shadow — elevated surfaces)
|
|
2453
|
+
* - #3d3552 (twilight velvet — selections, highlights)
|
|
2454
|
+
*
|
|
2455
|
+
* **Text** — warm parchment tones
|
|
2456
|
+
* - #d4c4a8 (warm parchment — primary text)
|
|
2457
|
+
* - #a49478 (worn scroll — muted text)
|
|
2458
|
+
* - #c8a654 (candlelight gold — accent)
|
|
2459
|
+
*
|
|
2460
|
+
* **Syntax** — aged jewel tones
|
|
2461
|
+
* - #a87cc4 (amethyst crystal — keywords)
|
|
2462
|
+
* - #8aab7c (sage leaf — strings)
|
|
2463
|
+
* - #c8a654 (candlelight gold — numbers, cursor)
|
|
2464
|
+
* - #c47862 (fading ember — errors, tags)
|
|
2465
|
+
* - #7c8ec4 (twilight sky — functions)
|
|
2466
|
+
* - #7caab0 (moonlit water — types)
|
|
2467
|
+
*/
|
|
2468
|
+
export const wizardStudyDarkTheme = {
|
|
2469
|
+
name: 'wizard-study-dark',
|
|
2470
|
+
description: "Deep midnight study with candlelit parchment tones. The Wizard's Study (dark).",
|
|
2471
|
+
isDark: true,
|
|
2472
|
+
fontFace: defaultFontFace,
|
|
2473
|
+
|
|
2474
|
+
// ===========================================================================
|
|
2475
|
+
// SPACING
|
|
2476
|
+
// ===========================================================================
|
|
2477
|
+
'--widget-line-height': 'inherit',
|
|
2478
|
+
'--widget-padding-x': '12px',
|
|
2479
|
+
'--widget-padding-y': '8px',
|
|
2480
|
+
'--widget-margin-y': '4px',
|
|
2481
|
+
'--widget-border-radius': '6px',
|
|
2482
|
+
'--widget-border-width': '1px',
|
|
2483
|
+
'--widget-border-accent-width': '3px',
|
|
2484
|
+
|
|
2485
|
+
// Text layout
|
|
2486
|
+
'--widget-white-space': 'pre-wrap',
|
|
2487
|
+
'--widget-word-break': 'break-word',
|
|
2488
|
+
|
|
2489
|
+
// ===========================================================================
|
|
2490
|
+
// TYPOGRAPHY
|
|
2491
|
+
// ===========================================================================
|
|
2492
|
+
'--widget-font-mono': "'Monaspace Neon Var', 'SF Mono', Monaco, Consolas, monospace",
|
|
2493
|
+
'--widget-font-sans': "Literata, Charter, Georgia, serif",
|
|
2494
|
+
'--editor-font-family': "Literata, Charter, Georgia, serif",
|
|
2495
|
+
'--widget-font-size': '0.9em',
|
|
2496
|
+
'--widget-font-size-small': '0.8em',
|
|
2497
|
+
'--widget-font-size-label': '11px',
|
|
2498
|
+
|
|
2499
|
+
// ===========================================================================
|
|
2500
|
+
// SURFACES (midnight oak tones)
|
|
2501
|
+
// ===========================================================================
|
|
2502
|
+
'--widget-surface': '#222336', // slightly lighter than editor bg
|
|
2503
|
+
'--widget-surface-hover': '#2a2b3d', // shadow
|
|
2504
|
+
'--widget-surface-elevated': '#2a2b3d', // shadow — tooltips, dropdowns
|
|
2505
|
+
'--widget-surface-inset': '#141524', // deeper shadow
|
|
2506
|
+
|
|
2507
|
+
// ===========================================================================
|
|
2508
|
+
// BORDERS
|
|
2509
|
+
// ===========================================================================
|
|
2510
|
+
'--widget-border': '#3d3552', // twilight velvet
|
|
2511
|
+
'--widget-border-accent': 'rgba(200, 166, 84, 0.6)', // candlelight gold
|
|
2512
|
+
'--widget-border-focus': '#c8a654', // molten gold
|
|
2513
|
+
|
|
2514
|
+
// ===========================================================================
|
|
2515
|
+
// TEXT COLORS (parchment tones)
|
|
2516
|
+
// ===========================================================================
|
|
2517
|
+
'--widget-text': '#d4c4a8', // warm parchment
|
|
2518
|
+
'--widget-text-muted': '#8a7a5e', // worn scroll
|
|
2519
|
+
'--widget-text-accent': '#c8a654', // candlelight gold
|
|
2520
|
+
|
|
2521
|
+
// ===========================================================================
|
|
2522
|
+
// SEMANTIC COLORS (jewel tones)
|
|
2523
|
+
// ===========================================================================
|
|
2524
|
+
'--widget-success': '#8aab7c', // sage leaf
|
|
2525
|
+
'--widget-warning': '#c8a654', // candlelight gold
|
|
2526
|
+
'--widget-error': '#c47862', // fading ember
|
|
2527
|
+
'--widget-info': '#7c8ec4', // twilight sky
|
|
2528
|
+
|
|
2529
|
+
// ===========================================================================
|
|
2530
|
+
// ANSI TERMINAL COLORS (from Alacritty theme)
|
|
2531
|
+
// ===========================================================================
|
|
2532
|
+
'--ansi-black': '#2a2b3d', // shadow
|
|
2533
|
+
'--ansi-red': '#c47862', // fading ember
|
|
2534
|
+
'--ansi-green': '#8aab7c', // sage leaf
|
|
2535
|
+
'--ansi-yellow': '#c8a654', // candlelight gold
|
|
2536
|
+
'--ansi-blue': '#7c8ec4', // twilight sky
|
|
2537
|
+
'--ansi-magenta': '#a87cc4', // amethyst crystal
|
|
2538
|
+
'--ansi-cyan': '#7caab0', // moonlit water
|
|
2539
|
+
'--ansi-white': '#d4c4a8', // parchment
|
|
2540
|
+
'--ansi-bright-black': '#4a4b5d', // lighter shadow
|
|
2541
|
+
'--ansi-bright-red': '#d49882', // warm hearth
|
|
2542
|
+
'--ansi-bright-green': '#a4c896', // spring moss
|
|
2543
|
+
'--ansi-bright-yellow': '#e8c874', // sunbeam
|
|
2544
|
+
'--ansi-bright-blue': '#9caed4', // morning sky
|
|
2545
|
+
'--ansi-bright-magenta': '#c49cd4', // lavender mist
|
|
2546
|
+
'--ansi-bright-cyan': '#9ccad0', // clear brook
|
|
2547
|
+
'--ansi-bright-white': '#ebe0cc', // aged linen
|
|
2548
|
+
|
|
2549
|
+
// ===========================================================================
|
|
2550
|
+
// TERMINAL COLORS
|
|
2551
|
+
// ===========================================================================
|
|
2552
|
+
'--term-background': '#1a1b2e', // midnight oak
|
|
2553
|
+
'--term-foreground': '#d4c4a8', // warm parchment
|
|
2554
|
+
'--term-cursor': '#c8a654', // molten gold
|
|
2555
|
+
'--term-cursor-accent': '#1a1b2e', // midnight oak
|
|
2556
|
+
'--term-selection': '#3d3552', // twilight velvet
|
|
2557
|
+
'--term-border': '#3d3552', // twilight velvet
|
|
2558
|
+
'--term-header-bg': '#2a2b3d', // shadow
|
|
2559
|
+
'--term-header-fg': '#8a7a5e', // worn scroll
|
|
2560
|
+
|
|
2561
|
+
// ===========================================================================
|
|
2562
|
+
// COLLABORATOR COLORS
|
|
2563
|
+
// ===========================================================================
|
|
2564
|
+
'--collab-human': '#7c8ec4', // twilight sky
|
|
2565
|
+
'--collab-ai': '#a87cc4', // amethyst crystal
|
|
2566
|
+
'--collab-runtime': '#8aab7c', // sage leaf
|
|
2567
|
+
|
|
2568
|
+
// ===========================================================================
|
|
2569
|
+
// EDITOR
|
|
2570
|
+
// ===========================================================================
|
|
2571
|
+
'--editor-background': '#1a1b2e', // midnight oak
|
|
2572
|
+
'--editor-foreground': '#d4c4a8', // warm parchment
|
|
2573
|
+
'--editor-line-number': '#4a4b5d', // lighter shadow
|
|
2574
|
+
'--editor-line-number-active': '#d4c4a8', // warm parchment
|
|
2575
|
+
'--editor-selection': '#3d3552', // twilight velvet
|
|
2576
|
+
'--editor-selection-match': '#33304a', // deeper velvet
|
|
2577
|
+
'--editor-cursor': '#c8a654', // molten gold
|
|
2578
|
+
'--editor-active-line': 'rgba(61, 53, 82, 0.4)', // twilight velvet hint
|
|
2579
|
+
'--editor-gutter': '#1a1b2e', // midnight oak
|
|
2580
|
+
'--editor-matching-bracket': 'rgba(200, 166, 84, 0.3)', // gold shimmer
|
|
2581
|
+
|
|
2582
|
+
// ===========================================================================
|
|
2583
|
+
// SYNTAX HIGHLIGHTING (jewel tones — muted, aged, wise)
|
|
2584
|
+
// ===========================================================================
|
|
2585
|
+
'--syntax-keyword': '#a87cc4', // amethyst crystal
|
|
2586
|
+
'--syntax-control': '#a87cc4', // amethyst crystal
|
|
2587
|
+
'--syntax-string': '#8aab7c', // sage leaf
|
|
2588
|
+
'--syntax-number': '#c8a654', // candlelight gold
|
|
2589
|
+
'--syntax-comment': '#5a5b6d', // dim stone
|
|
2590
|
+
'--syntax-function': '#7c8ec4', // twilight sky
|
|
2591
|
+
'--syntax-variable': '#d4c4a8', // warm parchment
|
|
2592
|
+
'--syntax-variable-special': '#a87cc4', // amethyst crystal
|
|
2593
|
+
'--syntax-property': '#9caed4', // morning sky
|
|
2594
|
+
'--syntax-operator': '#d4c4a8', // parchment
|
|
2595
|
+
'--syntax-punctuation': '#8a7a5e', // worn scroll
|
|
2596
|
+
'--syntax-type': '#7caab0', // moonlit water
|
|
2597
|
+
'--syntax-class': '#7caab0', // moonlit water
|
|
2598
|
+
'--syntax-constant': '#c8a654', // candlelight gold
|
|
2599
|
+
'--syntax-parameter': '#d4c4a8', // warm parchment
|
|
2600
|
+
'--syntax-regexp': '#c47862', // fading ember
|
|
2601
|
+
'--syntax-escape': '#e8c874', // sunbeam
|
|
2602
|
+
'--syntax-tag': '#c47862', // fading ember
|
|
2603
|
+
'--syntax-attribute': '#9caed4', // morning sky
|
|
2604
|
+
'--syntax-attribute-value': '#8aab7c', // sage leaf
|
|
2605
|
+
'--syntax-heading': '#c8a654', // candlelight gold
|
|
2606
|
+
'--syntax-link': '#7c8ec4', // twilight sky
|
|
2607
|
+
'--syntax-link-text': '#9caed4', // morning sky
|
|
2608
|
+
'--syntax-emphasis': '#c49cd4', // lavender mist
|
|
2609
|
+
'--syntax-strong': '#ebe0cc', // aged linen
|
|
2610
|
+
'--syntax-strikethrough': '#4a4b5d', // lighter shadow
|
|
2611
|
+
'--syntax-quote': '#5a5b6d', // dim stone
|
|
2612
|
+
'--syntax-code': '#c8a654', // candlelight gold
|
|
2613
|
+
'--syntax-code-background': 'rgba(42, 43, 61, 0.6)', // shadow
|
|
2614
|
+
'--syntax-meta': '#5a5b6d', // dim stone
|
|
2615
|
+
'--syntax-inserted': '#8aab7c', // sage leaf
|
|
2616
|
+
'--syntax-deleted': '#c47862', // fading ember
|
|
2617
|
+
'--syntax-changed': '#c8a654', // candlelight gold
|
|
2618
|
+
|
|
2619
|
+
// ===========================================================================
|
|
2620
|
+
// MARKDOWN RENDERING
|
|
2621
|
+
// ===========================================================================
|
|
2622
|
+
'--md-heading-1-size': '1.75em',
|
|
2623
|
+
'--md-heading-2-size': '1.4em',
|
|
2624
|
+
'--md-heading-3-size': '1.2em',
|
|
2625
|
+
'--md-heading-4-size': '1.1em',
|
|
2626
|
+
'--md-heading-5-size': '1.05em',
|
|
2627
|
+
'--md-heading-6-size': '1em',
|
|
2628
|
+
'--md-heading-weight': '600',
|
|
2629
|
+
'--md-heading-line-height': '1.3',
|
|
2630
|
+
'--md-heading-margin-top': '0.5em',
|
|
2631
|
+
'--md-heading-color': '#e8c874', // sunbeam for headings
|
|
2632
|
+
'--md-marker-color': '#5a5b6d', // dim stone
|
|
2633
|
+
'--md-marker-font': "'Monaspace Neon Var', 'SF Mono', Monaco, Consolas, monospace",
|
|
2634
|
+
'--md-link-color': '#7c8ec4', // twilight sky
|
|
2635
|
+
'--md-link-decoration': 'underline',
|
|
2636
|
+
'--md-code-background': 'rgba(42, 43, 61, 0.6)', // shadow
|
|
2637
|
+
'--md-code-color': '#c8a654', // candlelight gold
|
|
2638
|
+
'--md-code-padding': '0.15em 0.35em',
|
|
2639
|
+
'--md-code-radius': '3px',
|
|
2640
|
+
'--md-blockquote-border': 'rgba(200, 166, 84, 0.4)', // candlelight gold
|
|
2641
|
+
'--md-blockquote-border-width': '3px',
|
|
2642
|
+
'--md-blockquote-color': '#8a7a5e', // worn scroll
|
|
2643
|
+
'--md-blockquote-padding': '1em',
|
|
2644
|
+
'--md-list-marker-color': '#8a7a5e', // worn scroll
|
|
2645
|
+
'--md-hr-color': '#3d3552', // twilight velvet
|
|
2646
|
+
'--md-hr-height': '1px',
|
|
2647
|
+
'--md-hr-margin': '1.5em 0',
|
|
2648
|
+
'--md-table-border': '#3d3552', // twilight velvet
|
|
2649
|
+
'--md-table-header-bg': '#2a2b3d', // shadow
|
|
2650
|
+
'--md-table-header-weight': '600',
|
|
2651
|
+
'--md-table-cell-padding': '0.5em 0.75em',
|
|
2652
|
+
'--md-table-stripe-bg': 'transparent',
|
|
2653
|
+
'--md-image-max-width': '100%',
|
|
2654
|
+
'--md-image-border-radius': '6px',
|
|
2655
|
+
'--md-checkbox-size': '1em',
|
|
2656
|
+
'--md-checkbox-color': '#c8a654', // candlelight gold
|
|
2657
|
+
'--md-alert-note-color': '#7c8ec4', // twilight sky
|
|
2658
|
+
'--md-alert-tip-color': '#8aab7c', // sage leaf
|
|
2659
|
+
'--md-alert-important-color': '#a87cc4', // amethyst crystal
|
|
2660
|
+
'--md-alert-warning-color': '#c8a654', // candlelight gold
|
|
2661
|
+
'--md-alert-caution-color': '#c47862', // fading ember
|
|
2662
|
+
|
|
2663
|
+
// ===========================================================================
|
|
2664
|
+
// SHELL (status bar, menus, dialogs)
|
|
2665
|
+
// ===========================================================================
|
|
2666
|
+
'--mrmd-ui-font': "Literata, Charter, Georgia, serif",
|
|
2667
|
+
'--mrmd-ui-font-size': '13px',
|
|
2668
|
+
'--mrmd-ui-font-size-sm': '11px',
|
|
2669
|
+
'--mrmd-panel-bg': '#1a1b2e', // midnight oak
|
|
2670
|
+
'--mrmd-popup-bg': '#2a2b3d', // shadow
|
|
2671
|
+
'--mrmd-bg': '#1a1b2e', // midnight oak
|
|
2672
|
+
'--mrmd-fg': '#d4c4a8', // warm parchment
|
|
2673
|
+
'--mrmd-fg-muted': '#8a7a5e', // worn scroll
|
|
2674
|
+
'--mrmd-border': '#3d3552', // twilight velvet
|
|
2675
|
+
'--mrmd-hover-bg': 'rgba(200, 166, 84, 0.08)', // gold hint
|
|
2676
|
+
'--mrmd-active-bg': 'rgba(200, 166, 84, 0.12)', // gold hint
|
|
2677
|
+
'--mrmd-selection-bg': 'rgba(200, 166, 84, 0.2)', // gold selection
|
|
2678
|
+
'--mrmd-accent': '#c8a654', // candlelight gold
|
|
2679
|
+
'--mrmd-accent-hover': '#e8c874', // sunbeam
|
|
2680
|
+
'--mrmd-success': '#8aab7c', // sage leaf
|
|
2681
|
+
'--mrmd-warning': '#c8a654', // candlelight gold
|
|
2682
|
+
'--mrmd-error': '#c47862', // fading ember
|
|
2683
|
+
'--mrmd-shadow-md': '0 4px 12px rgba(0, 0, 0, 0.4)',
|
|
2684
|
+
'--mrmd-shadow-lg': '0 8px 32px rgba(0, 0, 0, 0.5)',
|
|
2685
|
+
'--mrmd-shadow-xl': '0 16px 48px rgba(0, 0, 0, 0.6)',
|
|
2686
|
+
'--mrmd-menu-border': '#3d3552', // twilight velvet
|
|
2687
|
+
'--mrmd-dialog-border': '#3d3552', // twilight velvet
|
|
2688
|
+
'--mrmd-input-border': '#3d3552', // twilight velvet
|
|
2689
|
+
'--mrmd-button-bg': '#2a2b3d', // shadow
|
|
2690
|
+
'--mrmd-button-border': '#3d3552', // twilight velvet
|
|
2691
|
+
'--mrmd-button-hover': '#3d3552', // twilight velvet
|
|
2692
|
+
'--mrmd-button-active': '#4a4b5d', // lighter shadow
|
|
2693
|
+
};
|
|
2694
|
+
|
|
2695
|
+
/**
|
|
2696
|
+
* Wizard's Study Light Theme
|
|
2697
|
+
*
|
|
2698
|
+
* Sunlit parchment background like an open grimoire, deep ink foreground
|
|
2699
|
+
* like fresh calligraphy. Warm jewel tones: amber, forest, dusty rose, deep sea.
|
|
2700
|
+
*
|
|
2701
|
+
* The same wizard's study in daylight — morning sun streaming through
|
|
2702
|
+
* leaded glass, illuminating pages of aged manuscripts.
|
|
2703
|
+
*
|
|
2704
|
+
* ## Color Palette
|
|
2705
|
+
*
|
|
2706
|
+
* **Backgrounds** — sunlit parchment, warm vellum
|
|
2707
|
+
* - #f2e8d5 (sunlit parchment — main background)
|
|
2708
|
+
* - #e8dcc6 (bleached linen — elevated surfaces)
|
|
2709
|
+
* - #d4c4a8 (warm vellum — selections)
|
|
2710
|
+
*
|
|
2711
|
+
* **Text** — aged ink, deep calligraphy
|
|
2712
|
+
* - #2a2540 (aged ink — primary text)
|
|
2713
|
+
* - #5a5470 (faded ink — muted text)
|
|
2714
|
+
* - #a07830 (deep amber quill — accent)
|
|
2715
|
+
*
|
|
2716
|
+
* **Syntax** — rich inks on parchment
|
|
2717
|
+
* - #7a4a8a (dried lavender — keywords)
|
|
2718
|
+
* - #4a7a42 (forest herb — strings)
|
|
2719
|
+
* - #8a6a20 (aged amber — numbers)
|
|
2720
|
+
* - #a04040 (sealing wax — errors, tags)
|
|
2721
|
+
* - #3a5a9a (lapis lazuli — functions)
|
|
2722
|
+
* - #3a7a7a (deep well water — types)
|
|
2723
|
+
*/
|
|
2724
|
+
export const wizardStudyLightTheme = {
|
|
2725
|
+
name: 'wizard-study-light',
|
|
2726
|
+
description: "Sunlit parchment with rich ink tones. The Wizard's Study (light).",
|
|
2727
|
+
isDark: false,
|
|
2728
|
+
fontFace: defaultFontFace,
|
|
2729
|
+
|
|
2730
|
+
// ===========================================================================
|
|
2731
|
+
// SPACING
|
|
2732
|
+
// ===========================================================================
|
|
2733
|
+
'--widget-line-height': 'inherit',
|
|
2734
|
+
'--widget-padding-x': '12px',
|
|
2735
|
+
'--widget-padding-y': '8px',
|
|
2736
|
+
'--widget-margin-y': '4px',
|
|
2737
|
+
'--widget-border-radius': '6px',
|
|
2738
|
+
'--widget-border-width': '1px',
|
|
2739
|
+
'--widget-border-accent-width': '3px',
|
|
2740
|
+
|
|
2741
|
+
// Text layout
|
|
2742
|
+
'--widget-white-space': 'pre-wrap',
|
|
2743
|
+
'--widget-word-break': 'break-word',
|
|
2744
|
+
|
|
2745
|
+
// ===========================================================================
|
|
2746
|
+
// TYPOGRAPHY
|
|
2747
|
+
// ===========================================================================
|
|
2748
|
+
'--widget-font-mono': "'Monaspace Neon Var', 'SF Mono', Monaco, Consolas, monospace",
|
|
2749
|
+
'--widget-font-sans': "Literata, Charter, Georgia, serif",
|
|
2750
|
+
'--editor-font-family': "Literata, Charter, Georgia, serif",
|
|
2751
|
+
'--widget-font-size': '0.9em',
|
|
2752
|
+
'--widget-font-size-small': '0.8em',
|
|
2753
|
+
'--widget-font-size-label': '11px',
|
|
2754
|
+
|
|
2755
|
+
// ===========================================================================
|
|
2756
|
+
// SURFACES (sunlit parchment tones)
|
|
2757
|
+
// ===========================================================================
|
|
2758
|
+
'--widget-surface': '#eaddc8', // aged parchment
|
|
2759
|
+
'--widget-surface-hover': '#e2d4bc', // touched parchment
|
|
2760
|
+
'--widget-surface-elevated': '#f2e8d5', // sunlit parchment
|
|
2761
|
+
'--widget-surface-inset': '#e0d2ba', // deeper parchment
|
|
2762
|
+
|
|
2763
|
+
// ===========================================================================
|
|
2764
|
+
// BORDERS
|
|
2765
|
+
// ===========================================================================
|
|
2766
|
+
'--widget-border': '#d4c4a8', // warm vellum
|
|
2767
|
+
'--widget-border-accent': 'rgba(160, 120, 48, 0.5)', // deep amber quill
|
|
2768
|
+
'--widget-border-focus': '#a07830', // deep amber quill
|
|
2769
|
+
|
|
2770
|
+
// ===========================================================================
|
|
2771
|
+
// TEXT COLORS (aged ink)
|
|
2772
|
+
// ===========================================================================
|
|
2773
|
+
'--widget-text': '#2a2540', // aged ink
|
|
2774
|
+
'--widget-text-muted': '#6a6480', // ghosted ink
|
|
2775
|
+
'--widget-text-accent': '#a07830', // deep amber quill
|
|
2776
|
+
|
|
2777
|
+
// ===========================================================================
|
|
2778
|
+
// SEMANTIC COLORS
|
|
2779
|
+
// ===========================================================================
|
|
2780
|
+
'--widget-success': '#4a7a42', // forest herb
|
|
2781
|
+
'--widget-warning': '#8a6a20', // aged amber
|
|
2782
|
+
'--widget-error': '#a04040', // sealing wax
|
|
2783
|
+
'--widget-info': '#3a5a9a', // lapis lazuli
|
|
2784
|
+
|
|
2785
|
+
// ===========================================================================
|
|
2786
|
+
// ANSI TERMINAL COLORS (from Alacritty light theme)
|
|
2787
|
+
// ===========================================================================
|
|
2788
|
+
'--ansi-black': '#2a2540', // deep ink
|
|
2789
|
+
'--ansi-red': '#a04040', // sealing wax
|
|
2790
|
+
'--ansi-green': '#4a7a42', // forest herb
|
|
2791
|
+
'--ansi-yellow': '#8a6a20', // aged amber
|
|
2792
|
+
'--ansi-blue': '#3a5a9a', // lapis lazuli
|
|
2793
|
+
'--ansi-magenta': '#7a4a8a', // dried lavender
|
|
2794
|
+
'--ansi-cyan': '#3a7a7a', // deep well water
|
|
2795
|
+
'--ansi-white': '#e8dcc6', // bleached linen
|
|
2796
|
+
'--ansi-bright-black': '#5a5470', // faded ink
|
|
2797
|
+
'--ansi-bright-red': '#c45a4a', // phoenix feather
|
|
2798
|
+
'--ansi-bright-green': '#5a9a52', // spring canopy
|
|
2799
|
+
'--ansi-bright-yellow': '#b08a30', // gilded edge
|
|
2800
|
+
'--ansi-bright-blue': '#4a72b8', // sapphire shard
|
|
2801
|
+
'--ansi-bright-magenta': '#9a62a8', // amethyst glow
|
|
2802
|
+
'--ansi-bright-cyan': '#4a9494', // enchanted pool
|
|
2803
|
+
'--ansi-bright-white': '#f2e8d5', // sunlit parchment
|
|
2804
|
+
|
|
2805
|
+
// ===========================================================================
|
|
2806
|
+
// TERMINAL COLORS
|
|
2807
|
+
// ===========================================================================
|
|
2808
|
+
'--term-background': '#f2e8d5', // sunlit parchment
|
|
2809
|
+
'--term-foreground': '#2a2540', // aged ink
|
|
2810
|
+
'--term-cursor': '#a07830', // deep amber quill
|
|
2811
|
+
'--term-cursor-accent': '#f2e8d5', // sunlit parchment
|
|
2812
|
+
'--term-selection': '#d4c4a8', // warm vellum
|
|
2813
|
+
'--term-border': '#d4c4a8', // warm vellum
|
|
2814
|
+
'--term-header-bg': '#e8dcc6', // bleached linen
|
|
2815
|
+
'--term-header-fg': '#6a6480', // ghosted ink
|
|
2816
|
+
|
|
2817
|
+
// ===========================================================================
|
|
2818
|
+
// COLLABORATOR COLORS
|
|
2819
|
+
// ===========================================================================
|
|
2820
|
+
'--collab-human': '#3a5a9a', // lapis lazuli
|
|
2821
|
+
'--collab-ai': '#7a4a8a', // dried lavender
|
|
2822
|
+
'--collab-runtime': '#4a7a42', // forest herb
|
|
2823
|
+
|
|
2824
|
+
// ===========================================================================
|
|
2825
|
+
// EDITOR
|
|
2826
|
+
// ===========================================================================
|
|
2827
|
+
'--editor-background': '#f2e8d5', // sunlit parchment
|
|
2828
|
+
'--editor-foreground': '#2a2540', // aged ink
|
|
2829
|
+
'--editor-line-number': '#a49478', // worn scroll
|
|
2830
|
+
'--editor-line-number-active': '#5a5470', // faded ink
|
|
2831
|
+
'--editor-selection': '#d4c4a8', // warm vellum
|
|
2832
|
+
'--editor-selection-match': '#e0d2ba', // deeper parchment
|
|
2833
|
+
'--editor-cursor': '#a07830', // deep amber quill
|
|
2834
|
+
'--editor-active-line': 'rgba(212, 196, 168, 0.4)', // warm vellum hint
|
|
2835
|
+
'--editor-gutter': '#f2e8d5', // sunlit parchment
|
|
2836
|
+
'--editor-matching-bracket': 'rgba(160, 120, 48, 0.25)', // amber shimmer
|
|
2837
|
+
|
|
2838
|
+
// ===========================================================================
|
|
2839
|
+
// SYNTAX HIGHLIGHTING (rich inks on parchment)
|
|
2840
|
+
// ===========================================================================
|
|
2841
|
+
'--syntax-keyword': '#7a4a8a', // dried lavender
|
|
2842
|
+
'--syntax-control': '#7a4a8a', // dried lavender
|
|
2843
|
+
'--syntax-string': '#4a7a42', // forest herb
|
|
2844
|
+
'--syntax-number': '#8a6a20', // aged amber
|
|
2845
|
+
'--syntax-comment': '#a49478', // worn scroll
|
|
2846
|
+
'--syntax-function': '#3a5a9a', // lapis lazuli
|
|
2847
|
+
'--syntax-variable': '#2a2540', // aged ink
|
|
2848
|
+
'--syntax-variable-special': '#7a4a8a', // dried lavender
|
|
2849
|
+
'--syntax-property': '#4a72b8', // sapphire shard
|
|
2850
|
+
'--syntax-operator': '#2a2540', // aged ink
|
|
2851
|
+
'--syntax-punctuation': '#6a6480', // ghosted ink
|
|
2852
|
+
'--syntax-type': '#3a7a7a', // deep well water
|
|
2853
|
+
'--syntax-class': '#3a7a7a', // deep well water
|
|
2854
|
+
'--syntax-constant': '#8a6a20', // aged amber
|
|
2855
|
+
'--syntax-parameter': '#2a2540', // aged ink
|
|
2856
|
+
'--syntax-regexp': '#a04040', // sealing wax
|
|
2857
|
+
'--syntax-escape': '#b08a30', // gilded edge
|
|
2858
|
+
'--syntax-tag': '#a04040', // sealing wax
|
|
2859
|
+
'--syntax-attribute': '#4a72b8', // sapphire shard
|
|
2860
|
+
'--syntax-attribute-value': '#4a7a42', // forest herb
|
|
2861
|
+
'--syntax-heading': '#2a2540', // aged ink — bold on parchment
|
|
2862
|
+
'--syntax-link': '#3a5a9a', // lapis lazuli
|
|
2863
|
+
'--syntax-link-text': '#4a72b8', // sapphire shard
|
|
2864
|
+
'--syntax-emphasis': '#7a4a8a', // dried lavender
|
|
2865
|
+
'--syntax-strong': '#2a2540', // aged ink
|
|
2866
|
+
'--syntax-strikethrough': '#a49478', // worn scroll
|
|
2867
|
+
'--syntax-quote': '#6a6480', // ghosted ink
|
|
2868
|
+
'--syntax-code': '#8a6a20', // aged amber
|
|
2869
|
+
'--syntax-code-background': 'rgba(212, 196, 168, 0.5)', // warm vellum
|
|
2870
|
+
'--syntax-meta': '#a49478', // worn scroll
|
|
2871
|
+
'--syntax-inserted': '#4a7a42', // forest herb
|
|
2872
|
+
'--syntax-deleted': '#a04040', // sealing wax
|
|
2873
|
+
'--syntax-changed': '#8a6a20', // aged amber
|
|
2874
|
+
|
|
2875
|
+
// ===========================================================================
|
|
2876
|
+
// MARKDOWN RENDERING
|
|
2877
|
+
// ===========================================================================
|
|
2878
|
+
'--md-heading-1-size': '1.75em',
|
|
2879
|
+
'--md-heading-2-size': '1.4em',
|
|
2880
|
+
'--md-heading-3-size': '1.2em',
|
|
2881
|
+
'--md-heading-4-size': '1.1em',
|
|
2882
|
+
'--md-heading-5-size': '1.05em',
|
|
2883
|
+
'--md-heading-6-size': '1em',
|
|
2884
|
+
'--md-heading-weight': '600',
|
|
2885
|
+
'--md-heading-line-height': '1.3',
|
|
2886
|
+
'--md-heading-margin-top': '0.5em',
|
|
2887
|
+
'--md-heading-color': '#2a2540', // aged ink
|
|
2888
|
+
'--md-marker-color': '#a49478', // worn scroll
|
|
2889
|
+
'--md-marker-font': "'Monaspace Neon Var', 'SF Mono', Monaco, Consolas, monospace",
|
|
2890
|
+
'--md-link-color': '#3a5a9a', // lapis lazuli
|
|
2891
|
+
'--md-link-decoration': 'underline',
|
|
2892
|
+
'--md-code-background': 'rgba(212, 196, 168, 0.5)', // warm vellum
|
|
2893
|
+
'--md-code-color': '#8a6a20', // aged amber
|
|
2894
|
+
'--md-code-padding': '0.15em 0.35em',
|
|
2895
|
+
'--md-code-radius': '3px',
|
|
2896
|
+
'--md-blockquote-border': 'rgba(160, 120, 48, 0.4)', // amber quill
|
|
2897
|
+
'--md-blockquote-border-width': '3px',
|
|
2898
|
+
'--md-blockquote-color': '#6a6480', // ghosted ink
|
|
2899
|
+
'--md-blockquote-padding': '1em',
|
|
2900
|
+
'--md-list-marker-color': '#a49478', // worn scroll
|
|
2901
|
+
'--md-hr-color': '#d4c4a8', // warm vellum
|
|
2902
|
+
'--md-hr-height': '1px',
|
|
2903
|
+
'--md-hr-margin': '1.5em 0',
|
|
2904
|
+
'--md-table-border': '#d4c4a8', // warm vellum
|
|
2905
|
+
'--md-table-header-bg': '#e8dcc6', // bleached linen
|
|
2906
|
+
'--md-table-header-weight': '600',
|
|
2907
|
+
'--md-table-cell-padding': '0.5em 0.75em',
|
|
2908
|
+
'--md-table-stripe-bg': 'transparent',
|
|
2909
|
+
'--md-image-max-width': '100%',
|
|
2910
|
+
'--md-image-border-radius': '6px',
|
|
2911
|
+
'--md-checkbox-size': '1em',
|
|
2912
|
+
'--md-checkbox-color': '#a07830', // deep amber quill
|
|
2913
|
+
'--md-alert-note-color': '#3a5a9a', // lapis lazuli
|
|
2914
|
+
'--md-alert-tip-color': '#4a7a42', // forest herb
|
|
2915
|
+
'--md-alert-important-color': '#7a4a8a', // dried lavender
|
|
2916
|
+
'--md-alert-warning-color': '#8a6a20', // aged amber
|
|
2917
|
+
'--md-alert-caution-color': '#a04040', // sealing wax
|
|
2918
|
+
|
|
2919
|
+
// ===========================================================================
|
|
2920
|
+
// SHELL (status bar, menus, dialogs)
|
|
2921
|
+
// ===========================================================================
|
|
2922
|
+
'--mrmd-ui-font': "Literata, Charter, Georgia, serif",
|
|
2923
|
+
'--mrmd-ui-font-size': '13px',
|
|
2924
|
+
'--mrmd-ui-font-size-sm': '11px',
|
|
2925
|
+
'--mrmd-panel-bg': '#f2e8d5', // sunlit parchment
|
|
2926
|
+
'--mrmd-popup-bg': '#f2e8d5', // sunlit parchment
|
|
2927
|
+
'--mrmd-bg': '#f2e8d5', // sunlit parchment
|
|
2928
|
+
'--mrmd-fg': '#2a2540', // aged ink
|
|
2929
|
+
'--mrmd-fg-muted': '#6a6480', // ghosted ink
|
|
2930
|
+
'--mrmd-border': '#d4c4a8', // warm vellum
|
|
2931
|
+
'--mrmd-hover-bg': 'rgba(160, 120, 48, 0.08)', // amber hint
|
|
2932
|
+
'--mrmd-active-bg': 'rgba(160, 120, 48, 0.12)', // amber hint
|
|
2933
|
+
'--mrmd-selection-bg': 'rgba(160, 120, 48, 0.15)', // amber selection
|
|
2934
|
+
'--mrmd-accent': '#a07830', // deep amber quill
|
|
2935
|
+
'--mrmd-accent-hover': '#8a6a20', // aged amber
|
|
2936
|
+
'--mrmd-success': '#4a7a42', // forest herb
|
|
2937
|
+
'--mrmd-warning': '#8a6a20', // aged amber
|
|
2938
|
+
'--mrmd-error': '#a04040', // sealing wax
|
|
2939
|
+
'--mrmd-shadow-md': '0 4px 12px rgba(0, 0, 0, 0.1)',
|
|
2940
|
+
'--mrmd-shadow-lg': '0 8px 32px rgba(0, 0, 0, 0.12)',
|
|
2941
|
+
'--mrmd-shadow-xl': '0 16px 48px rgba(0, 0, 0, 0.15)',
|
|
2942
|
+
'--mrmd-menu-border': '#d4c4a8', // warm vellum
|
|
2943
|
+
'--mrmd-dialog-border': '#d4c4a8', // warm vellum
|
|
2944
|
+
'--mrmd-input-border': '#d4c4a8', // warm vellum
|
|
2945
|
+
'--mrmd-button-bg': '#e8dcc6', // bleached linen
|
|
2946
|
+
'--mrmd-button-border': '#d4c4a8', // warm vellum
|
|
2947
|
+
'--mrmd-button-hover': '#d4c4a8', // warm vellum
|
|
2948
|
+
'--mrmd-button-active': '#c8bca6', // worn scroll
|
|
2949
|
+
};
|
|
2950
|
+
|
|
2951
|
+
// ===========================================================================
|
|
2952
|
+
// NEWSPRINT THEMES (E-ink / Newspaper aesthetic)
|
|
2953
|
+
// ===========================================================================
|
|
2954
|
+
|
|
2955
|
+
/**
|
|
2956
|
+
* Newsprint Light Theme
|
|
2957
|
+
*
|
|
2958
|
+
* A warm newspaper-gray light theme evoking broadsheets and cheap pulp.
|
|
2959
|
+
* The background is NOT white — it's the soft warm gray of unbleached
|
|
2960
|
+
* newsprint held under a reading lamp.
|
|
2961
|
+
*
|
|
2962
|
+
* Colors exist but are deliberately washed-out, like spot-color printing
|
|
2963
|
+
* on absorbent paper: the ink bleeds, the saturation drops, everything
|
|
2964
|
+
* feels a day old and perfectly readable.
|
|
2965
|
+
*
|
|
2966
|
+
* ## Color Palette
|
|
2967
|
+
*
|
|
2968
|
+
* **Backgrounds** — newsprint grays, unbleached paper
|
|
2969
|
+
* - #d8d3cb (newsprint — main background)
|
|
2970
|
+
* - #cec9c0 (thumbed page — surfaces)
|
|
2971
|
+
* - #e0dbd3 (fresh stock — elevated)
|
|
2972
|
+
* - #c6c1b8 (shadow column — inset)
|
|
2973
|
+
*
|
|
2974
|
+
* **Text** — press ink, varying impression weight
|
|
2975
|
+
* - #2c2a26 (fresh ink — primary text)
|
|
2976
|
+
* - #6b6760 (faded column — muted text)
|
|
2977
|
+
* - #4a5a6a (masthead blue — accent)
|
|
2978
|
+
*
|
|
2979
|
+
* **Syntax** — washed spot colors, one pass through the press
|
|
2980
|
+
* - #5a4a70 (classified purple — keywords)
|
|
2981
|
+
* - #4a6a42 (faded green ink — strings)
|
|
2982
|
+
* - #7a6a30 (aged stock ticker — numbers)
|
|
2983
|
+
* - #7a3a3a (correction red — errors)
|
|
2984
|
+
* - #3a5a7a (column-rule blue — functions)
|
|
2985
|
+
* - #3a6a6a (weather-map teal — types)
|
|
2986
|
+
*/
|
|
2987
|
+
export const newsprintLightTheme = {
|
|
2988
|
+
name: 'newsprint-light',
|
|
2989
|
+
description: 'Warm newspaper-gray theme with washed spot colors. E-ink / broadsheet feel.',
|
|
2990
|
+
isDark: false,
|
|
2991
|
+
fontFace: defaultFontFace,
|
|
2992
|
+
|
|
2993
|
+
// ===========================================================================
|
|
2994
|
+
// SPACING
|
|
2995
|
+
// ===========================================================================
|
|
2996
|
+
'--widget-line-height': '1.65',
|
|
2997
|
+
'--widget-padding-x': '14px',
|
|
2998
|
+
'--widget-padding-y': '10px',
|
|
2999
|
+
'--widget-margin-y': '4px',
|
|
3000
|
+
'--widget-border-radius': '2px',
|
|
3001
|
+
'--widget-border-width': '1px',
|
|
3002
|
+
'--widget-border-accent-width': '2px',
|
|
3003
|
+
|
|
3004
|
+
// Text layout
|
|
3005
|
+
'--widget-white-space': 'pre-wrap',
|
|
3006
|
+
'--widget-word-break': 'break-word',
|
|
3007
|
+
|
|
3008
|
+
// ===========================================================================
|
|
3009
|
+
// TYPOGRAPHY — Literata for the broadsheet serif feel
|
|
3010
|
+
// ===========================================================================
|
|
3011
|
+
'--widget-font-mono': "'Monaspace Neon Var', 'SF Mono', Monaco, Consolas, monospace",
|
|
3012
|
+
'--widget-font-sans': "Literata, Charter, Georgia, 'Times New Roman', serif",
|
|
3013
|
+
'--editor-font-family': "Literata, Charter, Georgia, 'Times New Roman', serif",
|
|
3014
|
+
'--widget-font-size': '0.9em',
|
|
3015
|
+
'--widget-font-size-small': '0.8em',
|
|
3016
|
+
'--widget-font-size-label': '11px',
|
|
3017
|
+
|
|
3018
|
+
// ===========================================================================
|
|
3019
|
+
// SURFACES (newsprint grays — warm, not sterile)
|
|
3020
|
+
// ===========================================================================
|
|
3021
|
+
'--widget-surface': '#cec9c0', // thumbed page
|
|
3022
|
+
'--widget-surface-hover': '#c6c1b8', // shadow column
|
|
3023
|
+
'--widget-surface-elevated': '#e0dbd3', // fresh stock
|
|
3024
|
+
'--widget-surface-inset': '#c6c1b8', // shadow column
|
|
3025
|
+
|
|
3026
|
+
// ===========================================================================
|
|
3027
|
+
// BORDERS (thin column rules)
|
|
3028
|
+
// ===========================================================================
|
|
3029
|
+
'--widget-border': '#b8b3aa', // column rule
|
|
3030
|
+
'--widget-border-accent': '#8a8a82', // heavy rule
|
|
3031
|
+
'--widget-border-focus': '#4a5a6a', // masthead blue
|
|
3032
|
+
|
|
3033
|
+
// ===========================================================================
|
|
3034
|
+
// TEXT COLORS (press ink)
|
|
3035
|
+
// ===========================================================================
|
|
3036
|
+
'--widget-text': '#2c2a26', // fresh ink
|
|
3037
|
+
'--widget-text-muted': '#6b6760', // faded column
|
|
3038
|
+
'--widget-text-accent': '#4a5a6a', // masthead blue
|
|
3039
|
+
|
|
3040
|
+
// ===========================================================================
|
|
3041
|
+
// SEMANTIC COLORS (washed newspaper spot colors)
|
|
3042
|
+
// ===========================================================================
|
|
3043
|
+
'--widget-success': '#4a6a42', // faded green ink
|
|
3044
|
+
'--widget-warning': '#7a6a30', // aged stock ticker
|
|
3045
|
+
'--widget-error': '#7a3a3a', // correction red
|
|
3046
|
+
'--widget-info': '#4a5a6a', // masthead blue
|
|
3047
|
+
|
|
3048
|
+
// ===========================================================================
|
|
3049
|
+
// ANSI COLORS (desaturated for newsprint)
|
|
3050
|
+
// ===========================================================================
|
|
3051
|
+
'--ansi-black': '#2c2a26', // fresh ink
|
|
3052
|
+
'--ansi-red': '#7a3a3a', // correction red
|
|
3053
|
+
'--ansi-green': '#4a6a42', // faded green
|
|
3054
|
+
'--ansi-yellow': '#7a6a30', // stock ticker
|
|
3055
|
+
'--ansi-blue': '#4a5a6a', // masthead blue
|
|
3056
|
+
'--ansi-magenta': '#5a4a70', // classified purple
|
|
3057
|
+
'--ansi-cyan': '#3a6a6a', // weather teal
|
|
3058
|
+
'--ansi-white': '#d8d3cb', // newsprint
|
|
3059
|
+
'--ansi-bright-black': '#6b6760', // faded column
|
|
3060
|
+
'--ansi-bright-red': '#8a5050', // lighter correction
|
|
3061
|
+
'--ansi-bright-green': '#5a7a52', // spring classified
|
|
3062
|
+
'--ansi-bright-yellow': '#8a7a40', // brighter ticker
|
|
3063
|
+
'--ansi-bright-blue': '#5a6a7a', // lighter masthead
|
|
3064
|
+
'--ansi-bright-magenta': '#6a5a80', // lighter classified
|
|
3065
|
+
'--ansi-bright-cyan': '#4a7a7a', // lighter weather
|
|
3066
|
+
'--ansi-bright-white': '#e0dbd3', // fresh stock
|
|
3067
|
+
|
|
3068
|
+
// ===========================================================================
|
|
3069
|
+
// TERMINAL
|
|
3070
|
+
// ===========================================================================
|
|
3071
|
+
'--term-background': '#d8d3cb', // newsprint
|
|
3072
|
+
'--term-foreground': '#2c2a26', // fresh ink
|
|
3073
|
+
'--term-cursor': '#2c2a26', // fresh ink
|
|
3074
|
+
'--term-cursor-accent': '#d8d3cb', // newsprint
|
|
3075
|
+
'--term-selection': '#b8b3aa', // column rule
|
|
3076
|
+
'--term-border': '#b8b3aa', // column rule
|
|
3077
|
+
'--term-header-bg': '#cec9c0', // thumbed page
|
|
3078
|
+
'--term-header-fg': '#6b6760', // faded column
|
|
3079
|
+
|
|
3080
|
+
// ===========================================================================
|
|
3081
|
+
// COLLABORATOR COLORS (muted)
|
|
3082
|
+
// ===========================================================================
|
|
3083
|
+
'--collab-human': '#4a5a6a', // masthead blue
|
|
3084
|
+
'--collab-ai': '#5a4a70', // classified purple
|
|
3085
|
+
'--collab-runtime': '#4a6a42', // faded green
|
|
3086
|
+
|
|
3087
|
+
// ===========================================================================
|
|
3088
|
+
// EDITOR
|
|
3089
|
+
// ===========================================================================
|
|
3090
|
+
'--editor-background': '#d8d3cb', // newsprint
|
|
3091
|
+
'--editor-foreground': '#2c2a26', // fresh ink
|
|
3092
|
+
'--editor-line-number': '#9a958c', // page number gray
|
|
3093
|
+
'--editor-line-number-active': '#5a5650', // bolder page number
|
|
3094
|
+
'--editor-selection': '#b8b3aa', // column rule highlight
|
|
3095
|
+
'--editor-selection-match': '#c6c1b8', // shadow column
|
|
3096
|
+
'--editor-cursor': '#2c2a26', // fresh ink
|
|
3097
|
+
'--editor-active-line': 'rgba(0, 0, 0, 0.04)', // faint line highlight
|
|
3098
|
+
'--editor-gutter': '#d8d3cb', // newsprint
|
|
3099
|
+
'--editor-matching-bracket': 'rgba(74, 90, 106, 0.2)', // masthead blue hint
|
|
3100
|
+
|
|
3101
|
+
// ===========================================================================
|
|
3102
|
+
// SYNTAX HIGHLIGHTING (washed inks — one press pass on cheap paper)
|
|
3103
|
+
// ===========================================================================
|
|
3104
|
+
'--syntax-keyword': '#5a4a70', // classified purple
|
|
3105
|
+
'--syntax-control': '#5a4a70', // classified purple
|
|
3106
|
+
'--syntax-string': '#4a6a42', // faded green ink
|
|
3107
|
+
'--syntax-number': '#7a6a30', // stock ticker amber
|
|
3108
|
+
'--syntax-comment': '#9a958c', // marginal note gray
|
|
3109
|
+
'--syntax-function': '#3a5a7a', // column-rule blue
|
|
3110
|
+
'--syntax-variable': '#2c2a26', // fresh ink
|
|
3111
|
+
'--syntax-variable-special': '#5a4a70', // classified purple
|
|
3112
|
+
'--syntax-property': '#4a5a6a', // masthead blue
|
|
3113
|
+
'--syntax-operator': '#2c2a26', // fresh ink
|
|
3114
|
+
'--syntax-punctuation': '#6b6760', // faded column
|
|
3115
|
+
'--syntax-type': '#3a6a6a', // weather-map teal
|
|
3116
|
+
'--syntax-class': '#3a6a6a', // weather-map teal
|
|
3117
|
+
'--syntax-constant': '#7a6a30', // stock ticker
|
|
3118
|
+
'--syntax-parameter': '#2c2a26', // fresh ink
|
|
3119
|
+
'--syntax-regexp': '#7a3a3a', // correction red
|
|
3120
|
+
'--syntax-escape': '#8a7a40', // brighter ticker
|
|
3121
|
+
'--syntax-tag': '#7a3a3a', // correction red
|
|
3122
|
+
'--syntax-attribute': '#4a5a6a', // masthead blue
|
|
3123
|
+
'--syntax-attribute-value': '#4a6a42', // faded green
|
|
3124
|
+
'--syntax-heading': '#2c2a26', // fresh ink — headlines are bold, not colorful
|
|
3125
|
+
'--syntax-link': '#3a5a7a', // column-rule blue
|
|
3126
|
+
'--syntax-link-text': '#4a5a6a', // masthead blue
|
|
3127
|
+
'--syntax-emphasis': '#2c2a26', // fresh ink
|
|
3128
|
+
'--syntax-strong': '#2c2a26', // fresh ink
|
|
3129
|
+
'--syntax-strikethrough': '#9a958c', // marginal note gray
|
|
3130
|
+
'--syntax-quote': '#6b6760', // faded column
|
|
3131
|
+
'--syntax-code': '#5a4a70', // classified purple
|
|
3132
|
+
'--syntax-code-background': 'rgba(0, 0, 0, 0.05)', // faint shading
|
|
3133
|
+
'--syntax-meta': '#9a958c', // marginal note gray
|
|
3134
|
+
'--syntax-inserted': '#4a6a42', // faded green
|
|
3135
|
+
'--syntax-deleted': '#7a3a3a', // correction red
|
|
3136
|
+
'--syntax-changed': '#7a6a30', // stock ticker
|
|
3137
|
+
|
|
3138
|
+
// ===========================================================================
|
|
3139
|
+
// MARKDOWN RENDERING
|
|
3140
|
+
// ===========================================================================
|
|
3141
|
+
'--md-heading-1-size': '1.8em',
|
|
3142
|
+
'--md-heading-2-size': '1.4em',
|
|
3143
|
+
'--md-heading-3-size': '1.2em',
|
|
3144
|
+
'--md-heading-4-size': '1.1em',
|
|
3145
|
+
'--md-heading-5-size': '1.05em',
|
|
3146
|
+
'--md-heading-6-size': '1em',
|
|
3147
|
+
'--md-heading-weight': '700',
|
|
3148
|
+
'--md-heading-line-height': '1.25',
|
|
3149
|
+
'--md-heading-margin-top': '0.6em',
|
|
3150
|
+
'--md-heading-color': '#2c2a26', // fresh ink — bold headlines
|
|
3151
|
+
'--md-marker-color': '#9a958c', // marginal note gray
|
|
3152
|
+
'--md-marker-font': "'Monaspace Neon Var', 'SF Mono', Monaco, Consolas, monospace",
|
|
3153
|
+
'--md-link-color': '#3a5a7a', // column-rule blue
|
|
3154
|
+
'--md-link-decoration': 'underline',
|
|
3155
|
+
'--md-code-background': 'rgba(0, 0, 0, 0.06)',
|
|
3156
|
+
'--md-code-color': '#5a4a70', // classified purple
|
|
3157
|
+
'--md-code-padding': '0.15em 0.35em',
|
|
3158
|
+
'--md-code-radius': '2px',
|
|
3159
|
+
'--md-blockquote-border': '#8a8a82', // heavy rule
|
|
3160
|
+
'--md-blockquote-border-width': '2px',
|
|
3161
|
+
'--md-blockquote-color': '#6b6760', // faded column
|
|
3162
|
+
'--md-blockquote-padding': '1em',
|
|
3163
|
+
'--md-list-marker-color': '#6b6760', // faded column
|
|
3164
|
+
'--md-hr-color': '#a8a39a', // thin rule
|
|
3165
|
+
'--md-hr-height': '1px',
|
|
3166
|
+
'--md-hr-margin': '1.5em 0',
|
|
3167
|
+
'--md-table-border': '#b8b3aa', // column rule
|
|
3168
|
+
'--md-table-header-bg': '#cec9c0', // thumbed page
|
|
3169
|
+
'--md-table-header-weight': '700',
|
|
3170
|
+
'--md-table-cell-padding': '0.5em 0.75em',
|
|
3171
|
+
'--md-table-stripe-bg': 'transparent',
|
|
3172
|
+
'--md-image-max-width': '100%',
|
|
3173
|
+
'--md-image-border-radius': '2px',
|
|
3174
|
+
'--md-checkbox-size': '1em',
|
|
3175
|
+
'--md-checkbox-color': '#4a5a6a', // masthead blue
|
|
3176
|
+
'--md-alert-note-color': '#4a5a6a', // masthead blue
|
|
3177
|
+
'--md-alert-tip-color': '#4a6a42', // faded green
|
|
3178
|
+
'--md-alert-important-color': '#5a4a70', // classified purple
|
|
3179
|
+
'--md-alert-warning-color': '#7a6a30', // stock ticker
|
|
3180
|
+
'--md-alert-caution-color': '#7a3a3a', // correction red
|
|
3181
|
+
|
|
3182
|
+
// ===========================================================================
|
|
3183
|
+
// SHELL (status bar, menus, dialogs)
|
|
3184
|
+
// ===========================================================================
|
|
3185
|
+
'--mrmd-ui-font': "Literata, Charter, Georgia, 'Times New Roman', serif",
|
|
3186
|
+
'--mrmd-ui-font-size': '13px',
|
|
3187
|
+
'--mrmd-ui-font-size-sm': '11px',
|
|
3188
|
+
'--mrmd-panel-bg': '#d0cbc2', // slightly darker than newsprint
|
|
3189
|
+
'--mrmd-popup-bg': '#e0dbd3', // fresh stock
|
|
3190
|
+
'--mrmd-bg': '#d8d3cb', // newsprint
|
|
3191
|
+
'--mrmd-fg': '#2c2a26', // fresh ink
|
|
3192
|
+
'--mrmd-fg-muted': '#6b6760', // faded column
|
|
3193
|
+
'--mrmd-border': '#b8b3aa', // column rule
|
|
3194
|
+
'--mrmd-hover-bg': 'rgba(0, 0, 0, 0.05)',
|
|
3195
|
+
'--mrmd-active-bg': 'rgba(0, 0, 0, 0.08)',
|
|
3196
|
+
'--mrmd-selection-bg': 'rgba(74, 90, 106, 0.15)', // masthead blue
|
|
3197
|
+
'--mrmd-accent': '#4a5a6a', // masthead blue
|
|
3198
|
+
'--mrmd-accent-hover': '#3a4a5a', // darker masthead
|
|
3199
|
+
'--mrmd-success': '#4a6a42', // faded green
|
|
3200
|
+
'--mrmd-warning': '#7a6a30', // stock ticker
|
|
3201
|
+
'--mrmd-error': '#7a3a3a', // correction red
|
|
3202
|
+
'--mrmd-shadow-md': '0 2px 6px rgba(0, 0, 0, 0.08)',
|
|
3203
|
+
'--mrmd-shadow-lg': '0 4px 12px rgba(0, 0, 0, 0.1)',
|
|
3204
|
+
'--mrmd-shadow-xl': '0 8px 24px rgba(0, 0, 0, 0.12)',
|
|
3205
|
+
'--mrmd-menu-border': '#b8b3aa', // column rule
|
|
3206
|
+
'--mrmd-dialog-border': '#b8b3aa', // column rule
|
|
3207
|
+
'--mrmd-input-border': '#b8b3aa', // column rule
|
|
3208
|
+
'--mrmd-button-bg': '#cec9c0', // thumbed page
|
|
3209
|
+
'--mrmd-button-border': '#b8b3aa', // column rule
|
|
3210
|
+
'--mrmd-button-hover': '#c6c1b8', // shadow column
|
|
3211
|
+
'--mrmd-button-active': '#b8b3aa', // pressed
|
|
3212
|
+
};
|
|
3213
|
+
|
|
3214
|
+
/**
|
|
3215
|
+
* Newsprint Dark Theme
|
|
3216
|
+
*
|
|
3217
|
+
* The evening edition — same newspaper aesthetic but inverted.
|
|
3218
|
+
* The background is NOT black, it's the charcoal-warm gray of
|
|
3219
|
+
* newsprint seen by lamplight, or a printing plate's carbon.
|
|
3220
|
+
*
|
|
3221
|
+
* Colors remain washed and desaturated. Think of a newspaper
|
|
3222
|
+
* photograph: not vivid, not sharp, but entirely readable and
|
|
3223
|
+
* strangely beautiful in its restraint.
|
|
3224
|
+
*
|
|
3225
|
+
* ## Color Palette
|
|
3226
|
+
*
|
|
3227
|
+
* **Backgrounds** — carbon, lampblack, printer's stone
|
|
3228
|
+
* - #302e2a (lampblack — main background)
|
|
3229
|
+
* - #3a3835 (typesetter's tray — surfaces)
|
|
3230
|
+
* - #434140 (compositor's stone — elevated)
|
|
3231
|
+
* - #282622 (deep plate — inset)
|
|
3232
|
+
*
|
|
3233
|
+
* **Text** — worn type on dark stock
|
|
3234
|
+
* - #c8c4ba (worn type — primary text)
|
|
3235
|
+
* - #7a776e (smudged column — muted text)
|
|
3236
|
+
* - #8a9aaa (moonlit masthead — accent)
|
|
3237
|
+
*
|
|
3238
|
+
* **Syntax** — ghost inks, reversed halftone
|
|
3239
|
+
* - #9a8ab0 (lavender ghost — keywords)
|
|
3240
|
+
* - #8aaa7a (faded green under lamp — strings)
|
|
3241
|
+
* - #b0a070 (ticker tape gold — numbers)
|
|
3242
|
+
* - #b07060 (red-lead error — errors)
|
|
3243
|
+
* - #7a9aba (lamplight blue — functions)
|
|
3244
|
+
* - #7a9a9a (oxidized plate teal — types)
|
|
3245
|
+
*/
|
|
3246
|
+
export const newsprintDarkTheme = {
|
|
3247
|
+
name: 'newsprint-dark',
|
|
3248
|
+
description: 'Dark newspaper-gray theme with ghost inks. Evening edition e-ink feel.',
|
|
3249
|
+
isDark: true,
|
|
3250
|
+
fontFace: defaultFontFace,
|
|
3251
|
+
|
|
3252
|
+
// ===========================================================================
|
|
3253
|
+
// SPACING
|
|
3254
|
+
// ===========================================================================
|
|
3255
|
+
'--widget-line-height': '1.65',
|
|
3256
|
+
'--widget-padding-x': '14px',
|
|
3257
|
+
'--widget-padding-y': '10px',
|
|
3258
|
+
'--widget-margin-y': '4px',
|
|
3259
|
+
'--widget-border-radius': '2px',
|
|
3260
|
+
'--widget-border-width': '1px',
|
|
3261
|
+
'--widget-border-accent-width': '2px',
|
|
3262
|
+
|
|
3263
|
+
// Text layout
|
|
3264
|
+
'--widget-white-space': 'pre-wrap',
|
|
3265
|
+
'--widget-word-break': 'break-word',
|
|
3266
|
+
|
|
3267
|
+
// ===========================================================================
|
|
3268
|
+
// TYPOGRAPHY
|
|
3269
|
+
// ===========================================================================
|
|
3270
|
+
'--widget-font-mono': "'Monaspace Neon Var', 'SF Mono', Monaco, Consolas, monospace",
|
|
3271
|
+
'--widget-font-sans': "Literata, Charter, Georgia, 'Times New Roman', serif",
|
|
3272
|
+
'--editor-font-family': "Literata, Charter, Georgia, 'Times New Roman', serif",
|
|
3273
|
+
'--widget-font-size': '0.9em',
|
|
3274
|
+
'--widget-font-size-small': '0.8em',
|
|
3275
|
+
'--widget-font-size-label': '11px',
|
|
3276
|
+
|
|
3277
|
+
// ===========================================================================
|
|
3278
|
+
// SURFACES (carbon, lampblack)
|
|
3279
|
+
// ===========================================================================
|
|
3280
|
+
'--widget-surface': '#3a3835', // typesetter's tray
|
|
3281
|
+
'--widget-surface-hover': '#434140', // compositor's stone
|
|
3282
|
+
'--widget-surface-elevated': '#434140', // compositor's stone
|
|
3283
|
+
'--widget-surface-inset': '#282622', // deep plate
|
|
3284
|
+
|
|
3285
|
+
// ===========================================================================
|
|
3286
|
+
// BORDERS (faint rules in the dark)
|
|
3287
|
+
// ===========================================================================
|
|
3288
|
+
'--widget-border': '#4a4845', // faint rule
|
|
3289
|
+
'--widget-border-accent': '#6a6860', // heavier rule
|
|
3290
|
+
'--widget-border-focus': '#8a9aaa', // moonlit masthead
|
|
3291
|
+
|
|
3292
|
+
// ===========================================================================
|
|
3293
|
+
// TEXT COLORS (worn type)
|
|
3294
|
+
// ===========================================================================
|
|
3295
|
+
'--widget-text': '#c8c4ba', // worn type
|
|
3296
|
+
'--widget-text-muted': '#7a776e', // smudged column
|
|
3297
|
+
'--widget-text-accent': '#8a9aaa', // moonlit masthead
|
|
3298
|
+
|
|
3299
|
+
// ===========================================================================
|
|
3300
|
+
// SEMANTIC COLORS (ghost inks)
|
|
3301
|
+
// ===========================================================================
|
|
3302
|
+
'--widget-success': '#8aaa7a', // faded green under lamp
|
|
3303
|
+
'--widget-warning': '#b0a070', // ticker tape gold
|
|
3304
|
+
'--widget-error': '#b07060', // red-lead error
|
|
3305
|
+
'--widget-info': '#7a8a9a', // lamplight blue
|
|
3306
|
+
|
|
3307
|
+
// ===========================================================================
|
|
3308
|
+
// ANSI COLORS (desaturated for dark newsprint)
|
|
3309
|
+
// ===========================================================================
|
|
3310
|
+
'--ansi-black': '#302e2a', // lampblack
|
|
3311
|
+
'--ansi-red': '#b07060', // red-lead
|
|
3312
|
+
'--ansi-green': '#8aaa7a', // faded green
|
|
3313
|
+
'--ansi-yellow': '#b0a070', // ticker tape
|
|
3314
|
+
'--ansi-blue': '#7a8a9a', // lamplight blue
|
|
3315
|
+
'--ansi-magenta': '#9a8ab0', // lavender ghost
|
|
3316
|
+
'--ansi-cyan': '#7a9a9a', // oxidized teal
|
|
3317
|
+
'--ansi-white': '#c8c4ba', // worn type
|
|
3318
|
+
'--ansi-bright-black': '#5a5855', // lighter lampblack
|
|
3319
|
+
'--ansi-bright-red': '#c08070', // warmer red-lead
|
|
3320
|
+
'--ansi-bright-green': '#9aba8a', // brighter green
|
|
3321
|
+
'--ansi-bright-yellow': '#c0b080', // brighter ticker
|
|
3322
|
+
'--ansi-bright-blue': '#8a9aaa', // moonlit masthead
|
|
3323
|
+
'--ansi-bright-magenta': '#aa9ac0', // lighter lavender
|
|
3324
|
+
'--ansi-bright-cyan': '#8aaaaa', // lighter teal
|
|
3325
|
+
'--ansi-bright-white': '#d8d4ca', // bright type
|
|
3326
|
+
|
|
3327
|
+
// ===========================================================================
|
|
3328
|
+
// TERMINAL
|
|
3329
|
+
// ===========================================================================
|
|
3330
|
+
'--term-background': '#302e2a', // lampblack
|
|
3331
|
+
'--term-foreground': '#c8c4ba', // worn type
|
|
3332
|
+
'--term-cursor': '#c8c4ba', // worn type
|
|
3333
|
+
'--term-cursor-accent': '#302e2a', // lampblack
|
|
3334
|
+
'--term-selection': '#4a4845', // faint rule
|
|
3335
|
+
'--term-border': '#4a4845', // faint rule
|
|
3336
|
+
'--term-header-bg': '#3a3835', // typesetter's tray
|
|
3337
|
+
'--term-header-fg': '#7a776e', // smudged column
|
|
3338
|
+
|
|
3339
|
+
// ===========================================================================
|
|
3340
|
+
// COLLABORATOR COLORS (muted)
|
|
3341
|
+
// ===========================================================================
|
|
3342
|
+
'--collab-human': '#7a8a9a', // lamplight blue
|
|
3343
|
+
'--collab-ai': '#9a8ab0', // lavender ghost
|
|
3344
|
+
'--collab-runtime': '#8aaa7a', // faded green
|
|
3345
|
+
|
|
3346
|
+
// ===========================================================================
|
|
3347
|
+
// EDITOR
|
|
3348
|
+
// ===========================================================================
|
|
3349
|
+
'--editor-background': '#302e2a', // lampblack
|
|
3350
|
+
'--editor-foreground': '#c8c4ba', // worn type
|
|
3351
|
+
'--editor-line-number': '#5a5855', // lighter lampblack
|
|
3352
|
+
'--editor-line-number-active': '#8a877e', // visible line number
|
|
3353
|
+
'--editor-selection': '#4a4845', // faint rule
|
|
3354
|
+
'--editor-selection-match': '#3e3c38', // dimmer match
|
|
3355
|
+
'--editor-cursor': '#c8c4ba', // worn type
|
|
3356
|
+
'--editor-active-line': 'rgba(255, 255, 255, 0.03)', // faint line highlight
|
|
3357
|
+
'--editor-gutter': '#302e2a', // lampblack
|
|
3358
|
+
'--editor-matching-bracket': 'rgba(138, 154, 170, 0.2)', // moonlit blue hint
|
|
3359
|
+
|
|
3360
|
+
// ===========================================================================
|
|
3361
|
+
// SYNTAX HIGHLIGHTING (ghost inks — reversed halftone)
|
|
3362
|
+
// ===========================================================================
|
|
3363
|
+
'--syntax-keyword': '#9a8ab0', // lavender ghost
|
|
3364
|
+
'--syntax-control': '#9a8ab0', // lavender ghost
|
|
3365
|
+
'--syntax-string': '#8aaa7a', // faded green under lamp
|
|
3366
|
+
'--syntax-number': '#b0a070', // ticker tape gold
|
|
3367
|
+
'--syntax-comment': '#5a5855', // lighter lampblack
|
|
3368
|
+
'--syntax-function': '#7a9aba', // lamplight blue
|
|
3369
|
+
'--syntax-variable': '#c8c4ba', // worn type
|
|
3370
|
+
'--syntax-variable-special': '#9a8ab0', // lavender ghost
|
|
3371
|
+
'--syntax-property': '#8a9aaa', // moonlit masthead
|
|
3372
|
+
'--syntax-operator': '#c8c4ba', // worn type
|
|
3373
|
+
'--syntax-punctuation': '#7a776e', // smudged column
|
|
3374
|
+
'--syntax-type': '#7a9a9a', // oxidized plate teal
|
|
3375
|
+
'--syntax-class': '#7a9a9a', // oxidized plate teal
|
|
3376
|
+
'--syntax-constant': '#b0a070', // ticker tape gold
|
|
3377
|
+
'--syntax-parameter': '#c8c4ba', // worn type
|
|
3378
|
+
'--syntax-regexp': '#b07060', // red-lead
|
|
3379
|
+
'--syntax-escape': '#c0b080', // brighter ticker
|
|
3380
|
+
'--syntax-tag': '#b07060', // red-lead
|
|
3381
|
+
'--syntax-attribute': '#8a9aaa', // moonlit masthead
|
|
3382
|
+
'--syntax-attribute-value': '#8aaa7a', // faded green
|
|
3383
|
+
'--syntax-heading': '#d8d4ca', // bright type — headlines
|
|
3384
|
+
'--syntax-link': '#7a9aba', // lamplight blue
|
|
3385
|
+
'--syntax-link-text': '#8a9aaa', // moonlit masthead
|
|
3386
|
+
'--syntax-emphasis': '#c8c4ba', // worn type
|
|
3387
|
+
'--syntax-strong': '#d8d4ca', // bright type
|
|
3388
|
+
'--syntax-strikethrough': '#5a5855', // lighter lampblack
|
|
3389
|
+
'--syntax-quote': '#7a776e', // smudged column
|
|
3390
|
+
'--syntax-code': '#b0a070', // ticker tape gold
|
|
3391
|
+
'--syntax-code-background': 'rgba(255, 255, 255, 0.04)', // faint shading
|
|
3392
|
+
'--syntax-meta': '#5a5855', // lighter lampblack
|
|
3393
|
+
'--syntax-inserted': '#8aaa7a', // faded green
|
|
3394
|
+
'--syntax-deleted': '#b07060', // red-lead
|
|
3395
|
+
'--syntax-changed': '#b0a070', // ticker tape gold
|
|
3396
|
+
|
|
3397
|
+
// ===========================================================================
|
|
3398
|
+
// MARKDOWN RENDERING
|
|
3399
|
+
// ===========================================================================
|
|
3400
|
+
'--md-heading-1-size': '1.8em',
|
|
3401
|
+
'--md-heading-2-size': '1.4em',
|
|
3402
|
+
'--md-heading-3-size': '1.2em',
|
|
3403
|
+
'--md-heading-4-size': '1.1em',
|
|
3404
|
+
'--md-heading-5-size': '1.05em',
|
|
3405
|
+
'--md-heading-6-size': '1em',
|
|
3406
|
+
'--md-heading-weight': '700',
|
|
3407
|
+
'--md-heading-line-height': '1.25',
|
|
3408
|
+
'--md-heading-margin-top': '0.6em',
|
|
3409
|
+
'--md-heading-color': '#d8d4ca', // bright type — bold headlines
|
|
3410
|
+
'--md-marker-color': '#5a5855', // lighter lampblack
|
|
3411
|
+
'--md-marker-font': "'Monaspace Neon Var', 'SF Mono', Monaco, Consolas, monospace",
|
|
3412
|
+
'--md-link-color': '#7a9aba', // lamplight blue
|
|
3413
|
+
'--md-link-decoration': 'underline',
|
|
3414
|
+
'--md-code-background': 'rgba(255, 255, 255, 0.05)',
|
|
3415
|
+
'--md-code-color': '#b0a070', // ticker tape gold
|
|
3416
|
+
'--md-code-padding': '0.15em 0.35em',
|
|
3417
|
+
'--md-code-radius': '2px',
|
|
3418
|
+
'--md-blockquote-border': '#6a6860', // heavier rule
|
|
3419
|
+
'--md-blockquote-border-width': '2px',
|
|
3420
|
+
'--md-blockquote-color': '#7a776e', // smudged column
|
|
3421
|
+
'--md-blockquote-padding': '1em',
|
|
3422
|
+
'--md-list-marker-color': '#7a776e', // smudged column
|
|
3423
|
+
'--md-hr-color': '#4a4845', // faint rule
|
|
3424
|
+
'--md-hr-height': '1px',
|
|
3425
|
+
'--md-hr-margin': '1.5em 0',
|
|
3426
|
+
'--md-table-border': '#4a4845', // faint rule
|
|
3427
|
+
'--md-table-header-bg': '#3a3835', // typesetter's tray
|
|
3428
|
+
'--md-table-header-weight': '700',
|
|
3429
|
+
'--md-table-cell-padding': '0.5em 0.75em',
|
|
3430
|
+
'--md-table-stripe-bg': 'transparent',
|
|
3431
|
+
'--md-image-max-width': '100%',
|
|
3432
|
+
'--md-image-border-radius': '2px',
|
|
3433
|
+
'--md-checkbox-size': '1em',
|
|
3434
|
+
'--md-checkbox-color': '#8a9aaa', // moonlit masthead
|
|
3435
|
+
'--md-alert-note-color': '#7a8a9a', // lamplight blue
|
|
3436
|
+
'--md-alert-tip-color': '#8aaa7a', // faded green
|
|
3437
|
+
'--md-alert-important-color': '#9a8ab0', // lavender ghost
|
|
3438
|
+
'--md-alert-warning-color': '#b0a070', // ticker tape gold
|
|
3439
|
+
'--md-alert-caution-color': '#b07060', // red-lead
|
|
3440
|
+
|
|
3441
|
+
// ===========================================================================
|
|
3442
|
+
// SHELL (status bar, menus, dialogs)
|
|
3443
|
+
// ===========================================================================
|
|
3444
|
+
'--mrmd-ui-font': "Literata, Charter, Georgia, 'Times New Roman', serif",
|
|
3445
|
+
'--mrmd-ui-font-size': '13px',
|
|
3446
|
+
'--mrmd-ui-font-size-sm': '11px',
|
|
3447
|
+
'--mrmd-panel-bg': '#353330', // slightly darker than main
|
|
3448
|
+
'--mrmd-popup-bg': '#434140', // compositor's stone
|
|
3449
|
+
'--mrmd-bg': '#302e2a', // lampblack
|
|
3450
|
+
'--mrmd-fg': '#c8c4ba', // worn type
|
|
3451
|
+
'--mrmd-fg-muted': '#7a776e', // smudged column
|
|
3452
|
+
'--mrmd-border': '#4a4845', // faint rule
|
|
3453
|
+
'--mrmd-hover-bg': 'rgba(255, 255, 255, 0.04)',
|
|
3454
|
+
'--mrmd-active-bg': 'rgba(255, 255, 255, 0.07)',
|
|
3455
|
+
'--mrmd-selection-bg': 'rgba(138, 154, 170, 0.15)', // moonlit masthead
|
|
3456
|
+
'--mrmd-accent': '#8a9aaa', // moonlit masthead
|
|
3457
|
+
'--mrmd-accent-hover': '#9aaaba', // brighter masthead
|
|
3458
|
+
'--mrmd-success': '#8aaa7a', // faded green
|
|
3459
|
+
'--mrmd-warning': '#b0a070', // ticker tape
|
|
3460
|
+
'--mrmd-error': '#b07060', // red-lead
|
|
3461
|
+
'--mrmd-shadow-md': '0 2px 8px rgba(0, 0, 0, 0.25)',
|
|
3462
|
+
'--mrmd-shadow-lg': '0 4px 16px rgba(0, 0, 0, 0.3)',
|
|
3463
|
+
'--mrmd-shadow-xl': '0 8px 32px rgba(0, 0, 0, 0.35)',
|
|
3464
|
+
'--mrmd-menu-border': '#4a4845', // faint rule
|
|
3465
|
+
'--mrmd-dialog-border': '#4a4845', // faint rule
|
|
3466
|
+
'--mrmd-input-border': '#4a4845', // faint rule
|
|
3467
|
+
'--mrmd-button-bg': '#3a3835', // typesetter's tray
|
|
3468
|
+
'--mrmd-button-border': '#4a4845', // faint rule
|
|
3469
|
+
'--mrmd-button-hover': '#434140', // compositor's stone
|
|
3470
|
+
'--mrmd-button-active': '#4a4845', // pressed
|
|
3471
|
+
};
|
|
3472
|
+
|
|
3473
|
+
// ===========================================================================
|
|
3474
|
+
// PLAIN THEMES (Standard / Word-like)
|
|
3475
|
+
// ===========================================================================
|
|
3476
|
+
|
|
3477
|
+
/**
|
|
3478
|
+
* Plain Light Theme
|
|
3479
|
+
*
|
|
3480
|
+
* The most deliberately boring theme possible.
|
|
3481
|
+
* White background, black text, system fonts, standard blue links.
|
|
3482
|
+
* Looks like Microsoft Word met a basic code editor and they had
|
|
3483
|
+
* the most unremarkable child imaginable.
|
|
3484
|
+
*
|
|
3485
|
+
* Zero personality. Maximum familiarity. Your mother could use this.
|
|
3486
|
+
*/
|
|
3487
|
+
export const plainLightTheme = {
|
|
3488
|
+
name: 'plain-light',
|
|
3489
|
+
description: 'Standard light theme. White background, black text, system fonts. Looks like Word.',
|
|
3490
|
+
isDark: false,
|
|
3491
|
+
|
|
3492
|
+
// ===========================================================================
|
|
3493
|
+
// SPACING — standard, nothing fancy
|
|
3494
|
+
// ===========================================================================
|
|
3495
|
+
'--widget-line-height': '1.5',
|
|
3496
|
+
'--widget-padding-x': '12px',
|
|
3497
|
+
'--widget-padding-y': '8px',
|
|
3498
|
+
'--widget-margin-y': '4px',
|
|
3499
|
+
'--widget-border-radius': '3px',
|
|
3500
|
+
'--widget-border-width': '1px',
|
|
3501
|
+
'--widget-border-accent-width': '3px',
|
|
3502
|
+
|
|
3503
|
+
'--widget-white-space': 'pre-wrap',
|
|
3504
|
+
'--widget-word-break': 'break-word',
|
|
3505
|
+
|
|
3506
|
+
// ===========================================================================
|
|
3507
|
+
// TYPOGRAPHY — system defaults, Calibri/Segoe UI, Consolas for code
|
|
3508
|
+
// ===========================================================================
|
|
3509
|
+
'--widget-font-mono': "Consolas, 'Courier New', Courier, monospace",
|
|
3510
|
+
'--widget-font-sans': "Calibri, 'Segoe UI', -apple-system, BlinkMacSystemFont, Arial, Helvetica, sans-serif",
|
|
3511
|
+
'--editor-font-family': "Calibri, 'Segoe UI', -apple-system, BlinkMacSystemFont, Arial, Helvetica, sans-serif",
|
|
3512
|
+
'--widget-font-size': '0.9em',
|
|
3513
|
+
'--widget-font-size-small': '0.8em',
|
|
3514
|
+
'--widget-font-size-label': '11px',
|
|
3515
|
+
|
|
3516
|
+
// ===========================================================================
|
|
3517
|
+
// SURFACES — white, light gray
|
|
3518
|
+
// ===========================================================================
|
|
3519
|
+
'--widget-surface': '#f3f3f3',
|
|
3520
|
+
'--widget-surface-hover': '#e8e8e8',
|
|
3521
|
+
'--widget-surface-elevated': '#ffffff',
|
|
3522
|
+
'--widget-surface-inset': '#f0f0f0',
|
|
3523
|
+
|
|
3524
|
+
// ===========================================================================
|
|
3525
|
+
// BORDERS — plain gray
|
|
3526
|
+
// ===========================================================================
|
|
3527
|
+
'--widget-border': '#d0d0d0',
|
|
3528
|
+
'--widget-border-accent': '#0078d4',
|
|
3529
|
+
'--widget-border-focus': '#0078d4',
|
|
3530
|
+
|
|
3531
|
+
// ===========================================================================
|
|
3532
|
+
// TEXT — black and gray
|
|
3533
|
+
// ===========================================================================
|
|
3534
|
+
'--widget-text': '#000000',
|
|
3535
|
+
'--widget-text-muted': '#666666',
|
|
3536
|
+
'--widget-text-accent': '#0563c1',
|
|
3537
|
+
|
|
3538
|
+
// ===========================================================================
|
|
3539
|
+
// SEMANTIC — standard Windows/Office colors
|
|
3540
|
+
// ===========================================================================
|
|
3541
|
+
'--widget-success': '#107c10',
|
|
3542
|
+
'--widget-warning': '#c47a00',
|
|
3543
|
+
'--widget-error': '#d13438',
|
|
3544
|
+
'--widget-info': '#0078d4',
|
|
3545
|
+
|
|
3546
|
+
// ===========================================================================
|
|
3547
|
+
// ANSI COLORS
|
|
3548
|
+
// ===========================================================================
|
|
3549
|
+
'--ansi-black': '#000000',
|
|
3550
|
+
'--ansi-red': '#c50f1f',
|
|
3551
|
+
'--ansi-green': '#13a10e',
|
|
3552
|
+
'--ansi-yellow': '#c19c00',
|
|
3553
|
+
'--ansi-blue': '#0037da',
|
|
3554
|
+
'--ansi-magenta': '#881798',
|
|
3555
|
+
'--ansi-cyan': '#3a96dd',
|
|
3556
|
+
'--ansi-white': '#cccccc',
|
|
3557
|
+
'--ansi-bright-black': '#767676',
|
|
3558
|
+
'--ansi-bright-red': '#e74856',
|
|
3559
|
+
'--ansi-bright-green': '#16c60c',
|
|
3560
|
+
'--ansi-bright-yellow': '#f9f1a5',
|
|
3561
|
+
'--ansi-bright-blue': '#3b78ff',
|
|
3562
|
+
'--ansi-bright-magenta': '#b4009e',
|
|
3563
|
+
'--ansi-bright-cyan': '#61d6d6',
|
|
3564
|
+
'--ansi-bright-white': '#f2f2f2',
|
|
3565
|
+
|
|
3566
|
+
// ===========================================================================
|
|
3567
|
+
// TERMINAL
|
|
3568
|
+
// ===========================================================================
|
|
3569
|
+
'--term-background': '#ffffff',
|
|
3570
|
+
'--term-foreground': '#000000',
|
|
3571
|
+
'--term-cursor': '#000000',
|
|
3572
|
+
'--term-cursor-accent': '#ffffff',
|
|
3573
|
+
'--term-selection': '#add6ff',
|
|
3574
|
+
'--term-border': '#d0d0d0',
|
|
3575
|
+
'--term-header-bg': '#f3f3f3',
|
|
3576
|
+
'--term-header-fg': '#666666',
|
|
3577
|
+
|
|
3578
|
+
// ===========================================================================
|
|
3579
|
+
// COLLABORATOR
|
|
3580
|
+
// ===========================================================================
|
|
3581
|
+
'--collab-human': '#0078d4',
|
|
3582
|
+
'--collab-ai': '#881798',
|
|
3583
|
+
'--collab-runtime': '#107c10',
|
|
3584
|
+
|
|
3585
|
+
// ===========================================================================
|
|
3586
|
+
// EDITOR — plain white, standard VS Code light style
|
|
3587
|
+
// ===========================================================================
|
|
3588
|
+
'--editor-background': '#ffffff',
|
|
3589
|
+
'--editor-foreground': '#000000',
|
|
3590
|
+
'--editor-line-number': '#999999',
|
|
3591
|
+
'--editor-line-number-active': '#000000',
|
|
3592
|
+
'--editor-selection': '#add6ff',
|
|
3593
|
+
'--editor-selection-match': '#e8e8e8',
|
|
3594
|
+
'--editor-cursor': '#000000',
|
|
3595
|
+
'--editor-active-line': '#f5f5f5',
|
|
3596
|
+
'--editor-gutter': '#ffffff',
|
|
3597
|
+
'--editor-matching-bracket': '#bad0f8',
|
|
3598
|
+
|
|
3599
|
+
// ===========================================================================
|
|
3600
|
+
// SYNTAX — VS Code Light (the most "normal" code colors on earth)
|
|
3601
|
+
// ===========================================================================
|
|
3602
|
+
'--syntax-keyword': '#0000ff',
|
|
3603
|
+
'--syntax-control': '#af00db',
|
|
3604
|
+
'--syntax-string': '#a31515',
|
|
3605
|
+
'--syntax-number': '#098658',
|
|
3606
|
+
'--syntax-comment': '#008000',
|
|
3607
|
+
'--syntax-function': '#795e26',
|
|
3608
|
+
'--syntax-variable': '#001080',
|
|
3609
|
+
'--syntax-variable-special': '#0000ff',
|
|
3610
|
+
'--syntax-property': '#001080',
|
|
3611
|
+
'--syntax-operator': '#000000',
|
|
3612
|
+
'--syntax-punctuation': '#000000',
|
|
3613
|
+
'--syntax-type': '#267f99',
|
|
3614
|
+
'--syntax-class': '#267f99',
|
|
3615
|
+
'--syntax-constant': '#0000ff',
|
|
3616
|
+
'--syntax-parameter': '#001080',
|
|
3617
|
+
'--syntax-regexp': '#811f3f',
|
|
3618
|
+
'--syntax-escape': '#ee0000',
|
|
3619
|
+
'--syntax-tag': '#800000',
|
|
3620
|
+
'--syntax-attribute': '#ff0000',
|
|
3621
|
+
'--syntax-attribute-value': '#0000ff',
|
|
3622
|
+
'--syntax-heading': '#000000',
|
|
3623
|
+
'--syntax-link': '#0563c1',
|
|
3624
|
+
'--syntax-link-text': '#0563c1',
|
|
3625
|
+
'--syntax-emphasis': '#000000',
|
|
3626
|
+
'--syntax-strong': '#000000',
|
|
3627
|
+
'--syntax-strikethrough': '#999999',
|
|
3628
|
+
'--syntax-quote': '#008000',
|
|
3629
|
+
'--syntax-code': '#a31515',
|
|
3630
|
+
'--syntax-code-background': '#f3f3f3',
|
|
3631
|
+
'--syntax-meta': '#999999',
|
|
3632
|
+
'--syntax-inserted': '#098658',
|
|
3633
|
+
'--syntax-deleted': '#a31515',
|
|
3634
|
+
'--syntax-changed': '#0451a5',
|
|
3635
|
+
|
|
3636
|
+
// ===========================================================================
|
|
3637
|
+
// MARKDOWN
|
|
3638
|
+
// ===========================================================================
|
|
3639
|
+
'--md-heading-1-size': '2em',
|
|
3640
|
+
'--md-heading-2-size': '1.5em',
|
|
3641
|
+
'--md-heading-3-size': '1.17em',
|
|
3642
|
+
'--md-heading-4-size': '1em',
|
|
3643
|
+
'--md-heading-5-size': '0.83em',
|
|
3644
|
+
'--md-heading-6-size': '0.67em',
|
|
3645
|
+
'--md-heading-weight': '700',
|
|
3646
|
+
'--md-heading-line-height': '1.3',
|
|
3647
|
+
'--md-heading-margin-top': '0.6em',
|
|
3648
|
+
'--md-heading-color': '#000000',
|
|
3649
|
+
'--md-marker-color': '#999999',
|
|
3650
|
+
'--md-marker-font': "Consolas, 'Courier New', Courier, monospace",
|
|
3651
|
+
'--md-link-color': '#0563c1',
|
|
3652
|
+
'--md-link-decoration': 'underline',
|
|
3653
|
+
'--md-code-background': '#f3f3f3',
|
|
3654
|
+
'--md-code-color': '#a31515',
|
|
3655
|
+
'--md-code-padding': '0.15em 0.35em',
|
|
3656
|
+
'--md-code-radius': '3px',
|
|
3657
|
+
'--md-blockquote-border': '#d0d0d0',
|
|
3658
|
+
'--md-blockquote-border-width': '3px',
|
|
3659
|
+
'--md-blockquote-color': '#666666',
|
|
3660
|
+
'--md-blockquote-padding': '1em',
|
|
3661
|
+
'--md-list-marker-color': '#666666',
|
|
3662
|
+
'--md-hr-color': '#d0d0d0',
|
|
3663
|
+
'--md-hr-height': '1px',
|
|
3664
|
+
'--md-hr-margin': '1.5em 0',
|
|
3665
|
+
'--md-table-border': '#d0d0d0',
|
|
3666
|
+
'--md-table-header-bg': '#f3f3f3',
|
|
3667
|
+
'--md-table-header-weight': '700',
|
|
3668
|
+
'--md-table-cell-padding': '0.5em 0.75em',
|
|
3669
|
+
'--md-table-stripe-bg': 'transparent',
|
|
3670
|
+
'--md-image-max-width': '100%',
|
|
3671
|
+
'--md-image-border-radius': '0',
|
|
3672
|
+
'--md-checkbox-size': '1em',
|
|
3673
|
+
'--md-checkbox-color': '#0078d4',
|
|
3674
|
+
'--md-alert-note-color': '#0078d4',
|
|
3675
|
+
'--md-alert-tip-color': '#107c10',
|
|
3676
|
+
'--md-alert-important-color': '#881798',
|
|
3677
|
+
'--md-alert-warning-color': '#c47a00',
|
|
3678
|
+
'--md-alert-caution-color': '#d13438',
|
|
3679
|
+
|
|
3680
|
+
// ===========================================================================
|
|
3681
|
+
// SHELL — office gray
|
|
3682
|
+
// ===========================================================================
|
|
3683
|
+
'--mrmd-ui-font': "Calibri, 'Segoe UI', -apple-system, BlinkMacSystemFont, Arial, Helvetica, sans-serif",
|
|
3684
|
+
'--mrmd-ui-font-size': '14px',
|
|
3685
|
+
'--mrmd-ui-font-size-sm': '12px',
|
|
3686
|
+
'--mrmd-panel-bg': '#f3f3f3',
|
|
3687
|
+
'--mrmd-popup-bg': '#ffffff',
|
|
3688
|
+
'--mrmd-bg': '#ffffff',
|
|
3689
|
+
'--mrmd-fg': '#000000',
|
|
3690
|
+
'--mrmd-fg-muted': '#666666',
|
|
3691
|
+
'--mrmd-border': '#d0d0d0',
|
|
3692
|
+
'--mrmd-hover-bg': '#e8e8e8',
|
|
3693
|
+
'--mrmd-active-bg': '#d0d0d0',
|
|
3694
|
+
'--mrmd-selection-bg': '#add6ff',
|
|
3695
|
+
'--mrmd-accent': '#0078d4',
|
|
3696
|
+
'--mrmd-accent-hover': '#106ebe',
|
|
3697
|
+
'--mrmd-success': '#107c10',
|
|
3698
|
+
'--mrmd-warning': '#c47a00',
|
|
3699
|
+
'--mrmd-error': '#d13438',
|
|
3700
|
+
'--mrmd-shadow-md': '0 2px 4px rgba(0, 0, 0, 0.14)',
|
|
3701
|
+
'--mrmd-shadow-lg': '0 4px 8px rgba(0, 0, 0, 0.14)',
|
|
3702
|
+
'--mrmd-shadow-xl': '0 8px 16px rgba(0, 0, 0, 0.14)',
|
|
3703
|
+
'--mrmd-menu-border': '#d0d0d0',
|
|
3704
|
+
'--mrmd-dialog-border': '#d0d0d0',
|
|
3705
|
+
'--mrmd-input-border': '#d0d0d0',
|
|
3706
|
+
'--mrmd-button-bg': '#f3f3f3',
|
|
3707
|
+
'--mrmd-button-border': '#d0d0d0',
|
|
3708
|
+
'--mrmd-button-hover': '#e8e8e8',
|
|
3709
|
+
'--mrmd-button-active': '#d0d0d0',
|
|
3710
|
+
};
|
|
3711
|
+
|
|
3712
|
+
/**
|
|
3713
|
+
* Plain Dark Theme
|
|
3714
|
+
*
|
|
3715
|
+
* The dark version of "plain". Standard VS Code dark colors,
|
|
3716
|
+
* system fonts, nothing surprising. If you've seen one dark editor,
|
|
3717
|
+
* you've seen this theme.
|
|
3718
|
+
*/
|
|
3719
|
+
export const plainDarkTheme = {
|
|
3720
|
+
name: 'plain-dark',
|
|
3721
|
+
description: 'Standard dark theme. Default VS Code colors, system fonts. The baseline.',
|
|
3722
|
+
isDark: true,
|
|
3723
|
+
|
|
3724
|
+
// ===========================================================================
|
|
3725
|
+
// SPACING
|
|
3726
|
+
// ===========================================================================
|
|
3727
|
+
'--widget-line-height': '1.5',
|
|
3728
|
+
'--widget-padding-x': '12px',
|
|
3729
|
+
'--widget-padding-y': '8px',
|
|
3730
|
+
'--widget-margin-y': '4px',
|
|
3731
|
+
'--widget-border-radius': '3px',
|
|
3732
|
+
'--widget-border-width': '1px',
|
|
3733
|
+
'--widget-border-accent-width': '3px',
|
|
3734
|
+
|
|
3735
|
+
'--widget-white-space': 'pre-wrap',
|
|
3736
|
+
'--widget-word-break': 'break-word',
|
|
3737
|
+
|
|
3738
|
+
// ===========================================================================
|
|
3739
|
+
// TYPOGRAPHY — system defaults, Consolas for code
|
|
3740
|
+
// ===========================================================================
|
|
3741
|
+
'--widget-font-mono': "Consolas, 'Courier New', Courier, monospace",
|
|
3742
|
+
'--widget-font-sans': "'Segoe UI', -apple-system, BlinkMacSystemFont, Arial, Helvetica, sans-serif",
|
|
3743
|
+
'--editor-font-family': "'Segoe UI', -apple-system, BlinkMacSystemFont, Arial, Helvetica, sans-serif",
|
|
3744
|
+
'--widget-font-size': '0.9em',
|
|
3745
|
+
'--widget-font-size-small': '0.8em',
|
|
3746
|
+
'--widget-font-size-label': '11px',
|
|
3747
|
+
|
|
3748
|
+
// ===========================================================================
|
|
3749
|
+
// SURFACES — VS Code dark defaults
|
|
3750
|
+
// ===========================================================================
|
|
3751
|
+
'--widget-surface': '#252526',
|
|
3752
|
+
'--widget-surface-hover': '#2a2d2e',
|
|
3753
|
+
'--widget-surface-elevated': '#252526',
|
|
3754
|
+
'--widget-surface-inset': '#1e1e1e',
|
|
3755
|
+
|
|
3756
|
+
// ===========================================================================
|
|
3757
|
+
// BORDERS
|
|
3758
|
+
// ===========================================================================
|
|
3759
|
+
'--widget-border': '#3c3c3c',
|
|
3760
|
+
'--widget-border-accent': '#007acc',
|
|
3761
|
+
'--widget-border-focus': '#007acc',
|
|
3762
|
+
|
|
3763
|
+
// ===========================================================================
|
|
3764
|
+
// TEXT
|
|
3765
|
+
// ===========================================================================
|
|
3766
|
+
'--widget-text': '#d4d4d4',
|
|
3767
|
+
'--widget-text-muted': '#858585',
|
|
3768
|
+
'--widget-text-accent': '#3794ff',
|
|
3769
|
+
|
|
3770
|
+
// ===========================================================================
|
|
3771
|
+
// SEMANTIC
|
|
3772
|
+
// ===========================================================================
|
|
3773
|
+
'--widget-success': '#4ec9b0',
|
|
3774
|
+
'--widget-warning': '#cca700',
|
|
3775
|
+
'--widget-error': '#f14c4c',
|
|
3776
|
+
'--widget-info': '#3794ff',
|
|
3777
|
+
|
|
3778
|
+
// ===========================================================================
|
|
3779
|
+
// ANSI COLORS — Windows Terminal dark defaults
|
|
3780
|
+
// ===========================================================================
|
|
3781
|
+
'--ansi-black': '#1e1e1e',
|
|
3782
|
+
'--ansi-red': '#cd3131',
|
|
3783
|
+
'--ansi-green': '#0dbc79',
|
|
3784
|
+
'--ansi-yellow': '#e5e510',
|
|
3785
|
+
'--ansi-blue': '#2472c8',
|
|
3786
|
+
'--ansi-magenta': '#bc3fbc',
|
|
3787
|
+
'--ansi-cyan': '#11a8cd',
|
|
3788
|
+
'--ansi-white': '#e5e5e5',
|
|
3789
|
+
'--ansi-bright-black': '#666666',
|
|
3790
|
+
'--ansi-bright-red': '#f14c4c',
|
|
3791
|
+
'--ansi-bright-green': '#23d18b',
|
|
3792
|
+
'--ansi-bright-yellow': '#f5f543',
|
|
3793
|
+
'--ansi-bright-blue': '#3b8eea',
|
|
3794
|
+
'--ansi-bright-magenta': '#d670d6',
|
|
3795
|
+
'--ansi-bright-cyan': '#29b8db',
|
|
3796
|
+
'--ansi-bright-white': '#e5e5e5',
|
|
3797
|
+
|
|
3798
|
+
// ===========================================================================
|
|
3799
|
+
// TERMINAL
|
|
3800
|
+
// ===========================================================================
|
|
3801
|
+
'--term-background': '#1e1e1e',
|
|
3802
|
+
'--term-foreground': '#d4d4d4',
|
|
3803
|
+
'--term-cursor': '#d4d4d4',
|
|
3804
|
+
'--term-cursor-accent': '#1e1e1e',
|
|
3805
|
+
'--term-selection': '#264f78',
|
|
3806
|
+
'--term-border': '#3c3c3c',
|
|
3807
|
+
'--term-header-bg': '#252526',
|
|
3808
|
+
'--term-header-fg': '#858585',
|
|
3809
|
+
|
|
3810
|
+
// ===========================================================================
|
|
3811
|
+
// COLLABORATOR
|
|
3812
|
+
// ===========================================================================
|
|
3813
|
+
'--collab-human': '#3794ff',
|
|
3814
|
+
'--collab-ai': '#bc3fbc',
|
|
3815
|
+
'--collab-runtime': '#4ec9b0',
|
|
3816
|
+
|
|
3817
|
+
// ===========================================================================
|
|
3818
|
+
// EDITOR — VS Code Dark default
|
|
3819
|
+
// ===========================================================================
|
|
3820
|
+
'--editor-background': '#1e1e1e',
|
|
3821
|
+
'--editor-foreground': '#d4d4d4',
|
|
3822
|
+
'--editor-line-number': '#858585',
|
|
3823
|
+
'--editor-line-number-active': '#c6c6c6',
|
|
3824
|
+
'--editor-selection': '#264f78',
|
|
3825
|
+
'--editor-selection-match': '#515c6a',
|
|
3826
|
+
'--editor-cursor': '#aeafad',
|
|
3827
|
+
'--editor-active-line': 'rgba(255, 255, 255, 0.04)',
|
|
3828
|
+
'--editor-gutter': '#1e1e1e',
|
|
3829
|
+
'--editor-matching-bracket': 'rgba(255, 255, 255, 0.1)',
|
|
3830
|
+
|
|
3831
|
+
// ===========================================================================
|
|
3832
|
+
// SYNTAX — VS Code Dark+ (the canonical default)
|
|
3833
|
+
// ===========================================================================
|
|
3834
|
+
'--syntax-keyword': '#569cd6',
|
|
3835
|
+
'--syntax-control': '#c586c0',
|
|
3836
|
+
'--syntax-string': '#ce9178',
|
|
3837
|
+
'--syntax-number': '#b5cea8',
|
|
3838
|
+
'--syntax-comment': '#6a9955',
|
|
3839
|
+
'--syntax-function': '#dcdcaa',
|
|
3840
|
+
'--syntax-variable': '#9cdcfe',
|
|
3841
|
+
'--syntax-variable-special': '#569cd6',
|
|
3842
|
+
'--syntax-property': '#9cdcfe',
|
|
3843
|
+
'--syntax-operator': '#d4d4d4',
|
|
3844
|
+
'--syntax-punctuation': '#d4d4d4',
|
|
3845
|
+
'--syntax-type': '#4ec9b0',
|
|
3846
|
+
'--syntax-class': '#4ec9b0',
|
|
3847
|
+
'--syntax-constant': '#569cd6',
|
|
3848
|
+
'--syntax-parameter': '#9cdcfe',
|
|
3849
|
+
'--syntax-regexp': '#d16969',
|
|
3850
|
+
'--syntax-escape': '#d7ba7d',
|
|
3851
|
+
'--syntax-tag': '#569cd6',
|
|
3852
|
+
'--syntax-attribute': '#9cdcfe',
|
|
3853
|
+
'--syntax-attribute-value': '#ce9178',
|
|
3854
|
+
'--syntax-heading': '#569cd6',
|
|
3855
|
+
'--syntax-link': '#3794ff',
|
|
3856
|
+
'--syntax-link-text': '#ce9178',
|
|
3857
|
+
'--syntax-emphasis': '#569cd6',
|
|
3858
|
+
'--syntax-strong': '#569cd6',
|
|
3859
|
+
'--syntax-strikethrough': '#858585',
|
|
3860
|
+
'--syntax-quote': '#6a9955',
|
|
3861
|
+
'--syntax-code': '#ce9178',
|
|
3862
|
+
'--syntax-code-background': '#252526',
|
|
3863
|
+
'--syntax-meta': '#858585',
|
|
3864
|
+
'--syntax-inserted': '#b5cea8',
|
|
3865
|
+
'--syntax-deleted': '#ce9178',
|
|
3866
|
+
'--syntax-changed': '#569cd6',
|
|
3867
|
+
|
|
3868
|
+
// ===========================================================================
|
|
3869
|
+
// MARKDOWN
|
|
3870
|
+
// ===========================================================================
|
|
3871
|
+
'--md-heading-1-size': '2em',
|
|
3872
|
+
'--md-heading-2-size': '1.5em',
|
|
3873
|
+
'--md-heading-3-size': '1.17em',
|
|
3874
|
+
'--md-heading-4-size': '1em',
|
|
3875
|
+
'--md-heading-5-size': '0.83em',
|
|
3876
|
+
'--md-heading-6-size': '0.67em',
|
|
3877
|
+
'--md-heading-weight': '700',
|
|
3878
|
+
'--md-heading-line-height': '1.3',
|
|
3879
|
+
'--md-heading-margin-top': '0.6em',
|
|
3880
|
+
'--md-heading-color': '#d4d4d4',
|
|
3881
|
+
'--md-marker-color': '#858585',
|
|
3882
|
+
'--md-marker-font': "Consolas, 'Courier New', Courier, monospace",
|
|
3883
|
+
'--md-link-color': '#3794ff',
|
|
3884
|
+
'--md-link-decoration': 'underline',
|
|
3885
|
+
'--md-code-background': '#252526',
|
|
3886
|
+
'--md-code-color': '#ce9178',
|
|
3887
|
+
'--md-code-padding': '0.15em 0.35em',
|
|
3888
|
+
'--md-code-radius': '3px',
|
|
3889
|
+
'--md-blockquote-border': '#3c3c3c',
|
|
3890
|
+
'--md-blockquote-border-width': '3px',
|
|
3891
|
+
'--md-blockquote-color': '#858585',
|
|
3892
|
+
'--md-blockquote-padding': '1em',
|
|
3893
|
+
'--md-list-marker-color': '#858585',
|
|
3894
|
+
'--md-hr-color': '#3c3c3c',
|
|
3895
|
+
'--md-hr-height': '1px',
|
|
3896
|
+
'--md-hr-margin': '1.5em 0',
|
|
3897
|
+
'--md-table-border': '#3c3c3c',
|
|
3898
|
+
'--md-table-header-bg': '#252526',
|
|
3899
|
+
'--md-table-header-weight': '700',
|
|
3900
|
+
'--md-table-cell-padding': '0.5em 0.75em',
|
|
3901
|
+
'--md-table-stripe-bg': 'transparent',
|
|
3902
|
+
'--md-image-max-width': '100%',
|
|
3903
|
+
'--md-image-border-radius': '0',
|
|
3904
|
+
'--md-checkbox-size': '1em',
|
|
3905
|
+
'--md-checkbox-color': '#007acc',
|
|
3906
|
+
'--md-alert-note-color': '#3794ff',
|
|
3907
|
+
'--md-alert-tip-color': '#4ec9b0',
|
|
3908
|
+
'--md-alert-important-color': '#bc3fbc',
|
|
3909
|
+
'--md-alert-warning-color': '#cca700',
|
|
3910
|
+
'--md-alert-caution-color': '#f14c4c',
|
|
3911
|
+
|
|
3912
|
+
// ===========================================================================
|
|
3913
|
+
// SHELL — VS Code sidebar gray
|
|
3914
|
+
// ===========================================================================
|
|
3915
|
+
'--mrmd-ui-font': "'Segoe UI', -apple-system, BlinkMacSystemFont, Arial, Helvetica, sans-serif",
|
|
3916
|
+
'--mrmd-ui-font-size': '14px',
|
|
3917
|
+
'--mrmd-ui-font-size-sm': '12px',
|
|
3918
|
+
'--mrmd-panel-bg': '#252526',
|
|
3919
|
+
'--mrmd-popup-bg': '#252526',
|
|
3920
|
+
'--mrmd-bg': '#1e1e1e',
|
|
3921
|
+
'--mrmd-fg': '#d4d4d4',
|
|
3922
|
+
'--mrmd-fg-muted': '#858585',
|
|
3923
|
+
'--mrmd-border': '#3c3c3c',
|
|
3924
|
+
'--mrmd-hover-bg': '#2a2d2e',
|
|
3925
|
+
'--mrmd-active-bg': '#37373d',
|
|
3926
|
+
'--mrmd-selection-bg': '#264f78',
|
|
3927
|
+
'--mrmd-accent': '#007acc',
|
|
3928
|
+
'--mrmd-accent-hover': '#1c97ea',
|
|
3929
|
+
'--mrmd-success': '#4ec9b0',
|
|
3930
|
+
'--mrmd-warning': '#cca700',
|
|
3931
|
+
'--mrmd-error': '#f14c4c',
|
|
3932
|
+
'--mrmd-shadow-md': '0 2px 8px rgba(0, 0, 0, 0.36)',
|
|
3933
|
+
'--mrmd-shadow-lg': '0 4px 16px rgba(0, 0, 0, 0.36)',
|
|
3934
|
+
'--mrmd-shadow-xl': '0 8px 32px rgba(0, 0, 0, 0.36)',
|
|
3935
|
+
'--mrmd-menu-border': '#454545',
|
|
3936
|
+
'--mrmd-dialog-border': '#454545',
|
|
3937
|
+
'--mrmd-input-border': '#3c3c3c',
|
|
3938
|
+
'--mrmd-button-bg': '#3c3c3c',
|
|
3939
|
+
'--mrmd-button-border': '#3c3c3c',
|
|
3940
|
+
'--mrmd-button-hover': '#454545',
|
|
3941
|
+
'--mrmd-button-active': '#505050',
|
|
3942
|
+
};
|
|
3943
|
+
|
|
2422
3944
|
// #endregion BUILT_IN_THEMES
|
|
2423
3945
|
|
|
2424
3946
|
// #region THEME_REGISTRY
|
|
@@ -2428,6 +3950,8 @@ export const openresponsesTheme = {
|
|
|
2428
3950
|
* @type {Map<string, object>}
|
|
2429
3951
|
*/
|
|
2430
3952
|
const themeRegistry = new Map([
|
|
3953
|
+
['wizard-study-dark', wizardStudyDarkTheme],
|
|
3954
|
+
['wizard-study-light', wizardStudyLightTheme],
|
|
2431
3955
|
['midnight', midnightTheme],
|
|
2432
3956
|
['daylight', daylightTheme],
|
|
2433
3957
|
['moonlight', moonlightTheme],
|
|
@@ -2437,6 +3961,10 @@ const themeRegistry = new Map([
|
|
|
2437
3961
|
['grayscale-dark', grayscaleDarkTheme],
|
|
2438
3962
|
['grayscale-light', grayscaleLightTheme],
|
|
2439
3963
|
['openresponses', openresponsesTheme],
|
|
3964
|
+
['newsprint-light', newsprintLightTheme],
|
|
3965
|
+
['newsprint-dark', newsprintDarkTheme],
|
|
3966
|
+
['plain-light', plainLightTheme],
|
|
3967
|
+
['plain-dark', plainDarkTheme],
|
|
2440
3968
|
]);
|
|
2441
3969
|
|
|
2442
3970
|
/**
|
|
@@ -2536,12 +4064,18 @@ export default {
|
|
|
2536
4064
|
tokenDefinitions,
|
|
2537
4065
|
|
|
2538
4066
|
// Built-in themes
|
|
4067
|
+
wizardStudyDarkTheme,
|
|
4068
|
+
wizardStudyLightTheme,
|
|
2539
4069
|
midnightTheme,
|
|
2540
4070
|
daylightTheme,
|
|
2541
4071
|
moonlightTheme,
|
|
2542
4072
|
githubTheme,
|
|
2543
4073
|
nordTheme,
|
|
2544
4074
|
nordOutputsTheme,
|
|
4075
|
+
newsprintLightTheme,
|
|
4076
|
+
newsprintDarkTheme,
|
|
4077
|
+
plainLightTheme,
|
|
4078
|
+
plainDarkTheme,
|
|
2545
4079
|
|
|
2546
4080
|
// Theme registry
|
|
2547
4081
|
registerTheme,
|