[data-theme="dark"] {
  color-scheme: dark;
  --bg: #0f172a;
  --panel-bg: #1e293b;
  --border: #334155;
  --text: #e2e8f0;
  --text-muted: #94a3b8;
  --accent: #60a5fa;
  --accent-soft: #1e3a5f;
  --success: #14b8a6;
  --danger: #f87171;
  --warning: #fbbf24;
  --shadow: 0 6px 20px rgba(0, 0, 0, 0.3);

  --editor-bg: #1e293b;
  --editor-text: #e2e8f0;
  --tab-nav-bg: #0f172a;
  --tab-toggle-bg: #1e293b;
  --tab-toggle-active-bg: #334155;
  --tab-toggle-active-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
  --file-tab-bg: #162032;
  --file-tab-hover-bg: #213248;
  --file-tab-text: #cbd5e1;
  --file-tab-active-text: #f8fafc;
  --file-tab-dirty: #fbbf24;
  --file-tab-close-hover-bg: #7f1d1d;
  --file-tab-border: #334155;
  --preview-text: #dbe7fb;
  --code-block-bg: #0f172a;
  --code-header-bg: #1e3a5f;
  --copy-border: #475569;
  --copy-border-hover: #64748b;
  --copy-bg: #1e293b;
  --copy-text: #cbd5e1;
  --copy-text-hover: #f8fafc;
  --copy-copied-border: #14b8a6;
  --code-line-number-bg: #172554;
  --code-line-number-text: #93c5fd;
  --mermaid-bg: #1e293b;
  --mermaid-error-border: #7f1d1d;
  --mermaid-error-bg: #450a0a;
  --mermaid-error-text: #fca5a5;
  --math-display-bg: #162032;
  --math-display-border: #1e3a5f;
  --math-error-text: #fca5a5;
  --math-error-bg: #450a0a;
  --math-error-border: #7f1d1d;
  --frontmatter-bg: #162033;
  --frontmatter-border: #334a69;
  --frontmatter-key: #93b5df;
  --frontmatter-chip-bg: #263753;
  --frontmatter-chip-text: #dce9ff;
  --modal-overlay: rgba(2, 6, 23, 0.7);
  --modal-bg: #1e293b;
  --modal-shadow: 0 10px 30px rgba(2, 6, 23, 0.55);
  --modal-title: #f8fafc;
  --modal-message: #cbd5e1;
  --modal-hint: #94a3b8;
  --modal-primary: #3b82f6;
  --modal-primary-hover: #60a5fa;
  --modal-danger: #ef4444;
  --modal-danger-hover: #f87171;
  --modal-neutral: #334155;
  --modal-neutral-hover: #475569;
  --modal-neutral-text: #e2e8f0;
  --table-border: #334155;
  --table-header-bg: #1e3a5f;
  --table-header-text: #e2e8f0;
  --table-row-alt-bg: #162032;
  --table-row-hover-bg: #1e3350;
  --drag-over-bg: #162032;
}

[data-theme="dracula"] {
  color-scheme: dark;
  --bg: #282a36;
  --panel-bg: #44475a;
  --border: #6272a4;
  --text: #f8f8f2;
  --text-muted: #c0c2d3;
  --accent: #bd93f9;
  --accent-soft: #3f3855;
  --success: #50fa7b;
  --danger: #ff5555;
  --warning: #ffb86c;
  --shadow: 0 6px 20px rgba(17, 16, 28, 0.45);

  --editor-bg: #3a3d4d;
  --editor-text: #f8f8f2;
  --tab-nav-bg: #282a36;
  --tab-toggle-bg: #3a3d4d;
  --tab-toggle-active-bg: #44475a;
  --tab-toggle-active-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
  --file-tab-bg: #323547;
  --file-tab-hover-bg: #3f4358;
  --file-tab-text: #e7e8df;
  --file-tab-active-text: #f8f8f2;
  --file-tab-dirty: #ffb86c;
  --file-tab-close-hover-bg: #5e2a46;
  --file-tab-border: #6272a4;
  --preview-text: #f1f2ee;
  --code-block-bg: #2f3241;
  --code-header-bg: #3a3d4d;
  --copy-border: #707aa0;
  --copy-border-hover: #8a96c0;
  --copy-bg: #44475a;
  --copy-text: #e2e4dc;
  --copy-text-hover: #ffffff;
  --copy-copied-border: #50fa7b;
  --code-line-number-bg: #2f3241;
  --code-line-number-text: #bd93f9;
  --mermaid-bg: #3a3d4d;
  --mermaid-error-border: #b34771;
  --mermaid-error-bg: #3d2431;
  --mermaid-error-text: #ff79c6;
  --math-display-bg: #323547;
  --math-display-border: #6272a4;
  --math-error-text: #ff79c6;
  --math-error-bg: #3d2431;
  --math-error-border: #b34771;
  --frontmatter-bg: #35374a;
  --frontmatter-border: #5f6688;
  --frontmatter-key: #d2b5ff;
  --frontmatter-chip-bg: #454a62;
  --frontmatter-chip-text: #f5f4ff;
  --modal-overlay: rgba(24, 22, 35, 0.78);
  --modal-bg: #3a3d4d;
  --modal-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
  --modal-title: #f8f8f2;
  --modal-message: #d2d4dc;
  --modal-hint: #b5b8c9;
  --modal-primary: #bd93f9;
  --modal-primary-hover: #caa9ff;
  --modal-danger: #ff5555;
  --modal-danger-hover: #ff6e6e;
  --modal-neutral: #4f536b;
  --modal-neutral-hover: #616783;
  --modal-neutral-text: #f8f8f2;
  --table-border: #6272a4;
  --table-header-bg: #3a3d4d;
  --table-header-text: #f8f8f2;
  --table-row-alt-bg: #323547;
  --table-row-hover-bg: #3f4358;
  --drag-over-bg: #323547;
}

