/*
 * Prism theme — Specy palette (dark code block, coral keywords)
 * Layers on top of the existing `.article-section pre` styling in reference.css
 * which already sets background #253040 / border #3a4a5c / padding.
 */

code[class*="language-"],
pre[class*="language-"] {
    color: #e6edf3;
    background: none;
    font-family: 'Fira Code', 'IBM Plex Mono', monospace;
    font-size: 0.875rem;
    line-height: 1.6;
    text-align: left;
    white-space: pre;
    word-spacing: normal;
    word-break: normal;
    tab-size: 2;
    hyphens: none;
}

pre[class*="language-"] {
    background: #253040;
    border: 1px solid #3a4a5c;
    border-radius: 6px;
    padding: 1rem 1.25rem;
    overflow-x: auto;
    margin: 1.25rem 0;
}

:not(pre) > code[class*="language-"] {
    background: #eceae4;
    color: #0f1f34;
    padding: 0.1em 0.35em;
    border-radius: 4px;
    white-space: normal;
}

.token.comment,
.token.prolog,
.token.doctype,
.token.cdata           { color: #7a8899; font-style: italic; }

.token.string,
.token.attr-value      { color: #f4b66b; }

.token.keyword         { color: #E46863; font-weight: 500; }

.token.constant        { color: #d9a35c; }
.token.boolean         { color: #d9a35c; }

.token.number          { color: #b5c5d6; }

.token.operator        { color: #9aa5b1; }
.token.punctuation     { color: #9aa5b1; }

.token.date            { color: #a5d6a7; }

.token.requirement-id  { color: #ffb74d; font-weight: 500; }

.token.type-name,
.token.class-name      { color: #80cbc4; }

.token.type            { color: #81c784; }

.token.context-pattern { color: #ffd54f; font-weight: 500; }

.token.builtin,
.token.function        { color: #ba68c8; }

.token.cardinality     { color: #b5c5d6; }

.token.constraint      { color: #ba68c8; }

.token.expression-op   { color: #E46863; }

.token.property        { color: #e6edf3; }

.token.tag,
.token.selector,
.token.atrule          { color: #E46863; }

.token.important,
.token.bold            { font-weight: 700; }
.token.italic          { font-style: italic; }
