/* Shared highlight.js presentation. Only generated Markdown blocks are scoped. */
:root {
  --code-bg: rgba(246, 243, 251, .6);
  --code-heading-bg: rgba(231, 221, 241, .6);
  --code-text: #24283b;
  --code-border: #88749e40;
  --code-muted: #62677e;
  --code-keyword: #793ca4;
  --code-string: #176a45;
  --code-number: #a34716;
  --code-function: #2055a8;
  --code-variable: #a02f59;
}
:root[data-tone=dark] {
  --code-bg: rgba(20, 24, 36, .6);
  --code-heading-bg: rgba(41, 39, 62, .6);
  --code-text: #c9d3f5;
  --code-border: #b494dc40;
  --code-muted: #969fbc;
  --code-keyword: #c099ff;
  --code-string: #a9dc76;
  --code-number: #ffb870;
  --code-function: #82baff;
  --code-variable: #ff8db5;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-tone]) {
    --code-bg: rgba(20, 24, 36, .6); --code-heading-bg: rgba(41, 39, 62, .6); --code-text: #c9d3f5; --code-border: #b494dc40;
    --code-muted: #969fbc; --code-keyword: #c099ff; --code-string: #a9dc76;
    --code-number: #ffb870; --code-function: #82baff; --code-variable: #ff8db5;
  }
}
.code-block {
  box-sizing: border-box; position: relative; max-width: 100%; margin: 1.1em 0;
  padding: 12px 0 0; border: 1px solid var(--code-border); border-radius: 10px;
  background: var(--code-bg); color: var(--code-text); overflow: hidden;
  font: 13px/1.65 ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
  text-align: left; tab-size: 2; white-space: normal;
}
.code-block::before {
  content: attr(data-language); display: block; margin: 0 16px; padding-bottom: 8px;
  border-bottom: 1px solid var(--code-border); color: var(--code-muted);
  font-size: 11px; line-height: 1.4; letter-spacing: .08em; user-select: none;
}
.code-block > code {
  display: block; box-sizing: border-box; width: 100%; overflow-x: auto;
  padding: 12px 16px 16px; color: inherit; background: none;
  font: inherit; white-space: pre; overflow-wrap: normal; word-break: normal;
  scrollbar-width: thin; scrollbar-color: var(--code-muted) transparent;
}
.code-block .hljs-comment, .code-block .hljs-quote { color: var(--code-muted); font-style: italic; }
.code-block .hljs-keyword, .code-block .hljs-selector-tag, .code-block .hljs-doctag, .code-block .hljs-meta { color: var(--code-keyword); }
.code-block .hljs-string, .code-block .hljs-regexp, .code-block .hljs-addition, .code-block .hljs-template-tag { color: var(--code-string); }
.code-block .hljs-number, .code-block .hljs-literal, .code-block .hljs-type, .code-block .hljs-symbol, .code-block .hljs-bullet { color: var(--code-number); }
.code-block .hljs-title, .code-block .hljs-section, .code-block .hljs-built_in, .code-block .hljs-attr, .code-block .hljs-selector-class { color: var(--code-function); }
.code-block .hljs-variable, .code-block .hljs-name, .code-block .hljs-attribute, .code-block .hljs-deletion, .code-block .hljs-selector-id { color: var(--code-variable); }
.code-block .hljs-emphasis { font-style: italic; }
.code-block .hljs-strong { font-weight: 700; }
.code-block .hljs-link { text-decoration: underline; }
@media (min-width: 1200px) { .code-block { font-size: 14px; } }
@media print {
  .code-block { color: #111; background: white; border-color: #aaa; break-inside: avoid; }
  .code-block::before { color: #444; border-color: #aaa; }
  .code-block > code { white-space: pre-wrap; overflow-wrap: anywhere; }
  .code-block .hljs * { color: #111; }
}
