.highlight table td { padding: 5px; }
.highlight table pre { margin: 0; }
.highlight, .highlight .w {
  color: #24292f;
  background-color: #f6f8fa;
}
.highlight .k, .highlight .kd, .highlight .kn, .highlight .kp, .highlight .kr, .highlight .kt, .highlight .kv {
  color: #cf222e;
}
.highlight .gr {
  color: #f6f8fa;
}
.highlight .gd {
  color: #82071e;
  background-color: #ffebe9;
}
.highlight .nb {
  color: #953800;
}
.highlight .nc {
  color: #953800;
}
.highlight .no {
  color: #953800;
}
.highlight .nn {
  color: #953800;
}
.highlight .sr {
  color: #116329;
}
.highlight .na {
  color: #116329;
}
.highlight .nt {
  color: #116329;
}
.highlight .gi {
  color: #116329;
  background-color: #dafbe1;
}
.highlight .ges {
  font-weight: bold;
  font-style: italic;
}
.highlight .kc {
  color: #0550ae;
}
.highlight .l, .highlight .ld, .highlight .m, .highlight .mb, .highlight .mf, .highlight .mh, .highlight .mi, .highlight .il, .highlight .mo, .highlight .mx {
  color: #0550ae;
}
.highlight .sb {
  color: #0550ae;
}
.highlight .bp {
  color: #0550ae;
}
.highlight .ne {
  color: #0550ae;
}
.highlight .nl {
  color: #0550ae;
}
.highlight .py {
  color: #0550ae;
}
.highlight .nv, .highlight .vc, .highlight .vg, .highlight .vi, .highlight .vm {
  color: #0550ae;
}
.highlight .o, .highlight .ow {
  color: #0550ae;
}
.highlight .gh {
  color: #0550ae;
  font-weight: bold;
}
.highlight .gu {
  color: #0550ae;
  font-weight: bold;
}
.highlight .s, .highlight .sa, .highlight .sc, .highlight .dl, .highlight .sd, .highlight .s2, .highlight .se, .highlight .sh, .highlight .sx, .highlight .s1, .highlight .ss {
  color: #0a3069;
}
.highlight .nd {
  color: #8250df;
}
.highlight .nf, .highlight .fm {
  color: #8250df;
}
.highlight .err {
  color: #f6f8fa;
  background-color: #82071e;
}
.highlight .c, .highlight .ch, .highlight .cd, .highlight .cm, .highlight .cp, .highlight .cpf, .highlight .c1, .highlight .cs {
  color: #6e7781;
}
.highlight .gl {
  color: #6e7781;
}
.highlight .gt {
  color: #6e7781;
}
.highlight .ni {
  color: #24292f;
}
.highlight .si {
  color: #24292f;
}
.highlight .ge {
  color: #24292f;
  font-style: italic;
}
.highlight .gs {
  color: #24292f;
  font-weight: bold;
}

/* App-specific styling for markdown code blocks */
.markdown .highlight {
  border: 1px solid #d0d7de;
  border-radius: 0.75rem;
  overflow: hidden;
  margin: 0.75rem 0;
  position: relative;
}

.markdown .highlight-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.35rem 0.75rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #57606a;
  background: rgba(175, 184, 193, 0.2);
  border-bottom: 1px solid #d0d7de;
}

.markdown .highlight-lang {
  font-weight: 700;
}

.markdown .highlight-copy {
  text-transform: none;
  letter-spacing: normal;
  font-size: 0.75rem;
  font-weight: 600;
  color: #57606a;
  background: transparent;
  border: 1px solid rgba(175, 184, 193, 0.6);
  border-radius: 0.5rem;
  padding: 0.2rem 0.5rem;
}

.markdown .highlight-copy:hover {
  color: #24292f;
  border-color: rgba(175, 184, 193, 1);
}

.markdown .highlight pre {
  margin: 0;
  padding: 0.875rem 1rem;
  overflow-x: auto;
  font-size: 0.875rem; /* slightly smaller */
  line-height: 1.5;
}

.markdown code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

/* Dark mode (approx GitHub Dark palette) */
@media (prefers-color-scheme: dark) {
  .highlight, .highlight .w {
    color: #c9d1d9;
    background-color: #0d1117;
  }

  .markdown .highlight {
    border-color: #30363d;
  }

  .markdown .highlight-header {
    color: #8b949e;
    background: rgba(110, 118, 129, 0.2);
    border-bottom-color: #30363d;
  }

  .markdown .highlight-copy {
    color: #8b949e;
    border-color: rgba(110, 118, 129, 0.7);
  }

  .markdown .highlight-copy:hover {
    color: #c9d1d9;
    border-color: rgba(110, 118, 129, 1);
  }

  .highlight .c, .highlight .ch, .highlight .cd, .highlight .cm, .highlight .cp, .highlight .cpf, .highlight .c1, .highlight .cs {
    color: #8b949e;
  }

  .highlight .k, .highlight .kd, .highlight .kn, .highlight .kp, .highlight .kr, .highlight .kt, .highlight .kv {
    color: #ff7b72;
  }

  .highlight .l, .highlight .ld, .highlight .m, .highlight .mb, .highlight .mf, .highlight .mh, .highlight .mi, .highlight .il, .highlight .mo, .highlight .mx {
    color: #79c0ff;
  }

  .highlight .s, .highlight .sa, .highlight .sc, .highlight .dl, .highlight .sd, .highlight .s2, .highlight .se, .highlight .sh, .highlight .sx, .highlight .s1, .highlight .ss {
    color: #a5d6ff;
  }

  .highlight .nf, .highlight .fm, .highlight .nd {
    color: #d2a8ff;
  }

  .highlight .na, .highlight .nc, .highlight .no, .highlight .nn, .highlight .nt {
    color: #ffa657;
  }

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

  .highlight .err {
    color: #f0f6fc;
    background-color: #490202;
  }
}

