/* Boluo Light: a code theme from Boluo Design. https://boluo.design/code · MIT. Light only. */
:root {
  --font-mono: var(--font-geist-mono, "Geist Mono"), ui-monospace, SFMono-Regular, Menlo, monospace;
  --code-text: #3f3f46;
  --code-ground: #ffffff;
  --hairline: 1px;
  --line: rgba(24, 24, 27, 0.09);
  --radius-md: 6px;
  --space-3: 12px;
  --space-2: 8px;
  --space-4: 16px;
  --code-strong: #09090b;
  --code-quiet: #6b6b73;
  --line-strong: rgba(24, 24, 27, 0.18);
  --radius-sm: 4px;
  --space-0-5: 2px;
  --space-1-5: 6px;
  --space-1: 4px;
  --space-6: 24px;
  --code-mark: #ededf0;
  --code-name: #09090b;
  --code-literal: #8a5300;
}

/* Code: Boluo Light. Two inks and one literal colour; a marked line carries a sign, not only a tint. See /code. */
.b-code { min-width: 0; font-family: var(--font-mono); font-size: 13px; line-height: 22px; color: var(--code-text); background: var(--code-ground); border: var(--hairline) solid var(--line); border-radius: var(--radius-md); overflow: hidden; }
.b-code-head { display: flex; align-items: center; gap: var(--space-3); padding: var(--space-2) var(--space-2) var(--space-2) var(--space-4); border-bottom: var(--hairline) solid var(--line); font-size: 12px; line-height: 16px; }
.b-code-file { flex: 1; min-width: 0; color: var(--code-strong); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.b-code-lang { color: var(--code-quiet); border: var(--hairline) solid var(--line-strong); border-radius: var(--radius-sm); padding: var(--space-0-5) var(--space-1-5); letter-spacing: 0.04em; }
.b-code-copy { font: inherit; color: var(--code-strong); background: transparent; border: var(--hairline) solid var(--line-strong); border-radius: var(--radius-sm); padding: var(--space-1) var(--space-2); cursor: pointer; }
.b-code-copy:hover { background: var(--code-strong); color: var(--code-ground); }
.b-code-copy:focus-visible { outline: 2px solid var(--code-strong); outline-offset: 2px; }
.b-code pre { margin: 0; padding: var(--space-3) 0; overflow-x: auto; font: inherit; }
.b-code code { font: inherit; }
.b-code-line { display: flex; min-width: max-content; }
.b-code-no { flex: none; width: 32px; text-align: right; color: var(--code-quiet); user-select: none; }
.b-code-mark { flex: none; width: 24px; text-align: center; color: var(--code-strong); user-select: none; }
.b-code-text { white-space: pre; padding-right: var(--space-6); }
.b-code-plain .b-code-text { padding-left: var(--space-4); }
.b-code-wrap .b-code-line { min-width: 0; }
.b-code-wrap .b-code-text { white-space: pre-wrap; overflow-wrap: anywhere; }
.b-code-line.is-hl, .b-code-line.is-add { background: var(--code-mark); }
.b-code-line.is-del .b-code-text, .b-code-line.is-del .b-code-text * { color: var(--code-quiet); font-weight: 400; text-decoration: line-through; text-decoration-color: var(--line-strong); }
.b-code ::selection { background: var(--code-strong); color: var(--code-ground); }
.b-code .tk-key { color: var(--code-strong); font-weight: 500; }
.b-code .tk-def { color: var(--code-strong); font-weight: 600; }
.b-code .tk-name { color: var(--code-name); }
.b-code .tk-lit { color: var(--code-literal); }
.b-code .tk-com, .b-code .tk-pun { color: var(--code-quiet); }

/* Prism: wrap the highlighted <pre> in .b-code */
.b-code .token.property, .b-code .token.attr-name, .b-code .token.variable, .b-code .token.parameter { color: var(--code-text); }
.b-code .token.keyword, .b-code .token.atrule, .b-code .token.rule, .b-code .token.important, .b-code .token.pseudo-class, .b-code .token.pseudo-element { color: var(--code-strong); font-weight: 500; }
.b-code .token.selector { color: var(--code-strong); font-weight: 600; }
.b-code .token.function, .b-code .token.tag, .b-code .token.class-name, .b-code .token.builtin { color: var(--code-name); }
.b-code .token.string, .b-code .token.char, .b-code .token.number, .b-code .token.boolean, .b-code .token.regex, .b-code .token.attr-value, .b-code .token.unit, .b-code .token.color, .b-code .token.constant, .b-code .token.url, .b-code .token.hexcode { color: var(--code-literal); }
.b-code .token.comment, .b-code .token.prolog, .b-code .token.doctype, .b-code .token.cdata { color: var(--code-quiet); }
.b-code .token.punctuation, .b-code .token.operator { color: var(--code-quiet); }

/* highlight.js: wrap the highlighted <pre> in .b-code */
.b-code .hljs-variable, .b-code .hljs-params, .b-code .hljs-property, .b-code .hljs-attr, .b-code .hljs-attribute { color: var(--code-text); }
.b-code .hljs-keyword, .b-code .hljs-selector-pseudo, .b-code .hljs-doctag { color: var(--code-strong); font-weight: 500; }
.b-code .hljs-title, .b-code .hljs-title.class_, .b-code .hljs-title.function_, .b-code .hljs-selector-tag, .b-code .hljs-selector-class, .b-code .hljs-selector-id { color: var(--code-strong); font-weight: 600; }
.b-code .hljs-name, .b-code .hljs-type, .b-code .hljs-built_in, .b-code .hljs-title.function_.invoke__ { color: var(--code-name); }
.b-code .hljs-string, .b-code .hljs-number, .b-code .hljs-literal, .b-code .hljs-regexp, .b-code .hljs-symbol, .b-code .hljs-link { color: var(--code-literal); }
.b-code .hljs-comment, .b-code .hljs-quote, .b-code .hljs-meta { color: var(--code-quiet); }
.b-code .hljs-punctuation, .b-code .hljs-operator { color: var(--code-quiet); }
.b-code .hljs-addition, .b-code .hljs-deletion { background: var(--code-mark); }
