/* Synthwave '84 Prism Theme */

/* Keywords: if, else, return, function, const, let, var, etc. */
.token.keyword,
.token.tag,
.token.bold {
    color: #fede5d;
    font-style: italic;
}

/* Strings */
.token.string,
.token.attr-value {
    color: #ff8b39;
}

/* Functions and class names */
.token.function,
.token.class-name {
    color: #36f9f6;
    text-shadow: none;
}

/* Numbers and booleans */
.token.number,
.token.boolean {
    color: #ff7edb;
    text-shadow: none;
}

/* Comments */
.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
    color: #848bbd;
    font-style: italic;
}

/* Operators: =, +, -, *, etc. */
.token.operator,
.token.entity,
.token.url {
    color: #36f9f6;
}

/* Punctuation: brackets, semicolons, commas */
.token.punctuation {
    color: #e7d5ff;
}

/* Properties and attributes */
.token.property,
.token.constant,
.token.symbol,
.token.deleted {
    color: #ff7edb;
}

/* Selectors, attr names, inserted */
.token.selector,
.token.attr-name,
.token.char,
.token.builtin,
.token.inserted {
    color: #72f1b8;
    text-shadow: none;
}

/* Variables */
.token.variable {
    color: #f0e7ff;
}

/* Regex and important */
.token.regex,
.token.important {
    color: #fede5d;
}

/* YAML/frontmatter specific */
.token.atrule {
    color: #fede5d;
    font-style: italic;
}

/* Template strings */
.token.template-string {
    color: #ff8b39;
}

/* Namespace */
.token.namespace {
    opacity: 0.8;
}

/* Templater delimiters: <%* and %> */
.token.templater-delimiter {
    color: #36f9f6;
    font-weight: bold;
    text-shadow: none;
}

/* Templater block background highlight */
.token.templater-block {
    background: rgba(54, 249, 246, 0.05);
    border-radius: 3px;
    padding: 0 2px;
}

/* Template variables {{date:...}} */
.token.template-var {
    color: #72f1b8;
    text-shadow: none;
}

/* YAML front-matter delimiters --- */
.token.yaml-delimiter {
    color: #848bbd;
}

/* Language label on code blocks */
pre[class*="language-"]::before {
    content: attr(class);
    position: absolute;
    top: 0;
    right: 0;
    padding: 0.2rem 0.6rem;
    font-size: 0.7rem;
    font-family: 'Fira Code', 'JetBrains Mono', Consolas, monospace;
    color: #848bbd;
    background: rgba(52, 41, 79, 0.8);
    border-radius: 0 8px 0 4px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Clean up the language label to show just the language */
pre.language-javascript::before { content: 'js'; }
pre.language-js::before { content: 'js'; }
pre.language-typescript::before { content: 'ts'; }
pre.language-ts::before { content: 'ts'; }
pre.language-html::before { content: 'html'; }
pre.language-css::before { content: 'css'; }
pre.language-json::before { content: 'json'; }
pre.language-bash::before { content: 'bash'; }
pre.language-shell::before { content: 'shell'; }
pre.language-yaml::before { content: 'yaml'; }
pre.language-yml::before { content: 'yml'; }
pre.language-markdown::before { content: 'md'; }
pre.language-md::before { content: 'md'; }
pre.language-python::before { content: 'py'; }
pre.language-py::before { content: 'py'; }
pre.language-ruby::before { content: 'ruby'; }
pre.language-go::before { content: 'go'; }
pre.language-rust::before { content: 'rust'; }
pre.language-sql::before { content: 'sql'; }
pre.language-templater::before,
pre.language-obsidian-templater::before { content: 'templater'; }
pre.language-text::before,
pre:not([class*="language-"])::before { content: none; }