/* vivibit.net: Cocoon 標準 highlight.js の拡張（移行したコード専用） */
.entry-content .vivibit-code-figure {
  max-width: 100%;
  margin: 1.4em 0;
}
.entry-content .vivibit-code-figure figcaption {
  margin: 0;
  padding: 0.45em 0.9em;
  border: 1px solid #d4d8df;
  border-bottom: 0;
  border-radius: 5px 5px 0 0;
  background: #edf0f4;
  color: #303741;
  font-size: 0.85em;
  font-weight: 600;
  overflow-wrap: anywhere;
}
.entry-content .vivibit-code-figure pre.vivibit-code {
  margin-top: 0;
  border-radius: 0 0 5px 5px;
}
.entry-content pre.vivibit-code {
  position: relative;
  white-space: pre;
  overflow-x: auto;
  tab-size: 4;
}
/* コード本体を帯より上に配置。highlight.jsのspan（着色）には触らない */
.entry-content pre.vivibit-code > code {
  display: block;
  position: relative;
  z-index: 1;
  padding: 0;
  margin: 0;
  border: 0;
  background: transparent;
  font: inherit;
  white-space: pre;
}
/* Cocoon の既定1始まりのCSS疑似要素だけ、開始行指定がある場合に上書き */
.is-code-row-number-enable pre.vivibit-code.hljs.vivibit-code-custom-numbers::before {
  content: var(--vivibit-code-numbers) !important;
  white-space: pre;
  z-index: 3;
}
/* 指定行の色付け。コード文字色と構文ハイライトには干渉しない */
.entry-content pre.vivibit-code > .vivibit-code-highlight-band {
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  padding: 0;
  margin: 0;
  border: 0;
  background: rgba(255, 188, 54, 0.20);
  pointer-events: none;
  z-index: 0;
}
