/* Nabegheha V2 — Phase 130 V209
 * Theme-owned code blocks. HCB is authoring-only on the frontend: public HCB
 * markup is replaced server-side, so plugin layout/theme CSS cannot repaint it.
 */

.nb-code-block,
.nb-global-code-shell,
.nb-learning-lesson-code-shell {
  --nb-code-bg:#0a0d12;
  --nb-code-bg-top:#0f131a;
  --nb-code-border:#262c36;
  --nb-code-fg:#e3e8ef;
  --nb-code-muted:#7d8795;
  position:relative;
  display:block;
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  min-width:0;
  margin:26px 0;
  padding:0;
  overflow:visible;
  direction:ltr;
  background:transparent;
}

.nb-code-block > .nb-code-block__pre,
.nb-global-code-shell > pre,
.nb-learning-lesson-code-shell > pre,
:is(.nb-article-content,.nb-learning-content,.nb-learning-hub__intro,.nb-learning-lesson__content,.nb-guide-content,.nb-product-page .nb-overview-content,.entry-content) > pre,
:is(.nb-article-content,.nb-learning-content,.nb-learning-hub__intro,.nb-learning-lesson__content,.nb-guide-content,.nb-product-page .nb-overview-content,.entry-content) pre.wp-block-code {
  position:relative!important;
  display:block!important;
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:16px 58px 16px 18px!important;
  overflow:visible!important;
  overflow-x:hidden!important;
  overflow-y:visible!important;
  color:#e3e8ef!important;
  font-family:"NabeghehaPersianCode",var(--font-mono)!important;
  font-size:13px!important;
  line-height:1.78!important;
  letter-spacing:.02em!important;
  text-align:left!important;
  direction:ltr!important;
  unicode-bidi:plaintext!important;
  white-space:pre-wrap!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  word-spacing:normal!important;
  tab-size:4!important;
  hyphens:none!important;
  border:1px solid #262c36!important;
  border-radius:12px!important;
  background:#0a0d12!important;
  background-color:#0a0d12!important;
  background-image:linear-gradient(180deg,#0f131a 0%,#0a0d12 100%)!important;
  text-shadow:none!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 12px 30px rgba(0,0,0,.15)!important;
  scrollbar-width:none!important;
}

.nb-code-block > .nb-code-block__pre::-webkit-scrollbar,
.nb-global-code-shell > pre::-webkit-scrollbar,
.nb-learning-lesson-code-shell > pre::-webkit-scrollbar {display:none!important;width:0!important;height:0!important}

.nb-code-block .nb-code-block__code,
.nb-global-code-shell > pre > code,
.nb-learning-lesson-code-shell > pre > code {
  display:block!important;
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  color:inherit!important;
  font:inherit!important;
  line-height:inherit!important;
  text-align:left!important;
  direction:ltr!important;
  unicode-bidi:plaintext!important;
  white-space:pre-wrap!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  word-spacing:normal!important;
  tab-size:4!important;
  hyphens:none!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  text-shadow:none!important;
}

.nb-code-block :is(code,span),
.nb-global-code-shell :is(code,span),
.nb-learning-lesson-code-shell :is(code,span){box-sizing:border-box;background:transparent}

.nb-code-copy,
.nb-learning-lesson-code-copy,
.nb-guide-copy-code,
.nb-global-code-copy {
  position:absolute!important;
  z-index:8!important;
  top:10px!important;
  right:10px!important;
  left:auto!important;
  width:auto!important;
  min-width:40px!important;
  height:22px!important;
  min-height:22px!important;
  margin:0!important;
  padding:0 6px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  color:#9da7b4!important;
  font:750 8px/1 var(--font-sans)!important;
  border:1px solid #303743!important;
  border-radius:6px!important;
  background:#12171f!important;
  box-shadow:none!important;
  cursor:pointer;
}
.nb-code-copy:hover,.nb-learning-lesson-code-copy:hover,.nb-guide-copy-code:hover,.nb-global-code-copy:hover{color:#d8d1ff!important;border-color:#6551c2!important}
.nb-code-copy.is-copied,.nb-learning-lesson-code-copy.is-copied,.nb-guide-copy-code.is-copied,.nb-global-code-copy.is-copied{color:#7bdd84!important;border-color:rgba(12,162,28,.5)!important}
.nb-code-copy svg,.nb-learning-lesson-code-copy svg,.nb-guide-copy-code svg,.nb-global-code-copy svg{width:10px!important;height:10px!important;flex:0 0 auto}

/* Prism token palette only. No Prism/HCB layout class is used publicly. */
.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#8b9588!important}
.token.punctuation{color:#d8dee9!important}
.token.property,.token.tag,.token.constant,.token.symbol,.token.deleted,.token.important{color:#ff5c8a!important}
.token.boolean,.token.number{color:#b59cff!important}
.token.selector,.token.attr-name,.token.char,.token.builtin,.token.inserted,.token.class-name{color:#a8e05f!important}
.token.operator,.token.entity,.token.url,.token.variable{color:#e4e8ee!important}
.token.atrule,.token.attr-value,.token.function,.token.string{color:#eadc79!important}
.token.function,.token.keyword.def{color:#6ad7ff!important}
.token.keyword,.token.operator{color:#ff4f86!important}
.token.regex,.token.keyword.this{color:#ffab5c!important}
.token.delimiter:not(.symbol){color:#76a7ff!important}
.token.bold{font-weight:800!important}
.token.italic,.token.builtin,.token.keyword.def{font-style:italic}

/* One clean purple rail on learning H2s. */
.nb-learning-lesson__content h2,
.nb-learning-content h2{border-image:none!important;background-image:none!important}
.nb-learning-lesson__content h2::before,
.nb-learning-lesson__content h2::after,
.nb-learning-content h2::before,
.nb-learning-content h2::after{content:none!important;display:none!important}
.nb-learning-lesson__content h2,
.nb-learning-content h2{border-inline-start:2px solid #7657e8!important;padding-inline-start:16px!important}

@media(max-width:640px){
  .nb-code-block,.nb-global-code-shell,.nb-learning-lesson-code-shell{margin-block:21px}
  .nb-code-block > .nb-code-block__pre,
  .nb-global-code-shell > pre,
  .nb-learning-lesson-code-shell > pre{
    padding:15px 52px 15px 13px!important;
    border-radius:10px!important;
    font-size:11.5px!important;
    line-height:1.72!important;
  }
}
