/*
 * One Dark 风格代码高亮主题（深灰蓝底，对齐截图 Lobster AI 效果）
 * 与 highlight.js 官方 one-dark 配色保持一致，并扩展代码块包装器样式
 */

/* ========== highlight.js 基础着色 ========== */
pre code.hljs{display:block;overflow-x:auto;padding:16px 16px 16px 4px;background:transparent;font-family:ui-monospace,SFMono-Regular,"JetBrains Mono","Cascadia Code",Consolas,Menlo,monospace;font-size:13.5px;line-height:1.65;color:#abb2bf}
code.hljs{padding:3px 5px;border-radius:4px;background:#282c34;color:#e06c75}
.hljs-comment,.hljs-quote{color:#5c6370;font-style:italic}
.hljs-doctag,.hljs-keyword,.hljs-formula{color:#c678dd}
.hljs-section,.hljs-name,.hljs-selector-tag,.hljs-deletion,.hljs-subst{color:#e06c75}
.hljs-literal{color:#56b6c2}
.hljs-string,.hljs-regexp,.hljs-addition,.hljs-attribute,.hljs-meta-string{color:#98c379}
.hljs-built_in,.hljs-class .hljs-title{color:#e5c07b}
.hljs-attr,.hljs-variable,.hljs-template-variable,.hljs-type,.hljs-selector-class,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-number{color:#d19a66}
.hljs-symbol,.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-title{color:#61aeee}
.hljs-emphasis{font-style:italic}
.hljs-strong{font-weight:700}
.hljs-link{text-decoration:underline}

/* ========== 代码块外层包装器（Fence 围栏风格 + 行号 + 语言标签 + 复制按钮） ========== */
.code-block-fence{
  position:relative;margin:18px 0;border-radius:10px;background:#282c34;
  box-shadow:0 2px 14px rgba(0,0,0,.15);overflow:hidden;color:#abb2bf;
  font-family:ui-monospace,SFMono-Regular,"JetBrains Mono","Cascadia Code",Consolas,Menlo,monospace;
  padding-top:6px;
}
/* 顶部/底部围栏符号（````）默认隐藏：用户需要清爽的代码块界面
   如果需要显示，把下面两个 display:none 删除即可 */
.code-block-fence::before{
  display:none !important;
  content:"```";
  padding:8px 16px 2px;
  font-size:12px;
  color:#4b5263;
  letter-spacing:.5px;
  user-select:none;
  font-family:inherit;
}
.code-block-fence[data-language]::before{
  display:none !important;
  content:"```" attr(data-language);
  color:#7e8492;
  font-weight:500;
}
.code-block-fence::after{
  display:none !important;
  content:"```";
  padding:2px 16px 8px;
  font-size:12px;
  color:#4b5263;
  letter-spacing:.5px;
  user-select:none;
}

/* 代码头部（右上角 语言胶囊 + 复制按钮） */
.code-block-fence .code-block-toolbar{
  position:absolute;top:10px;right:12px;display:flex;align-items:center;gap:8px;z-index:2;
}
.code-block-fence .cb-lang-chip{
  display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:999px;
  font-size:11px;color:#fff;background:rgba(220,38,38,.85);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  font-weight:600;letter-spacing:.3px;user-select:none;
}
.code-block-fence[data-language="cpp"] .cb-lang-chip,
.code-block-fence[data-language="c"]   .cb-lang-chip{background:rgba(220,38,38,.85)}
.code-block-fence[data-language="javascript"] .cb-lang-chip,
.code-block-fence[data-language="js"]         .cb-lang-chip{background:rgba(234,179,8,.9);color:#3f2d01}
.code-block-fence[data-language="typescript"] .cb-lang-chip,
.code-block-fence[data-language="ts"]         .cb-lang-chip{background:rgba(37,99,235,.88)}
.code-block-fence[data-language="python"]     .cb-lang-chip,
.code-block-fence[data-language="py"]         .cb-lang-chip{background:rgba(53,114,58,.92)}
.code-block-fence[data-language="java"]       .cb-lang-chip{background:rgba(220,38,38,.85)}
.code-block-fence[data-language="go"]         .cb-lang-chip{background:rgba(5,150,105,.9)}
.code-block-fence[data-language="html"]       .cb-lang-chip{background:rgba(249,115,22,.9)}
.code-block-fence[data-language="css"]        .cb-lang-chip{background:rgba(59,130,246,.9)}
.code-block-fence[data-language="json"]       .cb-lang-chip{background:rgba(132,204,22,.9);color:#1e293b}
.code-block-fence[data-language="sql"]        .cb-lang-chip{background:rgba(99,102,241,.9)}
.code-block-fence[data-language="xml"]        .cb-lang-chip,
.code-block-fence[data-language="shell"]      .cb-lang-chip,
.code-block-fence[data-language="bash"]       .cb-lang-chip{background:rgba(75,85,99,.9)}

.code-block-fence .cb-copy-btn{
  border:none;background:rgba(255,255,255,.08);color:#d1d5db;cursor:pointer;
  font-size:12px;padding:4px 10px;border-radius:6px;display:inline-flex;align-items:center;gap:4px;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;transition:.15s;
}
.code-block-fence .cb-copy-btn:hover{background:rgba(255,255,255,.18);color:#fff}
.code-block-fence .cb-copy-btn.copied{background:rgba(34,197,94,.8);color:#fff}

/* 代码区：行号 + 源码 两列布局 */
.code-block-fence .code-block-body{
  display:flex;max-height:560px;overflow:auto;margin:0 0 4px;
}
.code-block-fence .cb-line-numbers{
  flex:0 0 auto;padding:0 12px 0 16px;text-align:right;color:#4b5263;user-select:none;
  border-right:1px solid rgba(255,255,255,.06);font-size:13.5px;line-height:1.65;min-width:44px;
}
.code-block-fence .cb-line-numbers span{display:block}
.code-block-fence .cb-code-col{flex:1 1 auto;min-width:0;overflow-x:auto;padding:0 16px 0 14px}
.code-block-fence .cb-code-col pre{margin:0;background:transparent !important;padding:0 !important}
.code-block-fence .cb-code-col pre code{padding:0 !important;background:transparent !important}
/* 编辑态下 code 可直接编辑 */
.code-block-fence[contenteditable="true"] .cb-code-col code,
.code-block-fence .cb-code-col code[contenteditable="true"]{
  outline:none;
}