[data-theme="nord-light"] {
  color-scheme: light;
  --bg: #eceff4;
  --panel-bg: #e5e9f0;
  --border: #c7d0df;
  --text: #2e3440;
  --text-muted: #5b677a;
  --accent: #5e81ac;
  --accent-soft: #d8e3f2;
  --success: #7a9f62;
  --danger: #bf616a;
  --warning: #b27754;
  --shadow: 0 6px 20px rgba(46, 52, 64, 0.15);

  --editor-bg: #f7f9fc;
  --editor-text: #2e3440;
  --tab-nav-bg: #e8edf4;
  --tab-toggle-bg: #d8dee9;
  --tab-toggle-active-bg: #f7f9fc;
  --tab-toggle-active-shadow: 0 1px 3px rgba(46, 52, 64, 0.12);
  --file-tab-bg: #dde4ef;
  --file-tab-hover-bg: #d1dae8;
  --file-tab-text: #445064;
  --file-tab-active-text: #2e3440;
  --file-tab-dirty: #d08770;
  --file-tab-close-hover-bg: #f0d8dd;
  --file-tab-border: #c7d0df;
  --preview-text: #2f3642;
  --code-block-bg: #edf1f7;
  --code-header-bg: #d8e3f2;
  --copy-border: #b4bfd1;
  --copy-border-hover: #93a3bd;
  --copy-bg: #f7f9fc;
  --copy-text: #465167;
  --copy-text-hover: #2e3440;
  --copy-copied-border: #8aa47a;
  --code-line-number-bg: #dfe7f3;
  --code-line-number-text: #5e81ac;
  --mermaid-bg: #f7f9fc;
  --mermaid-error-border: #e6c8cc;
  --mermaid-error-bg: #f9ecef;
  --mermaid-error-text: #8f3f47;
  --math-display-bg: #f0f4fa;
  --math-display-border: #d8e3f2;
  --math-error-text: #8f3f47;
  --math-error-bg: #f9ecef;
  --math-error-border: #e6c8cc;
  --frontmatter-bg: #edf2f9;
  --frontmatter-border: #ccd8ea;
  --frontmatter-key: #5a6f8e;
  --frontmatter-chip-bg: #d9e4f3;
  --frontmatter-chip-text: #2f3f58;
  --modal-overlay: rgba(46, 52, 64, 0.38);
  --modal-bg: #f7f9fc;
  --modal-shadow: 0 10px 30px rgba(46, 52, 64, 0.25);
  --modal-title: #2e3440;
  --modal-message: #4c566a;
  --modal-hint: #616f83;
  --modal-primary: #5e81ac;
  --modal-primary-hover: #6f93bf;
  --modal-danger: #bf616a;
  --modal-danger-hover: #d0717a;
  --modal-neutral: #d8dee9;
  --modal-neutral-hover: #cbd3e1;
  --modal-neutral-text: #2e3440;
  --table-border: #c7d0df;
  --table-header-bg: #d8e3f2;
  --table-header-text: #2e3440;
  --table-row-alt-bg: #e6ebf3;
  --table-row-hover-bg: #dbe3f0;
  --drag-over-bg: #dbe8f6;
}

