/* Colorblind-friendly light mode code theme */
/* High contrast with distinct colors optimized for colorblind users */

/* Main code block styling */
pre {
  background-color: #f8f9fa !important;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  padding: 1em;
  overflow-x: auto;
  line-height: 1.6;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

/* Inline code */
code {
  background-color: #f3f4f6;
  color: #1f2937;
  padding: 0.125em 0.25em;
  border-radius: 3px;
  font-size: 0.875em;
  border: 1px solid #e5e7eb;
}

/* Code blocks within pre tags */
pre code {
  background-color: transparent;
  padding: 0;
  color: #1f2937;
  border: none;
}

/* Line numbers styling */
.highlight .lntable {
  width: 100%;
  border-spacing: 0;
  border: none;
}

.highlight .lntd {
  vertical-align: top;
  padding: 0;
  margin: 0;
  border: none;
}

.highlight .lntd:first-child {
  width: auto;
  padding-right: 1em;
  border-right: 1px solid #e5e7eb;
}

.highlight .ln {
  color: #9ca3af;
  user-select: none;
  padding-right: 0.5em;
}

/* Colorblind-friendly syntax highlighting */
.highlight {
  background-color: #f8f9fa !important;
  color: #1f2937;
}

/* Keywords - dark blue (high contrast) */
.highlight .k, .highlight .kc, .highlight .kd, .highlight .kn, 
.highlight .kp, .highlight .kr, .highlight .kt {
  color: #0550ae;
  font-weight: 600;
}

/* Strings - dark orange (distinct from other colors) */
.highlight .s, .highlight .sb, .highlight .sc, .highlight .sd, 
.highlight .s2, .highlight .se, .highlight .sh, .highlight .si, 
.highlight .sx, .highlight .sr, .highlight .s1, .highlight .ss {
  color: #953800;
}

/* Comments - medium gray (less prominent) */
.highlight .c, .highlight .ch, .highlight .cm, .highlight .cp, 
.highlight .cpf, .highlight .c1, .highlight .cs {
  color: #6b7280;
  font-style: italic;
}

/* Functions and methods - purple (distinct) */
.highlight .nf, .highlight .nb, .highlight .nc {
  color: #6f42c1;
  font-weight: 500;
}

/* Variables and parameters - dark teal */
.highlight .n, .highlight .na, .highlight .nv, .highlight .vc, 
.highlight .vg, .highlight .vi {
  color: #0969da;
}

/* Numbers - dark green */
.highlight .m, .highlight .mf, .highlight .mh, .highlight .mi, 
.highlight .il, .highlight .mo, .highlight .mb, .highlight .mx {
  color: #0a7226;
}

/* Operators and punctuation - dark gray */
.highlight .o, .highlight .p {
  color: #24292f;
}

/* Error highlighting - disabled to prevent false positives */
.highlight .err {
  color: inherit;
  text-decoration: none;
  background-color: transparent;
}

/* Types - dark magenta */
.highlight .nn, .highlight .nx, .highlight .nt {
  color: #8250df;
}

/* Attributes - brown */
.highlight .nd, .highlight .ni {
  color: #a40e26;
}

/* Boolean and null values */
.highlight .bp, .highlight .kc {
  color: #0550ae;
  font-weight: 600;
}

/* Improved selection colors */
.highlight ::selection {
  background-color: #d1e9ff;
  color: #0550ae;
}

.highlight ::-moz-selection {
  background-color: #d1e9ff;
  color: #0550ae;
}

/* Scrollbar styling for code blocks */
pre::-webkit-scrollbar {
  height: 10px;
  width: 10px;
}

pre::-webkit-scrollbar-track {
  background: #f1f3f5;
  border-radius: 5px;
}

pre::-webkit-scrollbar-thumb {
  background: #cbd5e0;
  border-radius: 5px;
}

pre::-webkit-scrollbar-thumb:hover {
  background: #9ca3af;
}

/* Copy button styling (if theme supports it) */
.code-copy-btn {
  background-color: #ffffff;
  color: #374151;
  border: 1px solid #d1d5db;
  border-radius: 4px;
  padding: 0.25em 0.5em;
  font-size: 0.85em;
  transition: all 0.2s;
}

.code-copy-btn:hover {
  background-color: #f3f4f6;
  border-color: #9ca3af;
}

/* Additional refinements for better readability */
.highlight pre {
  tab-size: 4;
  -moz-tab-size: 4;
}

/* Ensure proper spacing */
.highlight .lntd:last-child {
  padding-left: 1em;
  width: 100%;
}

/* Make line numbers non-selectable */
.highlight .lnt {
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}