.jb-content .jb-code-panel {
  --jb-code-gutter: 18px;
  position: relative;
  margin: 24px 0;
  overflow: hidden;
  border: 1px solid var(--jb-code-border, #dfe5ec);
  border-radius: 9px;
  background: var(--jb-code-bg, #f8fafc);
  color: var(--jb-code-text, #243247);
  font-size: 14px;
}
.jb-content .jb-code-caption { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 14px; border-bottom: 1px solid var(--jb-code-border, #dfe5ec); background: var(--jb-code-caption-bg, #f0f4f8); font-size: 12px; line-height: 1.6; }
.jb-code-heading { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; min-width: 0; }
.jb-code-filename { color: var(--jb-code-heading, #334155); font-weight: 600; overflow-wrap: anywhere; }
.jb-code-language { color: var(--jb-code-muted, #64748b); }
.jb-code-actions { display: flex; flex-shrink: 0; gap: 6px; }
.jb-content .jb-code-actions button { margin: 0; padding: 5px 9px; border: 1px solid var(--jb-code-button-border, #cbd5e1); border-radius: 5px; background: var(--jb-code-button-bg, #fff); color: var(--jb-code-button-text, #475569); font-family: inherit; font-size: 12px; font-weight: 400; line-height: 1.5; cursor: pointer; }
.jb-content .jb-code-actions button:hover, .jb-content .jb-code-actions button[aria-pressed="true"] { border-color: var(--jb-code-active-border, #9dbddd); background: var(--jb-code-active-bg, #eaf3fc); color: var(--jb-code-active-text, #1565c0); }
.jb-content .jb-code-actions button:focus-visible, .jb-content .jb-code-panel pre:focus-visible { outline: 2px solid var(--jb-accent, #1976d2); outline-offset: -2px; }
.jb-content .jb-code-panel pre { margin: 0; padding: 16px 0; border: 0; border-radius: 0; background: transparent; color: inherit; text-shadow: var(--jb-code-text-shadow, none); text-align: left; direction: ltr; font-size: 14px; line-height: 1.7; tab-size: 2; white-space: pre; overflow: auto; overflow-wrap: normal; word-break: normal; }
.jb-content .jb-code-panel pre > code { display: block; width: max-content; min-width: 100%; margin: 0; padding: 0; border: 0; background: transparent; color: inherit; font-family: inherit; font-size: inherit; font-weight: 400; line-height: inherit; white-space: inherit; overflow-wrap: inherit; }
.jb-code-line { position: relative; display: block; min-height: 1.7em; padding-inline: var(--jb-code-gutter) 18px; }
.jb-code-panel.has-line-numbers { --jb-code-gutter: 4.7em; }
.jb-code-panel.has-line-numbers .jb-code-line::before { position: absolute; inset-inline-start: 12px; width: 2.8em; color: var(--jb-code-line-number, #94a3b8); text-shadow: none; font-variant-numeric: tabular-nums; text-align: right; content: attr(data-line-number); user-select: none; }
.jb-code-line.is-highlighted { background: var(--jb-code-highlight-bg, #fff4ce); box-shadow: inset 3px 0 var(--jb-code-highlight-edge, #e5b94e); }
.jb-content .jb-code-panel.is-wrapped pre { white-space: pre-wrap; overflow-wrap: anywhere; }
.jb-content .jb-code-panel.is-wrapped pre > code { width: 100%; min-width: 0; }
.jb-content .jb-code-panel.is-large pre { padding-inline: 18px; }
.jb-code-status { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; border: 0; clip-path: inset(50%); white-space: nowrap; }
.jb-code-status.is-error { right: 12px; bottom: 12px; box-sizing: border-box; width: auto; max-width: calc(100% - 24px); height: auto; margin: 0; padding: 8px 12px; border: 1px solid #fecaca; border-radius: 6px; background: #fff1f2; color: #991b1b; font-size: 12px; line-height: 1.6; clip-path: none; white-space: normal; pointer-events: none; }
.jb-code-panel:where([data-code-theme="jb-light"]) .token.comment, .jb-code-panel:where([data-code-theme="jb-light"]) .token.prolog, .jb-code-panel:where([data-code-theme="jb-light"]) .token.doctype, .jb-code-panel:where([data-code-theme="jb-light"]) .token.cdata { color: #64748b; font-style: italic; }
.jb-code-panel:where([data-code-theme="jb-light"]) .token.punctuation { color: #475569; }
.jb-code-panel:where([data-code-theme="jb-light"]) .token.property, .jb-code-panel:where([data-code-theme="jb-light"]) .token.tag, .jb-code-panel:where([data-code-theme="jb-light"]) .token.constant, .jb-code-panel:where([data-code-theme="jb-light"]) .token.symbol { color: #a32943; }
.jb-code-panel:where([data-code-theme="jb-light"]) .token.boolean, .jb-code-panel:where([data-code-theme="jb-light"]) .token.number { color: #925000; }
.jb-code-panel:where([data-code-theme="jb-light"]) .token.selector, .jb-code-panel:where([data-code-theme="jb-light"]) .token.attr-name, .jb-code-panel:where([data-code-theme="jb-light"]) .token.string, .jb-code-panel:where([data-code-theme="jb-light"]) .token.char, .jb-code-panel:where([data-code-theme="jb-light"]) .token.builtin { color: #18704a; }
.jb-code-panel:where([data-code-theme="jb-light"]) .token.operator, .jb-code-panel:where([data-code-theme="jb-light"]) .token.entity, .jb-code-panel:where([data-code-theme="jb-light"]) .token.url { color: #8c4b18; }
.jb-code-panel:where([data-code-theme="jb-light"]) .token.atrule, .jb-code-panel:where([data-code-theme="jb-light"]) .token.attr-value, .jb-code-panel:where([data-code-theme="jb-light"]) .token.keyword { color: #7141a6; }
.jb-code-panel:where([data-code-theme="jb-light"]) .token.function, .jb-code-panel:where([data-code-theme="jb-light"]) .token.class-name { color: #145a9f; }
.jb-code-panel:where([data-code-theme="jb-light"]) .token.regex, .jb-code-panel:where([data-code-theme="jb-light"]) .token.important, .jb-code-panel:where([data-code-theme="jb-light"]) .token.variable { color: #a44214; }
.jb-code-panel:where([data-code-theme="jb-light"]) .token.bold, .jb-code-panel:where([data-code-theme="jb-light"]) .token.important { font-weight: 600; }
.jb-code-panel:where([data-code-theme="jb-light"]) .token.italic { font-style: italic; }
@media (max-width: 479px) {
  .jb-content .jb-code-caption { align-items: flex-start; flex-direction: column; gap: 8px; padding: 10px 12px; }
  .jb-code-actions { align-self: flex-end; }
  .jb-content .jb-code-panel pre { font-size: 13px; }
}
