/* Nelx Article Gutenberg toolkit — editor + frontend */
.article-callout,.nsc-editor-callout{--callout-bg:#f0f9ff;--callout-border:#bae6fd;--callout-title:#0f2c72;--callout-text:#526273;--callout-icon:#1e3a8a;--callout-icon-bg:#fff;--callout-radius:18px;--callout-py:20px;--callout-px:22px;--callout-icon-size:17px;margin:30px 0;padding:var(--callout-py) var(--callout-px);border-radius:var(--callout-radius);border:1px solid var(--callout-border);background:var(--callout-bg);display:grid;grid-template-columns:36px minmax(0,1fr);gap:14px;box-sizing:border-box}
.article-callout.info,.nsc-editor-callout.info{--callout-bg:#f0f9ff;--callout-border:#bae6fd;--callout-title:#0f2c72;--callout-text:#526273;--callout-icon:#1e3a8a}
.article-callout.warning,.nsc-editor-callout.warning{--callout-bg:#fff7ed;--callout-border:#fed7aa;--callout-title:#9a3412;--callout-text:#7c2d12;--callout-icon:#c2410c}
.article-callout.success,.nsc-editor-callout.success{--callout-bg:#ecfdf5;--callout-border:#a7f3d0;--callout-title:#065f46;--callout-text:#166534;--callout-icon:#047857}
.article-callout.no-icon,.nsc-editor-callout.no-icon{grid-template-columns:1fr}
.article-callout .callout-icon,.nsc-editor-callout .callout-icon{width:36px;height:36px;border-radius:10px;background:var(--callout-icon-bg);color:var(--callout-icon);display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--callout-border) 68%,transparent);box-sizing:border-box}
.article-callout .callout-icon svg{width:var(--callout-icon-size);height:var(--callout-icon-size);display:block}
.article-callout strong,.nsc-editor-callout strong{display:block;color:var(--callout-title);font-size:13px;line-height:1.4;margin:0 0 3px}.article-callout p,.nsc-editor-callout p{margin:0;color:var(--callout-text);font-size:13px;line-height:1.65}
.nsc-editor-callout{margin:0}.nsc-editor-callout .components-base-control{margin-bottom:10px}.nsc-editor-callout .components-text-control__input,.nsc-editor-callout textarea{background:rgba(255,255,255,.72)}

/* Syntax-highlighted article code — all presentation is owned by the Gutenberg block. */
.article-code,.nsc-editor-code{--code-bg:#0f172a;--code-panel:#111c33;--code-border:#243b67;--code-text:#dbeafe;--code-muted:#94a3b8;--code-gutter:#0b1323;--code-keyword:#c4b5fd;--code-string:#86efac;--code-number:#fbbf24;--code-comment:#64748b;--code-variable:#67e8f9;--code-function:#93c5fd;--code-property:#f9a8d4;--code-tag:#fb7185;--code-attr:#fbbf24;--code-flag:#67e8f9;--code-wrap-mt:30px;--code-wrap-mr:0px;--code-wrap-mb:30px;--code-wrap-ml:0px;--code-wrap-py:0px;--code-wrap-px:0px;--code-wrapper-bg:var(--code-bg);--code-wrapper-border:var(--code-border);--code-wrapper-border-w:1px;--code-radius:18px;--code-header-py:0px;--code-header-px:16px;--code-header-bg:var(--code-panel);--code-header-border:var(--code-border);--code-header-border-w:1px;--code-filename:var(--code-muted);--code-copy-color:var(--code-muted);--code-copy-bg:color-mix(in srgb,var(--code-text) 5%,transparent);--code-copy-border:var(--code-border);--code-gutter-color:var(--code-muted);--code-gutter-bg:var(--code-gutter);--code-gutter-border:var(--code-border);--code-gutter-border-w:1px;--code-gutter-py:0px;--code-gutter-px:14px;--code-content-py:18px;--code-content-px:22px;--code-content-bg:var(--code-bg);--code-content-color:var(--code-text);--code-font-size:12px;--code-line-height:1.72;--code-max-height:520px;position:relative;width:100%;max-width:100%;min-width:0;margin:var(--code-wrap-mt) var(--code-wrap-mr) var(--code-wrap-mb) var(--code-wrap-ml);padding:var(--code-wrap-py) var(--code-wrap-px);border:var(--code-wrapper-border-w) solid var(--code-wrapper-border);border-radius:var(--code-radius);overflow:hidden;background:var(--code-wrapper-bg);color:var(--code-content-color);box-shadow:0 14px 36px rgba(15,23,42,.14);box-sizing:border-box}
.article-code.theme-light,.nsc-editor-code.theme-light{--code-bg:#f8fdff;--code-panel:#f1f5f9;--code-border:#d8e3ed;--code-text:#0f2c72;--code-muted:#64748b;--code-gutter:#f1f5f9;--code-keyword:#dc2626;--code-string:#047857;--code-number:#b45309;--code-comment:#64748b;--code-variable:#0369a1;--code-function:#1d4ed8;--code-property:#7c3aed;--code-tag:#be123c;--code-attr:#b45309;--code-flag:#0369a1;box-shadow:0 12px 30px rgba(15,23,42,.06)}
.article-code-bar{min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:var(--code-header-py) var(--code-header-px);background:var(--code-header-bg);border-bottom:var(--code-header-border-w) solid var(--code-header-border)}
.article-code-meta{display:flex;align-items:center;gap:9px;min-width:0}.article-code-filename{font:700 10px/1 'JetBrains Mono',monospace;color:var(--code-filename);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.article-code-language{font:800 8px/1 'JetBrains Mono',monospace;letter-spacing:.08em;padding:5px 6px;border-radius:6px;background:color-mix(in srgb,var(--code-keyword) 12%,transparent);color:var(--code-keyword)}
.code-copy{border:1px solid var(--code-copy-border);background:var(--code-copy-bg);color:var(--code-copy-color);border-radius:9px;padding:7px 9px;font:700 10px/1 'Plus Jakarta Sans',sans-serif;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;min-height:30px;box-sizing:border-box}.code-copy:hover,.code-copy.copied{filter:brightness(1.12);color:var(--code-content-color)}.code-copy svg{width:13px;height:13px;display:block;flex:0 0 auto}
.article-code-floating-copy{position:absolute;right:12px;top:12px;z-index:3}.article-code.no-header .code-source{padding-top:8px}.article-code.no-header .article-code-floating-copy+.code-source{padding-top:48px}
.article-code pre{width:100%;max-width:100%;min-width:0;margin:0;overflow:auto;max-height:var(--code-max-height);background:var(--code-content-bg);color:var(--code-content-color);font:var(--code-font-size)/var(--code-line-height) 'JetBrains Mono',ui-monospace,SFMono-Regular,Consolas,monospace;tab-size:2;box-sizing:border-box}.article-code pre code{display:block;min-width:max-content;padding:var(--code-content-py) 0}.article-code .code-line{display:block;min-height:calc(var(--code-font-size) * var(--code-line-height));white-space:pre}.article-code .code-line-code{display:block;padding:0 var(--code-content-px)}.article-code.has-line-numbers .code-line{display:grid;grid-template-columns:auto minmax(max-content,1fr)}.article-code.has-line-numbers .code-line:before{counter-increment:nsc-code-line;content:counter(nsc-code-line);display:block;text-align:right;padding:var(--code-gutter-py) var(--code-gutter-px);margin-right:0;color:var(--code-gutter-color);background:var(--code-gutter-bg);border-right:var(--code-gutter-border-w) solid var(--code-gutter-border);user-select:none}.article-code.has-line-numbers code{counter-reset:nsc-code-line}.article-code-status{font-size:10px;color:var(--code-variable);background:var(--code-content-bg);padding:0 var(--code-content-px) 12px;min-height:12px}
.tok-keyword{color:var(--code-keyword);font-weight:650}.tok-string{color:var(--code-string)}.tok-number{color:var(--code-number)}.tok-comment{color:var(--code-comment);font-style:italic}.tok-variable,.tok-flag{color:var(--code-variable)}.tok-function{color:var(--code-function)}.tok-property{color:var(--code-property)}.tok-tag{color:var(--code-tag)}.tok-attr{color:var(--code-attr)}.tok-heading,.tok-strong{color:var(--code-keyword);font-weight:700}.tok-code{color:var(--code-string)}

/* Editor preview mirrors the frontend. The source editor itself lives in Block settings. */
.nsc-editor-code{padding:0}.nsc-editor-codebar{min-height:44px;display:flex;align-items:center;gap:8px;padding:var(--code-header-py) var(--code-header-px);background:var(--code-header-bg);border-bottom:var(--code-header-border-w) solid var(--code-header-border);font:700 10px 'JetBrains Mono',monospace;color:var(--code-filename)}.nsc-editor-codebar>span:first-child{margin-right:auto}.nsc-editor-code-lang{font-size:8px;color:var(--code-keyword);padding:4px 5px;border-radius:5px;background:color-mix(in srgb,var(--code-keyword) 12%,transparent)}.nsc-editor-copy-demo{border:1px solid var(--code-copy-border);color:var(--code-copy-color);background:var(--code-copy-bg);padding:5px 7px;border-radius:7px}.nsc-editor-code-preview{max-height:min(360px,var(--code-max-height));overflow:auto;background:var(--code-content-bg);color:var(--code-content-color);font:var(--code-font-size)/var(--code-line-height) 'JetBrains Mono',monospace;padding:var(--code-content-py) 0}.nsc-editor-code-line{display:grid;grid-template-columns:auto minmax(max-content,1fr);min-width:max-content}.nsc-editor-line-number{padding:var(--code-gutter-py) var(--code-gutter-px);color:var(--code-gutter-color);background:var(--code-gutter-bg);border-right:var(--code-gutter-border-w) solid var(--code-gutter-border);user-select:none}.nsc-editor-code-line code{display:block;padding:0 var(--code-content-px);white-space:pre;color:var(--code-content-color)}
.nsc-code-inspector-editor textarea{font-family:'JetBrains Mono',ui-monospace,SFMono-Regular,Consolas,monospace!important;min-height:260px!important;white-space:pre;overflow:auto;tab-size:2}

/* Nelx Article Visual */
.nsc-editor-visual{padding:20px;border:1px solid #dbe4ee;border-radius:18px;background:#f8fafc}.nsc-editor-visual-head{display:flex;gap:8px;align-items:center;margin-bottom:14px}.nsc-editor-visual-head span,.article-visual-head span{font:800 10px monospace;text-transform:uppercase;letter-spacing:.1em;color:#00a2ae}.nsc-editor-visual-head strong,.article-visual-head strong{color:#0f2c72}.article-visual-block{margin:34px 0}.article-visual-block .article-figure-visual{display:block;border:1px solid #dbe4ee;border-radius:20px;background:#f8fafc;padding:22px}.article-visual-head{display:flex;gap:8px;align-items:center;margin-bottom:14px}.article-visual-inner>:first-child{margin-top:0}.article-visual-inner>:last-child{margin-bottom:0}.article-visual-block figcaption{font-size:11px;color:#94a3b8;margin-top:9px}

/* Native block styles — frontend and editor. */
.wp-block-list.is-style-nelx-checklist,.editor-styles-wrapper .wp-block-list.is-style-nelx-checklist{list-style:none;padding-left:0;display:grid;gap:10px}.wp-block-list.is-style-nelx-checklist li,.editor-styles-wrapper .wp-block-list.is-style-nelx-checklist li{position:relative;margin:0;padding:13px 14px 13px 44px;border:1px solid #e2e8f0;border-radius:13px;background:#fff}.wp-block-list.is-style-nelx-checklist li:before,.editor-styles-wrapper .wp-block-list.is-style-nelx-checklist li:before{content:'✓';position:absolute;left:14px;top:12px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;border:1px solid #a7f3d0;background:#ecfdf5;color:#059669;font-size:12px;font-weight:900}
.wp-block-quote.is-style-nelx-article-quote,.editor-styles-wrapper .wp-block-quote.is-style-nelx-article-quote{margin:32px 0;padding:20px 22px;border-left:4px solid #F4511E;background:#fff7ed;border-radius:0 16px 16px 0;color:#7c2d12}.wp-block-quote.is-style-nelx-article-quote p{margin-bottom:0}.wp-block-quote.is-style-nelx-article-quote cite{display:block;margin-top:10px;color:#9a3412;font-size:12px}
.wp-block-image.is-style-nelx-article-figure,.editor-styles-wrapper .wp-block-image.is-style-nelx-article-figure{margin:34px 0}.wp-block-image.is-style-nelx-article-figure img,.editor-styles-wrapper .wp-block-image.is-style-nelx-article-figure img{border:1px solid #dbe4ee;border-radius:20px;box-shadow:0 10px 30px rgba(15,23,42,.05)}.wp-block-image.is-style-nelx-article-figure figcaption,.editor-styles-wrapper .wp-block-image.is-style-nelx-article-figure figcaption{font-size:11px;color:#94a3b8;text-align:left;margin-top:9px}
.wp-block-table.is-style-nelx-article-table,.editor-styles-wrapper .wp-block-table.is-style-nelx-article-table{overflow:auto;border:1px solid #dbe4ee;border-radius:16px;background:#fff}.wp-block-table.is-style-nelx-article-table table{border-collapse:collapse;width:100%;margin:0}.wp-block-table.is-style-nelx-article-table th,.wp-block-table.is-style-nelx-article-table td{padding:12px 14px;border:0;border-bottom:1px solid #e2e8f0;text-align:left}.wp-block-table.is-style-nelx-article-table th,.editor-styles-wrapper .wp-block-table.is-style-nelx-article-table th{background:#f8fafc;color:#0f2c72;font-weight:800}
.nsc-article-pattern{margin:0}.nsc-article-pattern>*:first-child{margin-top:0}.nsc-article-pattern>*:last-child{margin-bottom:0}

html[data-nelx-theme="dark"] .article-callout:not([style*="--callout-bg"]){--callout-bg:#0c2534;--callout-border:#155e75;--callout-title:#AEBFFF;--callout-text:#dbe8f7;--callout-icon:#AEBFFF;--callout-icon-bg:#111827}html[data-nelx-theme="dark"] .article-callout.warning:not([style*="--callout-bg"]){--callout-bg:#2a190e;--callout-border:#9a4b1d;--callout-title:#fed7aa;--callout-text:#fed7aa;--callout-icon:#fdba74}html[data-nelx-theme="dark"] .article-callout.success:not([style*="--callout-bg"]){--callout-bg:#0b241c;--callout-border:#166534;--callout-title:#a7f3d0;--callout-text:#bbf7d0;--callout-icon:#6ee7b7}
html[data-nelx-theme="dark"] :is(.wp-block-list.is-style-nelx-checklist li,.wp-block-table.is-style-nelx-article-table){background:#101a2b;border-color:#2a3951;color:#c5d0de}html[data-nelx-theme="dark"] .wp-block-table.is-style-nelx-article-table th{background:#152237;color:#AEBFFF}html[data-nelx-theme="dark"] .wp-block-table.is-style-nelx-article-table td{border-color:#2a3951}html[data-nelx-theme="dark"] .wp-block-quote.is-style-nelx-article-quote{background:#2a190e;color:#fed7aa}html[data-nelx-theme="dark"] .wp-block-image.is-style-nelx-article-figure img{border-color:#2a3951;box-shadow:0 10px 30px rgba(0,0,0,.2)}html[data-nelx-theme="dark"] .article-visual-block .article-figure-visual{background:#0f1929;border-color:#2a3951}html[data-nelx-theme="dark"] .article-visual-head strong{color:#AEBFFF}



/* Ensure per-block Gutenberg styling wins inside the Elementor Single Resource shell. */
.nsc-single-resource .article-callout.info,.nsc-single-resource .article-callout.warning,.nsc-single-resource .article-callout.success{background:var(--callout-bg);border-color:var(--callout-border);border-radius:var(--callout-radius);padding:var(--callout-py) var(--callout-px)}
.nsc-single-resource .article-callout strong{color:var(--callout-title)}.nsc-single-resource .article-callout p{color:var(--callout-text)}.nsc-single-resource .article-callout .callout-icon{color:var(--callout-icon);background:var(--callout-icon-bg)}.nsc-single-resource .article-callout .callout-icon svg{width:var(--callout-icon-size);height:var(--callout-icon-size)}
html[data-nelx-theme="dark"] .nsc-single-resource .article-callout.info,html[data-nelx-theme="dark"] .nsc-single-resource .article-callout.warning,html[data-nelx-theme="dark"] .nsc-single-resource .article-callout.success{background:var(--callout-bg);border-color:var(--callout-border)}
html[data-nelx-theme="dark"] .nsc-single-resource .article-callout strong{color:var(--callout-title)!important}html[data-nelx-theme="dark"] .nsc-single-resource .article-callout p{color:var(--callout-text)!important}html[data-nelx-theme="dark"] .nsc-single-resource .article-callout .callout-icon{color:var(--callout-icon);background:var(--callout-icon-bg)}

/* Per-block visual styling controls. */
.article-visual-block,.nsc-editor-visual{--visual-bg:#f8fafc;--visual-border:#dbe4ee;--visual-label:#00a2ae;--visual-title:#0f2c72;--visual-caption:#94a3b8;--visual-radius:20px;--visual-padding:22px}
.article-visual-block .article-figure-visual,.nsc-editor-visual{background:var(--visual-bg);border-color:var(--visual-border);border-radius:var(--visual-radius);padding:var(--visual-padding)}
.article-visual-block .article-visual-head span,.nsc-editor-visual-head span{color:var(--visual-label)}.article-visual-block .article-visual-head strong,.nsc-editor-visual-head strong{color:var(--visual-title)}.article-visual-block figcaption,.nsc-editor-visual-caption{color:var(--visual-caption)}.nsc-editor-visual-caption{font-size:11px;line-height:1.55;margin-top:12px}
html[data-nelx-theme="dark"] .article-visual-block:not([style*="--visual-bg"]){--visual-bg:#0f1929;--visual-border:#2a3951;--visual-title:#AEBFFF;--visual-caption:#94a3b8}
html[data-nelx-theme="dark"] .nsc-single-resource .article-visual-block .article-figure-visual{background:var(--visual-bg);border-color:var(--visual-border)}html[data-nelx-theme="dark"] .nsc-single-resource .article-visual-block .article-visual-head strong{color:var(--visual-title)!important}

/* Explicit code themes are author choices and must not be inverted by the site theme. */
/* Global appearance integration for the code block.
   Light follows the website theme; explicit Dark always remains dark. */
html[data-nelx-theme="dark"] .article-code.theme-light{
  --code-bg:#0f172a!important;--code-panel:#111c33!important;--code-border:#243b67!important;--code-text:#dbeafe!important;--code-muted:#94a3b8!important;--code-gutter:#0b1323!important;
  --code-keyword:#c4b5fd!important;--code-string:#86efac!important;--code-number:#fbbf24!important;--code-comment:#64748b!important;--code-variable:#67e8f9!important;--code-function:#93c5fd!important;--code-property:#f9a8d4!important;--code-tag:#fb7185!important;--code-attr:#fbbf24!important;--code-flag:#67e8f9!important;
  --code-wrapper-bg:#0f172a!important;--code-wrapper-border:#243b67!important;--code-header-bg:#111c33!important;--code-header-border:#243b67!important;--code-filename:#94a3b8!important;--code-copy-color:#94a3b8!important;--code-copy-bg:rgba(219,234,254,.05)!important;--code-copy-border:#243b67!important;
  --code-gutter-color:#94a3b8!important;--code-gutter-bg:#0b1323!important;--code-gutter-border:#243b67!important;--code-content-bg:#0f172a!important;--code-content-color:#dbeafe!important;
  color-scheme:dark;box-shadow:0 14px 36px rgba(0,0,0,.22)
}
html[data-nelx-theme="dark"] .article-code.theme-light pre,
html[data-nelx-theme="dark"] .entry-content .article-code.theme-light pre,
html[data-nelx-theme="dark"] .post-content .article-code.theme-light pre,
html[data-nelx-theme="dark"] .betterdocs-entry-content .article-code.theme-light pre{background:var(--code-content-bg)!important;color:var(--code-content-color)!important;border-color:var(--code-border)!important}
html[data-nelx-theme="dark"] .article-code.theme-light .article-code-bar{background:var(--code-header-bg)!important;border-color:var(--code-header-border)!important}

/* An explicitly dark code block is an intentional dark surface. Never invert or lighten it. */
html[data-nelx-theme="dark"] .article-code.theme-dark{color-scheme:dark;filter:none!important}
html[data-nelx-theme="dark"] .article-code.theme-dark pre,
html[data-nelx-theme="dark"] .entry-content .article-code.theme-dark pre,
html[data-nelx-theme="dark"] .post-content .article-code.theme-dark pre,
html[data-nelx-theme="dark"] .betterdocs-entry-content .article-code.theme-dark pre{background:var(--code-content-bg)!important;color:var(--code-content-color)!important;border-color:var(--code-border)!important}
html[data-nelx-theme="dark"] .article-code.theme-dark .article-code-bar{background:var(--code-header-bg)!important;border-color:var(--code-header-border)!important}

@media(max-width:620px){
  .article-code,.nsc-editor-code{max-width:100%;min-width:0;--code-content-px:14px;--code-gutter-px:9px}
  .article-code pre{font-size:min(var(--code-font-size),11px);max-width:100%;min-width:0;overscroll-behavior-x:contain}
  .article-code-bar{min-width:0}.article-code-meta{min-width:0;overflow:hidden}.article-code-language{display:none}
}
