/* macOS VS Code 风格暗黑主题样式 */
:root {
    --code-bg: #1e1e1e;
    --code-border: #3e3e3e;
    --code-text: #d4d4d4;
    --code-keyword: #569cd6;
    --code-string: #ce9178;
    --code-comment: #6a9955;
    --code-function: #dcdcaa;
    --code-number: #b5cea8;
    --code-operator: #d4d4d4;
    --code-property: #9cdcfe;
    --code-variable: #9cdcfe;
}

/* 代码块容器样式 */
pre[class*="language-"] {
    background: var(--code-bg) !important;
    border: 1px solid var(--code-border) !important;
    border-radius: 8px !important;
    padding: 16px !important;
    margin: 16px 0 !important;
    font-family: 'SF Mono', 'Monaco', 'Inconsolata', 'Roboto Mono', 'Droid Sans Mono', 'Liberation Mono', 'Menlo', 'Courier', monospace !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    overflow-x: auto !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
    position: relative !important;
    max-width: 70% !important;
    box-sizing: border-box !important;
}

/* 代码块顶部装饰条 */
pre[class*="language-"]::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 32px !important;
    background: #2d2d2d !important;
    border-radius: 8px 8px 0 0 !important;
    border-bottom: 1px solid #3e3e3e !important;
}

/* macOS窗口控制按钮 */
pre[class*="language-"]::after {
    content: '' !important;
    position: absolute !important;
    top: 12px !important;
    left: 16px !important;
    width: 12px !important;
    height: 12px !important;
    background: #ff5f57 !important;
    border-radius: 50% !important;
    box-shadow: 20px 0 0 #ffbd2e, 40px 0 0 #28ca42 !important;
    z-index: 1 !important;
}

/* 代码内容区域 */
pre[class*="language-"] code {
    background: transparent !important;
    color: var(--code-text) !important;
    text-shadow: none !important;
    padding-top: 40px !important;
    display: block !important;
    position: relative !important;
    z-index: 2 !important;
}

/* 行内代码样式 */
:not(pre) > code[class*="language-"],
:not(pre) > code {
    background: #2d2d2d !important;
    color: var(--code-string) !important;
    padding: 2px 6px !important;
    border-radius: 4px !important;
    font-family: 'SF Mono', 'Monaco', 'Inconsolata', 'Roboto Mono', monospace !important;
    font-size: 0.9em !important;
    border: 1px solid #3e3e3e !important;
}

/* 语法高亮颜色调整 */
.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
    color: var(--code-comment) !important;
    font-style: italic !important;
}

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

.token.string,
.token.attr-value {
    color: var(--code-string) !important;
}

.token.punctuation,
.token.operator {
    color: var(--code-operator) !important;
}

.token.entity,
.token.url,
.token.symbol,
.token.number,
.token.boolean,
.token.variable,
.token.constant,
.token.property,
.token.regex,
.token.inserted {
    color: var(--code-number) !important;
}

.token.atrule,
.token.keyword,
.token.attr-name,
.language-autohotkey .token.selector {
    color: var(--code-keyword) !important;
    font-weight: 500 !important;
}

.token.function,
.token.deleted,
.language-autohotkey .token.tag {
    color: var(--code-function) !important;
}

.token.tag,
.token.selector,
.language-autohotkey .token.keyword {
    color: var(--code-property) !important;
}

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

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

/* 滚动条样式 */
pre[class*="language-"]::-webkit-scrollbar {
    width: 8px !important;
    height: 8px !important;
}

pre[class*="language-"]::-webkit-scrollbar-track {
    background: #2d2d2d !important;
    border-radius: 4px !important;
}

pre[class*="language-"]::-webkit-scrollbar-thumb {
    background: #4a4a4a !important;
    border-radius: 4px !important;
    border: 2px solid #2d2d2d !important;
}

pre[class*="language-"]::-webkit-scrollbar-thumb:hover {
    background: #5a5a5a !important;
}

/* 响应式设计 */
@media (max-width: 768px) {
    pre[class*="language-"] {
        font-size: 12px !important;
        padding: 12px !important;
        margin: 12px 0 !important;
    }
    
    pre[class*="language-"]::before {
        height: 28px !important;
    }
    
    pre[class*="language-"]::after {
        top: 10px !important;
        left: 12px !important;
        width: 10px !important;
        height: 10px !important;
    }
}