/* MuseumLite – Code. Override the variables in the theme to change colours. */
:root {
  --mlc-bg: #f7f8f6; --mlc-border: #dfe3dd; --mlc-text: #1f2a24; --mlc-label: #107c41;
  --mlc-k: #1f3fb5; --mlc-c: #2e7d32; --mlc-s: #a31515; --mlc-n: #0b7a63;
  --mlc-fn: #1f3fb5; --mlc-r: #8a3ab9; --mlc-e: #b42318;
  --mlc-inline-bg: #eef3ee;
}
pre.mlc {
  position: relative; margin: 1.4em 0; padding: 2.1em 1.1em 1em; overflow: auto;
  background: var(--mlc-bg); border: 1px solid var(--mlc-border); border-left: 3px solid var(--mlc-label);
  border-radius: 8px; color: var(--mlc-text); tab-size: 4; white-space: pre;
  font: 13.5px/1.6 ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
}
pre.mlc code { display: block; padding: 0; background: none; border: 0; color: inherit; font: inherit; white-space: inherit; }
pre.mlc[data-lang]::before {
  content: attr(data-lang); position: absolute; top: .55em; left: 1.1em;
  font: 600 10.5px/1 system-ui, -apple-system, "Segoe UI", sans-serif; letter-spacing: .08em; text-transform: uppercase; color: var(--mlc-label);
}
.mlc-k { color: var(--mlc-k); }
.mlc-c { color: var(--mlc-c); font-style: italic; }
.mlc-s { color: var(--mlc-s); }
.mlc-n { color: var(--mlc-n); }
.mlc-fn { color: var(--mlc-fn); font-weight: 600; }
.mlc-r { color: var(--mlc-r); }
.mlc-e { color: var(--mlc-e); font-weight: 600; }
code.mlc-f { padding: .1em .35em; border-radius: 4px; background: var(--mlc-inline-bg); color: var(--mlc-text); white-space: nowrap; }

/* Copy button (added by code.js) */
.mlc-wrap { position: relative; margin: 1.4em 0; }
.mlc-wrap > pre.mlc { margin: 0; }
.mlc-copy {
  position: absolute; top: .45em; right: .55em; padding: .25em .7em; border: 1px solid var(--mlc-border); border-radius: 6px;
  background: #fff; color: var(--mlc-text); font: 500 12px/1.4 system-ui, -apple-system, "Segoe UI", sans-serif; cursor: pointer; opacity: .75;
}
.mlc-copy:hover, .mlc-copy:focus-visible { opacity: 1; border-color: var(--mlc-label); color: var(--mlc-label); }
.mlc-copy.is-done { opacity: 1; color: var(--mlc-label); border-color: var(--mlc-label); }

/* Dark only when the theme says so (html[data-theme="dark"] or a .dark class), never against a light page. */
:root[data-theme="dark"], html.dark, body.dark {
  --mlc-bg: #161b18; --mlc-border: #2c3530; --mlc-text: #e3e8e4; --mlc-label: #4cc38a;
  --mlc-k: #7aa2ff; --mlc-c: #7fbf7f; --mlc-s: #f19a8f; --mlc-n: #6fd3b8;
  --mlc-fn: #7aa2ff; --mlc-r: #d29bff; --mlc-e: #ff8a7a; --mlc-inline-bg: #1f2622;
}
:root[data-theme="dark"] .mlc-copy, html.dark .mlc-copy, body.dark .mlc-copy { background: #1f2622; }
@media print { .mlc-copy { display: none; } pre.mlc { white-space: pre-wrap; } }
