/* Content Desk article blocks — GENERATED from the Nexus contract bucket.
   Upstream: cd_article_theme.css @ contract 1.44.0
   Regenerate: .venv/bin/python scripts/sync_nexus_contract.py
   DO NOT EDIT BY HAND — your changes will be overwritten on the next sync.

   Adapted, not copied: scoped under .cd-doc, their bare-element typography
   dropped (our .prose owns it), their --cd-* variables re-pointed at our theme
   tokens below, and both dark-mode blocks dropped — our tokens already follow
   our own theme toggle, and prefers-color-scheme would override a reader who
   pinned light mode. This is their documented receiver path: define the
   variables yourself and delete the theme blocks. */

.cd-doc {
  --cd-bg: transparent;
  --cd-text: inherit;
  --cd-border: var(--border);
  --cd-accent: var(--accent);
  --cd-surface: var(--surface);
  --cd-surface-2: var(--surface);
  --cd-surface-3: var(--surface-2);
  --cd-accent-soft: color-mix(in srgb, var(--accent) 45%, transparent);
  --cd-tip-bg: color-mix(in srgb, #f59e0b 12%, transparent);
  --cd-info-bg: color-mix(in srgb, var(--accent) 10%, transparent);
  --cd-warn-bg: color-mix(in srgb, #ef4444 12%, transparent);
  --cd-success-bg: color-mix(in srgb, #10b981 12%, transparent);
}
.cd-doc *{box-sizing:border-box}
.cd-doc a {color:var(--cd-accent);text-decoration:none;border-bottom:1px solid var(--cd-accent-soft)}
.cd-doc a:hover {border-bottom-color:var(--cd-accent)}
.cd-doc .cd-intro p:first-child {font-size:1.24rem;line-height:1.55;opacity:.92}
.cd-doc .cd-hero {width:100%;max-height:360px;object-fit:cover;border-radius:.6rem;margin-bottom:1.5rem;display:block}
.cd-doc .cd-img {width:100%;height:auto;border-radius:.5rem;display:block}
.cd-doc .cd-byline {font-size:.9rem;opacity:.72;margin:0 0 1.6rem;display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
.cd-doc .cd-byline-author {font-weight:600;opacity:1}
.cd-doc .cd-byline-sep {opacity:.45}
.cd-doc .cd-author-box {border:1px solid var(--cd-border);border-radius:.7rem;padding:1.15rem 1.35rem;margin-top:2.5rem;background:var(--cd-surface-2)}
.cd-doc .cd-author-head {display:flex;align-items:center;gap:.75rem}
.cd-doc .cd-author-avatar {width:56px;height:56px;border-radius:50%;object-fit:cover;flex:0 0 auto}
.cd-doc .cd-author-initials {display:flex;align-items:center;justify-content:center;background:var(--cd-accent);color:#fff;font-weight:700;font-size:1.4rem}
.cd-doc .cd-author-name {font-weight:700}
.cd-doc .cd-author-title {font-size:.85rem;opacity:.75}
.cd-doc .cd-author-bio {margin:.7rem 0 0}
.cd-doc .cd-author-links {margin-top:.5rem;display:flex;flex-wrap:wrap;gap:.85rem;font-size:.85rem}
.cd-doc .cd-figcap {font-size:.82rem;opacity:.7;margin-top:.4rem;text-align:center}
.cd-doc .cd-illustrative {font-style:italic;opacity:.8}
.cd-doc .cd-table-wrap {overflow-x:auto;border:1px solid var(--cd-border);border-radius:.5rem;background:var(--cd-surface)}
.cd-doc .cd-table {width:100%;border-collapse:collapse;font-size:.92rem}
.cd-doc .cd-table th, .cd-doc .cd-table td {padding:.6rem .75rem;text-align:left;border-bottom:1px solid var(--cd-border)}
.cd-doc .cd-table thead th {background:var(--cd-surface-3);font-weight:700;white-space:nowrap}
.cd-doc .cd-table tbody tr:last-child td {border-bottom:none}
.cd-doc .cd-chart-wrap {width:100%;overflow-x:auto}
.cd-doc .cd-chart {width:100%;height:auto;max-width:720px;display:block;margin:0 auto}
.cd-doc .cd-chart .cd-grid {stroke:var(--cd-border);opacity:.7}
.cd-doc .cd-chart .cd-axis {fill:currentColor;opacity:.7;font-size:12px}
.cd-doc .cd-chart .cd-barval {fill:currentColor;opacity:.85;font-size:11px;font-weight:600}
.cd-doc .cd-stats {display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin:1.5rem 0}
.cd-doc .cd-stat {border:1px solid var(--cd-border);border-radius:.6rem;padding:1rem;text-align:center;background:var(--cd-surface-2)}
.cd-doc .cd-stat-value {font-size:2rem;font-weight:800;line-height:1;color:var(--cd-accent)}
.cd-doc .cd-stat-label {font-size:.88rem;margin-top:.35rem;font-weight:600}
.cd-doc .cd-stat-sub {font-size:.76rem;opacity:.7;margin-top:.15rem}
.cd-doc .cd-compare {display:grid;gap:.75rem;margin:1.5rem 0;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.cd-doc .cd-compare-col {border:1px solid var(--cd-border);border-radius:.6rem;padding:1rem;background:var(--cd-surface)}
.cd-doc .cd-compare-title {font-weight:700;margin-bottom:.5rem;padding-bottom:.4rem;border-bottom:2px solid var(--cd-accent)}
.cd-doc .cd-compare-col ul {margin:0;padding-left:1.1rem}
.cd-doc .cd-callout {border-radius:.6rem;padding:1rem 1.15rem;margin:1.5rem 0;border-left:4px solid var(--border-strong);background:var(--cd-surface-2)}
.cd-doc .cd-callout-title {font-weight:700;margin-bottom:.3rem}
.cd-doc .cd-callout-tip {border-left-color:#f59e0b;background:var(--cd-tip-bg)}
.cd-doc .cd-callout-info {border-left-color:#3b82f6;background:var(--cd-info-bg)}
.cd-doc .cd-callout-warning {border-left-color:#ef4444;background:var(--cd-warn-bg)}
.cd-doc .cd-callout-success {border-left-color:#10b981;background:var(--cd-success-bg)}
.cd-doc .cd-pullquote {border-left:4px solid var(--cd-accent);margin:1.75rem 0;padding:.35rem 0 .35rem 1.2rem;font-size:1.3rem;font-style:italic;line-height:1.4}
.cd-doc .cd-pullquote-cite {display:block;font-size:.85rem;font-style:normal;opacity:.7;margin-top:.5rem}
.cd-doc .cd-block-cta {border:1px solid var(--cd-accent);border-radius:.6rem;padding:1.25rem;margin-top:2rem;background:var(--cd-info-bg)}
.cd-doc .cd-block-cta h2 {margin-top:0}
.cd-doc .cd-block-takeaways {border-left:3px solid var(--cd-accent);padding-left:1rem}
.cd-doc .cd-accordion details {border:1px solid var(--cd-border);border-radius:.5rem;margin-bottom:.5rem;overflow:hidden;background:var(--cd-surface)}
.cd-doc .cd-accordion summary {cursor:pointer;padding:.7rem .9rem;font-weight:600;list-style:none;background:var(--cd-surface-2)}
.cd-doc .cd-accordion summary::-webkit-details-marker {display:none}
.cd-doc .cd-accordion summary::after {content:'+';float:right;opacity:.6;font-weight:700}
.cd-doc .cd-accordion details[open] summary::after {content:'–'}
.cd-doc .cd-accordion .cd-acc-body {padding:.7rem .9rem}
.cd-doc .cd-tabs {margin:1.5rem 0}
.cd-doc .cd-tabs .cd-tab-radio {position:absolute;opacity:0;pointer-events:none}
.cd-doc .cd-tab-labels {display:flex;flex-wrap:wrap;gap:.25rem;border-bottom:2px solid var(--cd-border)}
.cd-doc .cd-tab-label {cursor:pointer;padding:.45rem .85rem;border-radius:.4rem .4rem 0 0;font-weight:600;font-size:.9rem;opacity:.6}
.cd-doc .cd-tab-panels {padding-top:.9rem}
.cd-doc .cd-tab-panel {display:none}
.cd-doc .cd-tabs .cd-tab-radio:nth-of-type(1):checked~.cd-tab-panels .cd-tab-panel[data-i="0"], .cd-doc .cd-tabs .cd-tab-radio:nth-of-type(2):checked~.cd-tab-panels .cd-tab-panel[data-i="1"], .cd-doc .cd-tabs .cd-tab-radio:nth-of-type(3):checked~.cd-tab-panels .cd-tab-panel[data-i="2"], .cd-doc .cd-tabs .cd-tab-radio:nth-of-type(4):checked~.cd-tab-panels .cd-tab-panel[data-i="3"], .cd-doc .cd-tabs .cd-tab-radio:nth-of-type(5):checked~.cd-tab-panels .cd-tab-panel[data-i="4"], .cd-doc .cd-tabs .cd-tab-radio:nth-of-type(6):checked~.cd-tab-panels .cd-tab-panel[data-i="5"] {display:block}
.cd-doc .cd-tabs .cd-tab-radio:nth-of-type(1):checked~.cd-tab-labels .cd-tab-label:nth-of-type(1), .cd-doc .cd-tabs .cd-tab-radio:nth-of-type(2):checked~.cd-tab-labels .cd-tab-label:nth-of-type(2), .cd-doc .cd-tabs .cd-tab-radio:nth-of-type(3):checked~.cd-tab-labels .cd-tab-label:nth-of-type(3), .cd-doc .cd-tabs .cd-tab-radio:nth-of-type(4):checked~.cd-tab-labels .cd-tab-label:nth-of-type(4), .cd-doc .cd-tabs .cd-tab-radio:nth-of-type(5):checked~.cd-tab-labels .cd-tab-label:nth-of-type(5), .cd-doc .cd-tabs .cd-tab-radio:nth-of-type(6):checked~.cd-tab-labels .cd-tab-label:nth-of-type(6) {opacity:1;color:var(--cd-accent);box-shadow:inset 0 -2px 0 var(--cd-accent)}
.cd-doc .cd-quiz {border:1px solid var(--cd-border);border-radius:.6rem;padding:1rem 1.15rem;margin:1.5rem 0;background:var(--cd-surface-2)}
.cd-doc .cd-quiz-q {font-weight:700;margin-bottom:.6rem}
.cd-doc .cd-quiz-opt {display:flex;align-items:center;gap:.5rem;padding:.45rem .55rem;border:1px solid var(--cd-border);border-radius:.4rem;margin-bottom:.4rem;cursor:pointer}
.cd-doc .cd-quiz-opt input {margin:0}
.cd-doc .cd-quiz-mark {margin-left:auto;font-weight:700}
.cd-doc .cd-quiz-opt.cd-correct input:checked~.cd-quiz-mark::after {content:'✓';color:#16a34a}
.cd-doc .cd-quiz-opt:not(.cd-correct) input:checked~.cd-quiz-mark::after {content:'✗';color:#dc2626}
.cd-doc .cd-quiz:has(input:checked) .cd-quiz-opt.cd-correct {border-color:#16a34a;background:rgba(22,163,74,.10)}
.cd-doc .cd-quiz-feedback {display:none;margin-top:.5rem;font-size:.9rem}
.cd-doc .cd-quiz:has(input:checked) .cd-quiz-feedback {display:block}
.cd-doc .cd-quiz-right, .cd-doc .cd-quiz-wrong {display:none;font-weight:700}
.cd-doc .cd-quiz:has(input:checked) .cd-quiz-wrong {display:inline;color:#dc2626}
.cd-doc .cd-quiz:has(.cd-correct input:checked) .cd-quiz-wrong {display:none}
.cd-doc .cd-quiz:has(.cd-correct input:checked) .cd-quiz-right {display:inline;color:#16a34a}
.cd-doc .cd-quiz-expl {margin-top:.4rem;opacity:.85;font-weight:400}
.cd-doc .cd-faq-item {border-bottom:1px solid var(--cd-border);padding:.85rem 0}
.cd-doc .cd-faq-item:last-child {border-bottom:0}
.cd-doc .cd-faq-item h3 {margin:0 0 .35rem;font-size:1.05rem;font-weight:650}
.cd-doc .cd-faq-a p:last-child {margin-bottom:0}
.cd-doc .cd-code-fig {margin:1.1rem 0}
.cd-doc .cd-code-label {font-size:.82rem;font-weight:700;margin-bottom:.3rem;opacity:.85}
.cd-doc .cd-code-block {margin:0;padding:.8rem 1rem;border-radius:.5rem;overflow-x:auto;background:var(--cd-surface-3);border:1px solid var(--cd-border);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88rem;line-height:1.55;white-space:pre}
.cd-doc .cd-code-cap {font-size:.82rem;opacity:.72;margin-top:.35rem}
.cd-doc ol.cd-steps {list-style:none;counter-reset:cdstep;margin:1.1rem 0;padding:0}
.cd-doc .cd-step {counter-increment:cdstep;position:relative;padding-left:2.6rem;margin-bottom:1rem}
.cd-doc .cd-step::before {content:counter(cdstep);position:absolute;left:0;top:0;width:1.85rem;height:1.85rem;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--cd-accent);color:#fff;font-weight:700;font-size:.9rem}
.cd-doc .cd-step-title {font-weight:650;margin-bottom:.2rem}
.cd-doc .cd-step-body p:last-child {margin-bottom:0}
.cd-doc ul.cd-checklist {list-style:none;margin:1.1rem 0;padding:0}
.cd-doc .cd-check {display:flex;align-items:flex-start;gap:.6rem;margin-bottom:.5rem}
.cd-doc .cd-check-box {flex:0 0 auto;width:1.05rem;height:1.05rem;margin-top:.2rem;border-radius:.25rem;border:2px solid var(--cd-accent);position:relative}
.cd-doc .cd-check-box::after {content:'';position:absolute;left:.28rem;top:.04rem;width:.25rem;height:.55rem;border:solid var(--cd-accent);border-width:0 2px 2px 0;transform:rotate(45deg)}
.cd-doc .cd-gallery {display:grid;gap:.75rem;margin:1.25rem 0}
.cd-doc .cd-gallery-2 {grid-template-columns:repeat(2,1fr)}
.cd-doc .cd-gallery-3 {grid-template-columns:repeat(3,1fr)}
.cd-doc .cd-gal-item {margin:0}
.cd-doc .cd-gal-item figcaption {font-size:.8rem;opacity:.72;margin-top:.35rem}
.cd-doc .cd-downloads {border:1px solid var(--cd-border);border-radius:.7rem;padding:1.1rem 1.35rem;margin-top:2.2rem;background:var(--cd-surface-2)}
.cd-doc .cd-downloads-title {font-size:1.05rem;margin:0 0 .7rem}
.cd-doc .cd-dl-list {list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}
.cd-doc .cd-dl-item {margin:0}
.cd-doc a.cd-dl, .cd-doc .cd-dl {display:flex;align-items:center;gap:.7rem;border:1px solid var(--cd-border);border-radius:.55rem;padding:.55rem .75rem;background:var(--cd-surface);text-decoration:none;color:inherit}
.cd-doc a.cd-dl:hover, .cd-doc .cd-dl:hover {border-color:var(--cd-accent)}
.cd-doc .cd-dl-ext {flex:0 0 auto;font-size:.68rem;font-weight:800;letter-spacing:.04em;border:1px solid var(--cd-accent);color:var(--cd-accent);border-radius:.4rem;padding:.2rem .4rem}
.cd-doc .cd-dl-main {display:flex;flex-direction:column;min-width:0}
.cd-doc .cd-dl-name {font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cd-doc .cd-dl-file {font-size:.78rem;opacity:.65}
.cd-doc .cd-dl-get {margin-left:auto;font-weight:700;opacity:.6;font-size:1.05rem}
.cd-doc .cd-dl-desc {font-size:.85rem;opacity:.75;margin:.3rem 0 0 .2rem}
.cd-doc .cd-gallery-masonry {display:block;columns:3 240px;column-gap:.8rem}
.cd-doc .cd-gallery-masonry .cd-gal-item {break-inside:avoid;margin:0 0 .8rem;display:block}
.cd-doc .cd-gallery-masonry .cd-img {width:100%;height:auto;border-radius:.5rem;display:block}
.cd-doc .cd-video {position:relative;width:100%;aspect-ratio:16/9;border-radius:.6rem;overflow:hidden;background:#000}
.cd-doc .cd-video iframe, .cd-doc .cd-video video {position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.cd-doc .cd-figure.cd-img-rounded .cd-img {border-radius:14px}
.cd-doc .cd-figure.cd-img-shadow .cd-img {box-shadow:0 14px 34px rgba(0,0,0,.28);border-radius:8px}
.cd-doc .cd-figure.cd-img-border .cd-img {border:1px solid rgba(128,128,128,.45);border-radius:6px;padding:4px}
.cd-doc .cd-figure.cd-img-wide {margin-left:calc(-1 * clamp(0px, 4vw, 48px));margin-right:calc(-1 * clamp(0px, 4vw, 48px))}
.cd-doc .cd-figure.cd-img-wide .cd-img {width:100%;border-radius:4px}
.cd-doc .cd-figure.cd-img-inset {max-width:68%;margin-left:auto;margin-right:auto}
.cd-doc .cd-figure {margin:1.5rem auto;max-width:100%}
.cd-doc .cd-fig-full {max-width:100%}
.cd-doc .cd-fig-large {max-width:760px}
.cd-doc .cd-fig-medium {max-width:460px}
.cd-doc .cd-fig-small {max-width:320px}
.cd-doc .cd-fig-center {margin-left:auto;margin-right:auto}
.cd-doc .cd-fig-left {float:left;margin:.3rem 1.6rem 1rem 0}
.cd-doc .cd-fig-right {float:right;margin:.3rem 0 1rem 1.6rem}
.cd-doc .cd-fig-left.cd-fig-medium, .cd-doc .cd-fig-right.cd-fig-medium {width:46%}
.cd-doc .cd-fig-left.cd-fig-small, .cd-doc .cd-fig-right.cd-fig-small {width:34%}
.cd-doc .cd-fig-left, .cd-doc .cd-fig-right, .cd-doc .cd-fig-full {clear:both}
@media (max-width:600px) {
  .cd-doc .cd-gallery-masonry {columns:2 140px}
  .cd-doc .cd-hero {max-height:240px}
  .cd-doc .cd-pullquote {font-size:1.12rem}
  .cd-doc .cd-intro p:first-child {font-size:1.1rem}
  .cd-doc .cd-gallery-2, .cd-doc .cd-gallery-3 {grid-template-columns:1fr}
  .cd-doc .cd-fig-left, .cd-doc .cd-fig-right {float:none;width:auto;margin:1.5rem auto}
  .cd-doc .cd-fig-medium, .cd-doc .cd-fig-small {max-width:100%}
}