[data-theme="nord-dark"] {
  color-scheme: dark;
  --bg: #2e3440;
  --panel-bg: #3b4252;
  --border: #4c566a;
  --text: #eceff4;
  --text-muted: #a3adbf;
  --accent: #88c0d0;
  --accent-soft: #434c5e;
  --success: #a3be8c;
  --danger: #bf616a;
  --warning: #d08770;
  --shadow: 0 6px 20px rgba(17, 22, 30, 0.4);

  --editor-bg: #3a4151;
  --editor-text: #eceff4;
  --tab-nav-bg: #2e3440;
  --tab-toggle-bg: #3b4252;
  --tab-toggle-active-bg: #434c5e;
  --tab-toggle-active-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
  --file-tab-bg: #343b4a;
  --file-tab-hover-bg: #414b5d;
  --file-tab-text: #d8dee9;
  --file-tab-active-text: #eceff4;
  --file-tab-dirty: #d08770;
  --file-tab-close-hover-bg: #64424b;
  --file-tab-border: #4c566a;
  --preview-text: #e5e9f0;
  --code-block-bg: #2f3644;
  --code-header-bg: #3d4658;
  --copy-border: #5a657c;
  --copy-border-hover: #6f7f9c;
  --copy-bg: #3b4252;
  --copy-text: #d8dee9;
  --copy-text-hover: #eceff4;
  --copy-copied-border: #a3be8c;
  --code-line-number-bg: #2f3a4d;
  --code-line-number-text: #88c0d0;
  --mermaid-bg: #3a4151;
  --mermaid-error-border: #6a4a51;
  --mermaid-error-bg: #4a3238;
  --mermaid-error-text: #e2a8b0;
  --math-display-bg: #343b4a;
  --math-display-border: #4b5f78;
  --math-error-text: #e2a8b0;
  --math-error-bg: #4a3238;
  --math-error-border: #6a4a51;
  --frontmatter-bg: #343e51;
  --frontmatter-border: #506380;
  --frontmatter-key: #a8bfd8;
  --frontmatter-chip-bg: #42516a;
  --frontmatter-chip-text: #ebf2ff;
  --modal-overlay: rgba(18, 24, 34, 0.72);
  --modal-bg: #3b4252;
  --modal-shadow: 0 10px 30px rgba(9, 12, 17, 0.52);
  --modal-title: #eceff4;
  --modal-message: #d8dee9;
  --modal-hint: #a3adbf;
  --modal-primary: #88c0d0;
  --modal-primary-hover: #99ccda;
  --modal-danger: #bf616a;
  --modal-danger-hover: #d0737b;
  --modal-neutral: #4c566a;
  --modal-neutral-hover: #5e6a82;
  --modal-neutral-text: #eceff4;
  --table-border: #4c566a;
  --table-header-bg: #434c5e;
  --table-header-text: #eceff4;
  --table-row-alt-bg: #343b4a;
  --table-row-hover-bg: #40495c;
  --drag-over-bg: #384254;
}

[data-theme="lofi"] {
  color-scheme: light;
  --bg: #f5f5f5;
  --panel-bg: #ffffff;
  --border: #d0d0d0;
  --text: #333333;
  --text-muted: #888888;
  --accent: #555555;
  --accent-soft: #e7e7e7;
  --success: #666666;
  --danger: #777777;
  --warning: #707070;
  --shadow: 0 6px 20px rgba(0, 0, 0, 0.08);

  --editor-bg: #ffffff;
  --editor-text: #333333;
  --tab-nav-bg: #f0f0f0;
  --tab-toggle-bg: #e2e2e2;
  --tab-toggle-active-bg: #ffffff;
  --tab-toggle-active-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
  --file-tab-bg: #ededed;
  --file-tab-hover-bg: #e3e3e3;
  --file-tab-text: #555555;
  --file-tab-active-text: #333333;
  --file-tab-dirty: #666666;
  --file-tab-close-hover-bg: #e5e5e5;
  --file-tab-border: #d0d0d0;
  --preview-text: #3f3f3f;
  --code-block-bg: #f6f6f6;
  --code-header-bg: #eeeeee;
  --copy-border: #c5c5c5;
  --copy-border-hover: #aaaaaa;
  --copy-bg: #ffffff;
  --copy-text: #555555;
  --copy-text-hover: #333333;
  --copy-copied-border: #9e9e9e;
  --code-line-number-bg: #efefef;
  --code-line-number-text: #777777;
  --mermaid-bg: #ffffff;
  --mermaid-error-border: #d1d1d1;
  --mermaid-error-bg: #f1f1f1;
  --mermaid-error-text: #666666;
  --math-display-bg: #f7f7f7;
  --math-display-border: #dfdfdf;
  --math-error-text: #666666;
  --math-error-bg: #f1f1f1;
  --math-error-border: #d1d1d1;
  --frontmatter-bg: #f3f3f3;
  --frontmatter-border: #d8d8d8;
  --frontmatter-key: #777777;
  --frontmatter-chip-bg: #e5e5e5;
  --frontmatter-chip-text: #3f3f3f;
  --modal-overlay: rgba(0, 0, 0, 0.45);
  --modal-bg: #ffffff;
  --modal-shadow: 0 10px 28px rgba(0, 0, 0, 0.18);
  --modal-title: #333333;
  --modal-message: #666666;
  --modal-hint: #8a8a8a;
  --modal-primary: #555555;
  --modal-primary-hover: #4a4a4a;
  --modal-danger: #6f6f6f;
  --modal-danger-hover: #636363;
  --modal-neutral: #e3e3e3;
  --modal-neutral-hover: #d6d6d6;
  --modal-neutral-text: #333333;
  --table-border: #d0d0d0;
  --table-header-bg: #eeeeee;
  --table-header-text: #333333;
  --table-row-alt-bg: #f3f3f3;
  --table-row-hover-bg: #ececec;
  --drag-over-bg: #efefef;
}
