/* Inline code + fenced code blocks. Syntax highlighting comes later. */

code, pre, kbd, samp {
  font-family: var(--font-mono);
  font-feature-settings: "calt" 0;
}

.prose code, .prose pre {
  font-size: 0.9em;
}

/* Inline code */
.prose :not(pre) > code {
  background: var(--code-bg);
  color: var(--code-fg);
  border: 1px solid var(--code-border);
  border-radius: var(--radius-sm);
  padding: 0.12em 0.4em;
  font-size: 0.88em;
  word-break: break-word;
}

/* Fenced code block wrapper */
.prose pre {
  position: relative;
  margin: var(--s-4) 0;
  padding: var(--s-4) var(--s-4);
  background: var(--code-bg);
  color: var(--code-fg);
  border: 1px solid var(--code-border);
  border-radius: var(--radius);
  overflow-x: auto;
  line-height: var(--lh-snug);
}

.prose pre > code {
  background: transparent;
  border: 0;
  padding: 0;
  font-size: 0.9em;
  color: inherit;
}

/* Copy button injected by code-copy.js */
.code-copy {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  font-size: var(--fs--1);
  font-family: var(--font-sans);
  font-weight: 500;
  padding: 0.25rem 0.55rem;
  border-radius: var(--radius-sm);
  background: var(--surface);
  color: var(--muted);
  border: 1px solid var(--border);
  opacity: 0;
  transition: opacity var(--transition), color var(--transition), border-color var(--transition);
}
.prose pre:hover .code-copy { opacity: 1; }
.code-copy:hover { color: var(--fg-strong); border-color: var(--border-strong); }
.code-copy.is-copied { color: var(--accent); border-color: var(--accent); }
