/* ============================================================================
   wb-ui · code-block（代码块 + 复制按钮）
   1:1 移植自 aicss.dev CodeBlock.module.css（fetched 2026-08-13）。
   头部：语言标 + Copy 按钮（点击后 1.2s Copied 态）；主体：行号列 +
   32px 分隔线 + 逐行代码。data-state：running（流式中，尾行光标由宿主加）/
   ok / error（头部染 danger）/ empty（不渲染）。零裸色。
   ========================================================================== */

.wbui-code-block {
  border-radius: 12px;         /* 上游原值 */
  background: var(--wbui-surface);
  box-shadow: var(--wbui-cb-ring);
  padding: 12px 16px 16px;
  overflow: hidden;
  font-family: var(--wbui-sans);
}
.wbui-code-block[data-state="empty"] { display: none; }

.wbui-cb-head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: -12px -16px 0;
  padding: 10px 12px 10px 16px;
  background: transparent;
  border-bottom: 0.5px solid var(--wbui-border);
}
.wbui-cb-file { display: inline-flex; align-items: center; gap: 7px; }
.wbui-cb-icon { display: block; width: 15px; height: 15px; color: var(--wbui-ink-2); flex: none; }
.wbui-cb-lang { font-family: var(--wbui-mono); font-size: 12.5px; line-height: 1; color: var(--wbui-ink); }
.wbui-code-block[data-state="error"] .wbui-cb-lang { color: var(--wbui-danger); }

.wbui-cb-copy {
  margin-left: auto;
  margin-top: -7px;
  margin-bottom: -7px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  font-family: inherit;
  color: var(--wbui-ink-2);
  border: 0;
  background: none;
  padding: 3px 3px 3px 7px;
  border-radius: 7px;
  cursor: pointer;
}
.wbui-cb-copy:hover { color: var(--wbui-ink); background: var(--wbui-surface-2); }

.wbui-cb-body {
  position: relative;
  margin: 0 -16px -16px;
  padding: 10px 0;
  font-family: var(--wbui-mono);
  font-size: 12.5px;
  line-height: 20px;
}
.wbui-cb-body::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 32px;
  width: 0.5px;
  background: var(--wbui-border);
}
.wbui-cb-row { display: grid; grid-template-columns: 32px 1fr; }
.wbui-cb-ln {
  user-select: none;
  text-align: right;
  padding: 0 7px;
  color: var(--wbui-ink-2);
  font-size: 11px;
}
.wbui-cb-code {
  white-space: pre;
  padding: 0 12px 0 8px;
  color: var(--wbui-ink);
  overflow-x: auto;
  scrollbar-width: none;
}
.wbui-cb-code::-webkit-scrollbar { display: none; }
