/* 
 * Warm Light Stone Prism Theme
 * Tailored for Martin Eberlein's blog to match the Anthropic / Paper aesthetic.
 */

pre[class*="language-"],
code[class*="language-"] {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace !important;
    font-size: 0.875rem !important;
    line-height: 1.65 !important;
    text-align: left !important;
    white-space: pre !important;
    word-spacing: normal !important;
    word-break: normal !important;
    word-wrap: normal !important;
    tab-size: 4 !important;
    hyphens: none !important;
    text-shadow: none !important;
    color: #2A2824 !important; /* stone-800 */
}

pre[class*="language-"] {
    background: #F5F3ED !important; /* warm stone-100 */
    border: 1px solid #E7E5DE !important; /* stone-200 */
    border-radius: 0.875rem !important;
    padding: 1.25rem 1.35rem !important;
    margin: 1.5rem 0 !important;
    overflow: auto !important;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.02) !important;
}

/* Tokens Syntax Palette - Warm Paper Aesthetic */

.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
    color: #8C887E !important; /* muted stone */
    font-style: italic !important;
}

.token.punctuation {
    color: #5A564F !important; /* stone-600 */
}

.token.namespace {
    opacity: 0.7 !important;
}

.token.property,
.token.tag,
.token.boolean,
.token.number,
.token.constant,
.token.symbol,
.token.deleted {
    color: #B45309 !important; /* warm amber / rust */
}

.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
    color: #2D6A4F !important; /* warm pine green */
}

.token.operator,
.token.entity,
.token.url {
    color: #A64420 !important; /* terracotta-700 */
}

.token.atrule,
.token.attr-value,
.token.keyword {
    color: #C85A32 !important; /* terracotta-600 */
    font-weight: 600 !important;
}

.token.function,
.token.class-name {
    color: #1D4ED8 !important; /* calm indigo-blue */
    font-weight: 500 !important;
}

.token.regex,
.token.important,
.token.variable {
    color: #7C3AED !important; /* muted purple */
}

.token.important,
.token.bold {
    font-weight: bold !important;
}

.token.italic {
    font-style: italic !important;
}

/* Toolbar and Copy Button */
div.code-toolbar {
    position: relative;
    margin: 1.5rem 0;
}

div.code-toolbar > pre[class*="language-"] {
    margin: 0 !important;
}

div.code-toolbar > .toolbar {
    top: 0.75rem !important;
    right: 0.75rem !important;
    opacity: 0.8 !important;
    transition: opacity 0.2s ease !important;
}

div.code-toolbar:hover > .toolbar {
    opacity: 1 !important;
}

div.code-toolbar > .toolbar button {
    background: #FFFFFF !important;
    color: #5A564F !important;
    border: 1px solid #D5D2C9 !important;
    border-radius: 0.5rem !important;
    padding: 0.25rem 0.65rem !important;
    font-size: 0.75rem !important;
    font-weight: 500 !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
    transition: all 0.15s ease !important;
    cursor: pointer !important;
}

div.code-toolbar > .toolbar button:hover {
    background: #FDF6F3 !important;
    color: #A64420 !important;
    border-color: #DE8565 !important;
}
