/* Syntax Highlighting - Rouge and Prism compatible */

/* Prism.js token styles (used by kramdown-parser-gfm) */
.highlight .token.comment { color: #6e7681; font-style: italic; }
.highlight .token.keyword { color: #ff7b72; font-weight: 500; }
.highlight .token.string,
.highlight .token.template-string { color: #a5d6ff; }
.highlight .token.function,
.highlight .token.function-variable { color: #d2a8ff; }
.highlight .token.class-name { color: #ffa657; }
.highlight .token.number { color: #79c0ff; }
.highlight .token.operator { color: #ff7b72; }
.highlight .token.punctuation { color: #8b949e; }
.highlight .token.builtin { color: #ffa657; }
.highlight .token.constant { color: #79c0ff; }
.highlight .token.interpolation,
.highlight .token.interpolation-punctuation,
.highlight .token.template-punctuation { color: #a5d6ff; }

/* Light theme - Prism tokens */
[data-theme="github-light"] .highlight .token.comment { color: #6e7781; }
[data-theme="github-light"] .highlight .token.keyword { color: #cf222e; }
[data-theme="github-light"] .highlight .token.string,
[data-theme="github-light"] .highlight .token.template-string { color: #0a3069; }
[data-theme="github-light"] .highlight .token.function { color: #8250df; }
[data-theme="github-light"] .highlight .token.class-name { color: #953800; }
[data-theme="github-light"] .highlight .token.number { color: #0550ae; }
[data-theme="github-light"] .highlight .token.operator { color: #cf222e; }
[data-theme="github-light"] .highlight .token.punctuation { color: #24292f; }

[data-theme="solarized-light"] .highlight .token.keyword { color: #859900; }
[data-theme="solarized-light"] .highlight .token.string { color: #2aa198; }
[data-theme="solarized-light"] .highlight .token.function { color: #268bd2; }

[data-theme="paper"] .highlight .token.keyword { color: #0077aa; }
[data-theme="paper"] .highlight .token.string { color: #669900; }
[data-theme="paper"] .highlight .token.function { color: #dd4a68; }

[data-theme="sepia"] .highlight .token.keyword { color: #7a4426; }
[data-theme="sepia"] .highlight .token.string { color: #5b7a36; }

/* Dracula - Prism tokens */
[data-theme="dracula"] .highlight .token.keyword { color: #ff79c6; }
[data-theme="dracula"] .highlight .token.string { color: #f1fa8c; }
[data-theme="dracula"] .highlight .token.function { color: #50fa7b; }
[data-theme="dracula"] .highlight .token.number { color: #bd93f9; }

/* Nord - Prism tokens */
[data-theme="nord"] .highlight .token.keyword { color: #81a1c1; }
[data-theme="nord"] .highlight .token.string { color: #a3be8c; }
[data-theme="nord"] .highlight .token.function { color: #88c0d0; }

/* Tokyo Night - Prism tokens */
[data-theme="tokyo-night"] .highlight .token.keyword { color: #bb9af7; }
[data-theme="tokyo-night"] .highlight .token.string { color: #9ece6a; }
[data-theme="tokyo-night"] .highlight .token.function { color: #7aa2f7; }

/* One Dark - Prism tokens */
[data-theme="one-dark"] .highlight .token.keyword { color: #c678dd; }
[data-theme="one-dark"] .highlight .token.string { color: #98c379; }
[data-theme="one-dark"] .highlight .token.function { color: #61afef; }

/* Monokai - Prism tokens */
[data-theme="monokai"] .highlight .token.keyword { color: #f92672; }
[data-theme="monokai"] .highlight .token.string { color: #e6db74; }
[data-theme="monokai"] .highlight .token.function { color: #a6e22e; }
[data-theme="monokai"] .highlight .token.number { color: #ae81ff; }

/* Base styles */
.highlight {
  background: var(--pre-bg);
  border-radius: 8px;
  margin-bottom: 1rem;
  overflow: hidden;
}

.highlight pre {
  margin: 0;
  border: none;
}

/* Line numbers */
.lineno {
  color: var(--text-muted);
  padding-right: 1rem;
  border-right: 1px solid var(--border-color);
  margin-right: 1rem;
  user-select: none;
}

/* Token styles - Dark themes base */
.highlight .c,
.highlight .cm,
.highlight .c1,
.highlight .cs { color: #6e7681; font-style: italic; } /* Comments */

.highlight .k,
.highlight .kc,
.highlight .kd,
.highlight .kn,
.highlight .kp,
.highlight .kr,
.highlight .kt { color: #ff7b72; font-weight: 500; } /* Keywords */

.highlight .s,
.highlight .sb,
.highlight .sc,
.highlight .sd,
.highlight .s2,
.highlight .se,
.highlight .sh,
.highlight .si,
.highlight .sx,
.highlight .s1,
.highlight .ss { color: #a5d6ff; } /* Strings */

.highlight .n,
.highlight .na,
.highlight .nb,
.highlight .nc,
.highlight .no,
.highlight .nd,
.highlight .ni,
.highlight .ne,
.highlight .nf,
.highlight .nl,
.highlight .nn,
.highlight .nt,
.highlight .nv,
.highlight .vc,
.highlight .vg,
.highlight .vi { color: #ffa657; } /* Names */

.highlight .o,
.highlight .ow { color: #ff7b72; } /* Operators */

.highlight .m,
.highlight .mf,
.highlight .mh,
.highlight .mi,
.highlight .mo { color: #79c0ff; } /* Numbers */

.highlight .p { color: var(--text-primary); } /* Punctuation */

.highlight .err { color: #f85149; background: transparent; } /* Errors */

.highlight .gd { color: #ffa198; background: rgba(248, 81, 73, 0.15); } /* Git diff deleted */
.highlight .gi { color: #7ee787; background: rgba(46, 160, 67, 0.15); } /* Git diff inserted */

/* Light theme overrides */
[data-theme="github-light"] .highlight .c,
[data-theme="github-light"] .highlight .cm,
[data-theme="github-light"] .highlight .c1,
[data-theme="github-light"] .highlight .cs,
[data-theme="solarized-light"] .highlight .c,
[data-theme="solarized-light"] .highlight .cm,
[data-theme="solarized-light"] .highlight .c1,
[data-theme="solarized-light"] .highlight .cs,
[data-theme="paper"] .highlight .c,
[data-theme="paper"] .highlight .cm,
[data-theme="paper"] .highlight .c1,
[data-theme="paper"] .highlight .cs,
[data-theme="sepia"] .highlight .c,
[data-theme="sepia"] .highlight .cm,
[data-theme="sepia"] .highlight .c1,
[data-theme="sepia"] .highlight .cs { color: #6e7781; }

[data-theme="github-light"] .highlight .k,
[data-theme="github-light"] .highlight .kc,
[data-theme="github-light"] .highlight .kd,
[data-theme="github-light"] .highlight .kn,
[data-theme="github-light"] .highlight .kp,
[data-theme="github-light"] .highlight .kr,
[data-theme="github-light"] .highlight .kt { color: #cf222e; }

[data-theme="github-light"] .highlight .s,
[data-theme="github-light"] .highlight .sb,
[data-theme="github-light"] .highlight .sc,
[data-theme="github-light"] .highlight .sd,
[data-theme="github-light"] .highlight .s2,
[data-theme="github-light"] .highlight .se,
[data-theme="github-light"] .highlight .sh,
[data-theme="github-light"] .highlight .si,
[data-theme="github-light"] .highlight .sx,
[data-theme="github-light"] .highlight .s1,
[data-theme="github-light"] .highlight .ss { color: #0a3069; }

[data-theme="github-light"] .highlight .n,
[data-theme="github-light"] .highlight .na,
[data-theme="github-light"] .highlight .nb,
[data-theme="github-light"] .highlight .nc,
[data-theme="github-light"] .highlight .no,
[data-theme="github-light"] .highlight .nd,
[data-theme="github-light"] .highlight .ni,
[data-theme="github-light"] .highlight .ne,
[data-theme="github-light"] .highlight .nf,
[data-theme="github-light"] .highlight .nl,
[data-theme="github-light"] .highlight .nn,
[data-theme="github-light"] .highlight .nt,
[data-theme="github-light"] .highlight .nv,
[data-theme="github-light"] .highlight .vc,
[data-theme="github-light"] .highlight .vg,
[data-theme="github-light"] .highlight .vi { color: #953800; }

[data-theme="github-light"] .highlight .m,
[data-theme="github-light"] .highlight .mf,
[data-theme="github-light"] .highlight .mh,
[data-theme="github-light"] .highlight .mi,
[data-theme="github-light"] .highlight .mo { color: #0550ae; }

/* Paper theme overrides */
[data-theme="paper"] .highlight .k,
[data-theme="paper"] .highlight .kd { color: #0077aa; }

[data-theme="paper"] .highlight .s,
[data-theme="paper"] .highlight .s1,
[data-theme="paper"] .highlight .s2 { color: #669900; }

[data-theme="paper"] .highlight .n,
[data-theme="paper"] .highlight .nf { color: #dd4a68; }

/* Sepia theme overrides */
[data-theme="sepia"] .highlight .k,
[data-theme="sepia"] .highlight .kd { color: #7a4426; }

[data-theme="sepia"] .highlight .s,
[data-theme="sepia"] .highlight .s1,
[data-theme="sepia"] .highlight .s2 { color: #5b7a36; }

/* Solarized light overrides */
[data-theme="solarized-light"] .highlight .k,
[data-theme="solarized-light"] .highlight .kd { color: #859900; }

[data-theme="solarized-light"] .highlight .s,
[data-theme="solarized-light"] .highlight .s1,
[data-theme="solarized-light"] .highlight .s2 { color: #2aa198; }

[data-theme="solarized-light"] .highlight .n,
[data-theme="solarized-light"] .highlight .nf { color: #268bd2; }

/* Dracula theme specific */
[data-theme="dracula"] .highlight .k,
[data-theme="dracula"] .highlight .kd { color: #ff79c6; }

[data-theme="dracula"] .highlight .s,
[data-theme="dracula"] .highlight .s1,
[data-theme="dracula"] .highlight .s2 { color: #f1fa8c; }

[data-theme="dracula"] .highlight .n,
[data-theme="dracula"] .highlight .nf { color: #50fa7b; }

[data-theme="dracula"] .highlight .m,
[data-theme="dracula"] .highlight .mi { color: #bd93f9; }

/* Nord theme specific */
[data-theme="nord"] .highlight .k,
[data-theme="nord"] .highlight .kd { color: #81a1c1; }

[data-theme="nord"] .highlight .s,
[data-theme="nord"] .highlight .s1,
[data-theme="nord"] .highlight .s2 { color: #a3be8c; }

[data-theme="nord"] .highlight .n,
[data-theme="nord"] .highlight .nf { color: #88c0d0; }

/* Tokyo Night theme specific */
[data-theme="tokyo-night"] .highlight .k,
[data-theme="tokyo-night"] .highlight .kd { color: #bb9af7; }

[data-theme="tokyo-night"] .highlight .s,
[data-theme="tokyo-night"] .highlight .s1,
[data-theme="tokyo-night"] .highlight .s2 { color: #9ece6a; }

[data-theme="tokyo-night"] .highlight .n,
[data-theme="tokyo-night"] .highlight .nf { color: #7aa2f7; }

/* One Dark theme specific */
[data-theme="one-dark"] .highlight .k,
[data-theme="one-dark"] .highlight .kd { color: #c678dd; }

[data-theme="one-dark"] .highlight .s,
[data-theme="one-dark"] .highlight .s1,
[data-theme="one-dark"] .highlight .s2 { color: #98c379; }

[data-theme="one-dark"] .highlight .n,
[data-theme="one-dark"] .highlight .nf { color: #61afef; }

/* Monokai theme specific */
[data-theme="monokai"] .highlight .k,
[data-theme="monokai"] .highlight .kd { color: #f92672; }

[data-theme="monokai"] .highlight .s,
[data-theme="monokai"] .highlight .s1,
[data-theme="monokai"] .highlight .s2 { color: #e6db74; }

[data-theme="monokai"] .highlight .n,
[data-theme="monokai"] .highlight .nf { color: #a6e22e; }

[data-theme="monokai"] .highlight .m,
[data-theme="monokai"] .highlight .mi { color: #ae81ff; }
