/* Article content styles (classes emitted by ArticleRenderer; no inline
   styles survive the purifier). Shared by the public article page and the
   admin import preview so both render posts identically. */
.bp-lead { font-size: 17px; line-height: 1.65; letter-spacing: 0.16px; color: #393939; margin: 0 0 20px; }
.bp-p { font-size: 16px; line-height: 1.65; letter-spacing: 0.16px; color: #393939; margin: 0 0 16px; }
.bp-lead code, .bp-p code, .bp-list code { font-family: 'IBM Plex Mono', monospace; font-size: 13.5px; background: #f4f4f4; border: 1px solid #e0e0e0; padding: 1px 6px; color: #161616; }
.bp-h2 { font-size: 28px; font-weight: 300; line-height: 1.2; letter-spacing: -0.2px; color: #161616; margin: 40px 0 16px; scroll-margin-top: 72px; }
.bp-h2--first { margin-top: 0; }
.bp-h3 { font-size: 20px; font-weight: 400; line-height: 1.25; letter-spacing: 0.16px; color: #161616; margin: 28px 0 12px; scroll-margin-top: 72px; }
.bp-code { border: 1px solid #e0e0e0; margin: 0 0 24px; }
.bp-code-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; background: #161616; border-bottom: 1px solid #393939; padding: 8px 8px 8px 16px; }
.bp-code-label { font-family: 'IBM Plex Mono', monospace; font-size: 12px; color: #8d8d8d; }
.bp-code pre { margin: 0; background: #161616; padding: 16px; white-space: pre-wrap; overflow-wrap: anywhere; font-family: 'IBM Plex Mono', monospace; font-size: 13.5px; line-height: 1.7; color: #f4f4f4; }
.bp-sh-p { color: #42be65; }
.bp-sh-c { color: #8d8d8d; }
.bp-callout { border: 1px solid #e0e0e0; border-left-width: 3px; border-left-style: solid; padding: 16px 20px; margin: 0 0 32px; }
.bp-callout--note { border-left-color: #0f62fe; background: #edf5ff; }
.bp-callout--tip { border-left-color: #24a148; background: #defbe6; }
.bp-callout--warning { border-left-color: #f1c21b; background: #fcf4d6; }
.bp-callout-t { font-size: 14px; font-weight: 600; letter-spacing: 0.16px; color: #161616; margin: 0 0 4px; }
.bp-callout-b { font-size: 14px; line-height: 1.55; letter-spacing: 0.16px; color: #393939; margin: 0; }
.bp-callout-b code { background: #ffffff; font-size: 13px; }
.bp-list { margin: 0 0 24px; padding-left: 22px; }
.bp-list li { font-size: 16px; line-height: 1.65; letter-spacing: 0.16px; color: #393939; margin-bottom: 8px; }
.bp-list li:last-child { margin-bottom: 0; }
.bp-tbl { border: 1px solid #e0e0e0; overflow-x: auto; margin: 0 0 32px; }
.bp-tbl table { border-collapse: collapse; width: 100%; min-width: 520px; }
.bp-tbl th { text-align: left; font-size: 14px; font-weight: 600; letter-spacing: 0.16px; color: #161616; background: #f4f4f4; padding: 13px 16px; border-bottom: 1px solid #e0e0e0; }
.bp-tbl td { font-size: 14px; letter-spacing: 0.16px; color: #525252; padding: 12px 16px; border-bottom: 1px solid #e0e0e0; }
.bp-tbl td:first-child { color: #161616; }
.bp-tbl tbody tr:last-child td { border-bottom: 0; }

/* In-content cross-links: match the site's link convention — IBM Blue, no
   underline at rest, underline on hover at a 2px offset. Scoped to the prose
   blocks so callout/table chrome is untouched. */
.bp-p a, .bp-lead a, .bp-list a, .bp-callout-b a, .bp-tbl a { color: #0f62fe; text-decoration: none; }
.bp-p a:hover, .bp-lead a:hover, .bp-list a:hover, .bp-callout-b a:hover, .bp-tbl a:hover { text-decoration: underline; text-underline-offset: 2px; }
