/* Syntax highlighting for code blocks */
.hll {
  background: var(--surface);
  color: var(--fg);
  padding: 1.35rem;
  border: 2px solid color-mix(in srgb, var(--accent) 25%, var(--border));
  border-radius: var(--radius);
  overflow: auto;
  margin: 1rem 0;
  line-height: 1.3;
  letter-spacing: 0;
}

.hll pre {
  background: transparent;
  margin: 0;
  padding: 0;
  border: none;
  line-height: inherit;
}

.hll .hll {
  background-color: color-mix(in srgb, var(--fg) 12%, transparent);
}

/* Comments */
.hll .c,
.hll .ch,
.hll .cm,
.hll .c1,
.hll .cs {
  color: var(--fg-muted);
  font-style: italic;
}

/* Errors */
.hll .err {
  color: var(--accent);
  border-bottom: 1px dotted var(--accent);
}

/* Keywords */
.hll .k,
.hll .kc,
.hll .kd,
.hll .kn,
.hll .kp,
.hll .kr,
.hll .kt,
.hll .ow {
  color: var(--accent);
  font-weight: 600;
}

/* Operators */
.hll .o,
.hll .go,
.hll .gp {
  color: var(--fg);
}

/* Names (functions, classes) */
.hll .gh,
.hll .na,
.hll .nc,
.hll .ne,
.hll .nf,
.hll .nn {
  color: var(--accent);
  font-weight: 600;
}

/* Built-ins and variables */
.hll .nb,
.hll .bp,
.hll .nv,
.hll .vc,
.hll .vg,
.hll .vi,
.hll .vm {
  color: var(--fg);
}

/* Numbers */
.hll .m,
.hll .mf,
.hll .mh,
.hll .mi,
.hll .mo,
.hll .il {
  color: var(--fg-muted);
}

/* Strings */
.hll .s,
.hll .sa,
.hll .sb,
.hll .sc,
.hll .sd,
.hll .se,
.hll .sh,
.hll .si,
.hll .sr,
.hll .s1,
.hll .s2 {
  color: var(--accent);
}

/* Insertions (diffs) */
.hll .gi {
  color: var(--accent);
}

/* Deletions (diffs) */
.hll .gd {
  color: var(--accent);
}

/* Whitespace */
.hll .w {
  color: inherit;
}
