/*
 * theme.css
 * 描述：此文件处理主题相关的特定样式，主要用于第三方库。
 * 内容：
 * 1. 自定义代码块 (pre, code) 的样式。
 * 2. highlight.js 的亮色和深色主题（基于 GitHub 风格）。
 */

/* ========================================================================= */
/* 1. 自定义代码块样式 (Custom Code Block Styling)                          */
/* ========================================================================= */
.post-content pre {
    position: relative;
    padding: 1.8rem;
    border-radius: var(--border-radius-medium);
    overflow-x: auto;
    margin: 1.8em 0;
    box-shadow: 0 4px 15px var(--color-shadow-medium);
    transition: background-color var(--transition-speed);
}

.post-content code {
    font-family: var(--font-mono);
    font-size: 0.88em; /* 优化：微调代码字号 */
}

/* 行内代码样式 */
.post-content :not(pre) > code {
    background-color: var(--accent-color-light);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    color: var(--accent-color);
    padding: 0.2em 0.4em;
    border-radius: var(--border-radius-small);
    font-size: 0.85em; /* 确保行内代码不会过大 */
}

/* 代码复制按钮 */
.copy-code-button {
    position: absolute;
    top: 12px;
    right: 12px;
    background: rgba(90, 90, 90, 0.6);
    color: #f0f0f0;
    border: 1px solid rgba(255, 255, 255, 0.2);
    padding: 5px 10px;
    border-radius: var(--border-radius-small);
    cursor: pointer;
    font-size: 0.75em;
    opacity: 0; /* 默认隐藏 */
    transition: opacity var(--transition-speed), background-color var(--transition-speed), color var(--transition-speed);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
.post-content pre:hover .copy-code-button {
    opacity: 1; /* 悬停时显示 */
}

[data-scheme="dark"] .copy-code-button {
    background: rgba(255, 255, 255, 0.15);
    color: white;
    border: 1px solid rgba(255, 255, 255, 0.25);
}

/* 代码块滚动条 */
.post-content pre::-webkit-scrollbar {
    height: 10px;
}
.post-content pre::-webkit-scrollbar-track {
    background: transparent;
}
.post-content pre::-webkit-scrollbar-thumb {
    background-color: var(--color-fg-subtle);
    border-radius: 10px;
    border: 3px solid rgba(var(--color-bg-base), 0.8);
}
.post-content pre::-webkit-scrollbar-thumb:hover {
    background-color: var(--accent-color);
}
.post-content pre {
    scrollbar-width: thin;
    scrollbar-color: var(--color-fg-subtle) transparent;
}

/* ========================================================================= */
/* 2. Highlight.js 主题 - 亮色 (GitHub 风格)                              */
/* ========================================================================= */
.hljs {
    display: block;
    overflow-x: auto;
    padding: 0; /* 外部 pre 元素已处理内边距 */
    color: #24292e;
    /* 优化：使用 CSS 变量动态设置背景色 */
    background: var(--hljs-background);
}
.hljs-comment, .hljs-quote { color: #6a737d; }
.hljs-keyword, .hljs-selector-tag, .hljs-subst { color: #d73a49; }
.hljs-number, .hljs-literal, .hljs-variable, .hljs-template-variable, .hljs-tag .hljs-attr { color: #005cc5; }
.hljs-string, .hljs-doctag { color: #032f62; }
.hljs-title, .hljs-section, .hljs-selector-id { color: #6f42c1; }
.hljs-subst { font-weight: normal; }
.hljs-type, .hljs-class .hljs-title { color: #24292e; font-weight: normal; }
.hljs-tag, .hljs-name, .hljs-attribute { color: #22863a; font-weight: normal; }
.hljs-regexp { color: #032f62; }
.hljs-symbol, .hljs-bullet { color: #005cc5; }
.hljs-built_in, .hljs-builtin-name { color: #005cc5; }
.hljs-meta { color: #d73a49; }
.hljs-deletion { background: #ffeef0; color: #d73a49; }
.hljs-addition { background: #f0fff4; color: #22863a; }
.hljs-emphasis { font-style: italic; }
.hljs-strong { font-weight: bold; }

/* ========================================================================= */
/* 3. Highlight.js 主题 - 深色 (GitHub Dark 风格)                         */
/* ========================================================================= */
[data-scheme="dark"] .hljs {
    color: #c9d1d9;
    background: var(--hljs-background);
}
[data-scheme="dark"] .hljs-comment, [data-scheme="dark"] .hljs-quote { color: #8b949e; }
[data-scheme="dark"] .hljs-keyword, [data-scheme="dark"] .hljs-selector-tag, [data-scheme="dark"] .hljs-subst { color: #ff7b72; }
[data-scheme="dark"] .hljs-number, [data-scheme="dark"] .hljs-literal, [data-scheme="dark"] .hljs-variable, [data-scheme="dark"] .hljs-template-variable, [data-scheme="dark"] .hljs-tag .hljs-attr { color: #79c0ff; }
[data-scheme="dark"] .hljs-string, [data-scheme="dark"] .hljs-doctag { color: #a5d6ff; }
[data-scheme="dark"] .hljs-title, [data-scheme="dark"] .hljs-section, [data-scheme="dark"] .hljs-selector-id { color: #d2a8ff; }
[data-scheme="dark"] .hljs-subst { font-weight: normal; }
[data-scheme="dark"] .hljs-type, [data-scheme="dark"] .hljs-class .hljs-title { color: #ffa657; }
[data-scheme="dark"] .hljs-tag, [data-scheme="dark"] .hljs-name, [data-scheme="dark"] .hljs-attribute { color: #7ee787; }
[data-scheme="dark"] .hljs-regexp { color: #a5d6ff; }
[data-scheme="dark"] .hljs-symbol, [data-scheme="dark"] .hljs-bullet { color: #f2cc60; }
[data-scheme="dark"] .hljs-built_in, [data-scheme="dark"] .hljs-builtin-name { color: #ffa657; }
[data-scheme="dark"] .hljs-meta { color: #ff7b72; }
[data-scheme="dark"] .hljs-deletion { background-color: #490202; color: #ff7b72; }
[data-scheme="dark"] .hljs-addition { background-color: #04260f; color: #7ee787; }
[data-scheme="dark"] .hljs-emphasis { font-style: italic; }
[data-scheme="dark"] .hljs-strong { font-weight: bold; }