/* Matrix-inspired Prism overrides: high-contrast green/cyan palette on black */
/* Base */
code[class*="language-"], pre[class*="language-"] {
  color: #c8ffdf;
  background: #000;
  text-shadow: none;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 1rem; /* Increase code size for readability */
  line-height: 1.55;
}

pre[class*="language-"] {
  padding: 1rem 1.25rem;
  margin: 1rem 0 1.5rem;
  overflow: auto;
  border: 1px solid rgba(0, 255, 136, 0.25);
  border-radius: 8px;
  box-shadow: 0 0 0 1px rgba(0, 255, 136, 0.1), 0 0 24px rgba(0, 255, 136, 0.08) inset;
}

/* Prism line numbers */
pre.line-numbers {
  position: relative;
  padding-left: 3.2em; /* room for numbers */
}
pre[class*="language-"].line-numbers .line-numbers-rows {
  border-right: 1px solid rgba(0,255,136,0.2);
  background: #03170f;
}
.line-numbers .line-numbers-rows > span:before {
  color: #4fb07a;
}

/* Inline code */
:not(pre) > code[class*="language-"] {
  padding: 0.1rem 0.35rem;
  border-radius: 4px;
  background: #071a11;
  border: 1px solid rgba(0, 255, 136, 0.25);
}

/* Tokens */
.token.comment, .token.prolog, .token.doctype, .token.cdata { color: #4fb07a; }
.token.punctuation { color: #8cf0c2; }
.token.operator, .token.entity, .token.url { color: #43e6c8; }
.token.boolean, .token.number { color: #d3ff7c; }
.token.property, .token.tag, .token.constant, .token.symbol, .token.deleted { color: #ff7373; }
.token.selector, .token.attr-name, .token.string, .token.char, .token.builtin, .token.inserted { color: #9cff6b; }
.token.function, .token.class-name { color: #6deaff; }
.token.keyword, .token.atrule { color: #00e5ff; }
.token.regex, .token.important, .token.variable { color: #74ffd1; }
.token.bold { font-weight: 700; }
.token.italic { font-style: italic; }
.token.important { color: #ffb86b; }

/* Language-specific tweaks */
/* Bash */
pre.language-bash .token.function { color: #6deaff; }
pre.language-bash .token.string { color: #9cff6b; }
pre.language-bash .token.operator { color: #43e6c8; }
pre.language-bash .token.comment { color: #4fb07a; }

/* Python */
pre.language-python .token.decorator { color: #ffb86b; }
pre.language-python .token.keyword { color: #00e5ff; }
pre.language-python .token.string { color: #9cff6b; }
pre.language-python .token.builtin { color: #6deaff; }

/* JSON */
pre.language-json .token.property { color: #6deaff; }
pre.language-json .token.string { color: #9cff6b; }
pre.language-json .token.number { color: #d3ff7c; }

/* YAML */
pre.language-yaml .token.atrule { color: #6deaff; }
pre.language-yaml .token.string { color: #9cff6b; }
pre.language-yaml .token.boolean { color: #d3ff7c; }
pre.language-yaml .token.number { color: #d3ff7c; }
pre.language-yaml .token.punctuation { color: #43e6c8; }

/* Dockerfile */
pre.language-dockerfile .token.keyword { color: #00e5ff; font-weight: 600; }
pre.language-dockerfile .token.attr-name { color: #6deaff; }
pre.language-dockerfile .token.string { color: #9cff6b; }
pre.language-dockerfile .token.number { color: #d3ff7c; }

/* SQL */
pre.language-sql .token.keyword { color: #00e5ff; font-weight: 600; }
pre.language-sql .token.function { color: #6deaff; }
pre.language-sql .token.string { color: #9cff6b; }
pre.language-sql .token.number { color: #d3ff7c; }
pre.language-sql .token.operator { color: #43e6c8; }

/* Selection */
pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
code[class*="language-"]::selection, code[class*="language-"] ::selection {
  background: rgba(0, 255, 136, 0.25);
}

/* Code block toolbar (added by code-extras.js) */
.code-block { position: relative; margin: 1rem 0 1.5rem; }
.code-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 0.4rem 0.6rem; margin-bottom: 0.25rem;
  background: #06140e; border: 1px solid rgba(0, 255, 136, 0.25);
  border-radius: 6px; color: #8cf0c2; font-size: 0.8rem; letter-spacing: 0.02em;
}
.code-header .lang { opacity: 0.85; font-weight: 600; }
.code-header .copy-btn {
  background: rgba(0, 255, 136, 0.15); color: #b7ffd7; border: 1px solid rgba(0, 255, 136, 0.35);
  border-radius: 4px; padding: 0.2rem 0.5rem; cursor: pointer; font-size: 0.8rem;
}
.code-header .copy-btn:hover { background: rgba(0, 255, 136, 0.25); }
.code-header .copy-btn.copied { background: rgba(0, 255, 136, 0.35); color: #003b1f; }
