/* ═══════════════════════════════════════════════════════
   DATABAY JOURNAL — prism-blog.css (B3)
   Custom Prism token theme tuned to the blog's dark navy
   palette — NOT a stock Prism theme. Scoped under the
   article body so token colors can never leak elsewhere.
   Loaded on /blog/{slug} only.

   Every token color is >= 4.5:1 on the code surface
   (#0E1830): keyword 8.4, string 11.0, number 11.0,
   function 10.1, comment 4.5, punctuation 7.1.
   ═══════════════════════════════════════════════════════ */

.db-article__section-body pre[class*="language-"],
.db-article__section-body code[class*="language-"] {
    text-shadow: none;
    hyphens: none;
    tab-size: 4;
}

/* Base ink for unclassified spans inside highlighted blocks. */
.db-article__section-body pre[class*="language-"] code {
    color: #CDD9EC;
}

.db-article__section-body .token.comment,
.db-article__section-body .token.prolog,
.db-article__section-body .token.doctype,
.db-article__section-body .token.cdata,
.db-article__section-body .token.shebang {
    color: #6E82A6;
    font-style: italic;
}

.db-article__section-body .token.punctuation {
    color: #93A6C6;
}

.db-article__section-body .token.keyword,
.db-article__section-body .token.atrule,
.db-article__section-body .token.selector,
.db-article__section-body .token.important {
    color: #7EB6FF;
}

.db-article__section-body .token.string,
.db-article__section-body .token.char,
.db-article__section-body .token.attr-value,
.db-article__section-body .token.regex,
.db-article__section-body .token.triple-quoted-string {
    color: #6FE0C0;
}

.db-article__section-body .token.number,
.db-article__section-body .token.boolean,
.db-article__section-body .token.constant,
.db-article__section-body .token.symbol,
.db-article__section-body .token.null {
    color: #F2C57C;
}

.db-article__section-body .token.function,
.db-article__section-body .token.function-name,
.db-article__section-body .token.class-name,
.db-article__section-body .token.builtin,
.db-article__section-body .token.decorator {
    color: #4FD4F2;
}

.db-article__section-body .token.operator,
.db-article__section-body .token.entity,
.db-article__section-body .token.url {
    color: #93A6C6;
}

.db-article__section-body .token.property,
.db-article__section-body .token.variable,
.db-article__section-body .token.environment,
.db-article__section-body .token.parameter,
.db-article__section-body .token.assign-left {
    color: #AFC6E8;
}

.db-article__section-body .token.bold { font-weight: 600; }
.db-article__section-body .token.italic { font-style: italic; }

/* Prism sets tabindex="0" on highlighted <pre> (keyboard-scrollable):
   give it the journal focus ring instead of the UA default. */
.db-article__section-body pre[class*="language-"]:focus-visible {
    outline: 2px solid #15C1E6;
    outline-offset: 2px;
}

/* Print: code flattens with the rest of the article. */
@media print {
    .db-article__section-body .token { color: #111111 !important; }
    .db-article__section-body .token.comment { color: #555555 !important; }
}
