/* Reading aids for the software development guide series. */
.journal-reader-main { padding-top: 110px; }
.journal-breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; color: #817365; font-size: 13px; line-height: 1.75; }
.journal-breadcrumbs a { color: #935b36; }
.journal-reader-heading { max-width: 910px; }
.journal-reader-heading h1 { font-size: clamp(28px, 3.5vw, 44px); text-wrap: balance; }
.journal-reader-dates { display: flex; flex-wrap: wrap; gap: 10px 20px; margin-top: 24px; color: #7f756d; font-size: 13px; line-height: 1.8; }
.journal-reader-dates a { color: #905a35; }
.journal-reader-cover { max-width: 910px; margin-inline: auto; aspect-ratio: 16 / 9; }
.journal-reader-figure { max-width: 910px; margin: 0 auto; }
.journal-photo-credit { margin-top: 12px; color: #81786f; font-size: 12px; line-height: 1.75; text-align: right; }
.journal-photo-credit a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.journal-reading-layout { grid-template-columns: 220px minmax(0, 760px); gap: 48px; }
.journal-prose { min-width: 0; overflow-wrap: break-word; }
.journal-prose h3 { font-size: 19px; line-height: 1.6; margin: 26px 0 12px; }
.journal-prose :is(ul, ol) { padding-left: 1.4em; margin: 0 0 22px; }
.journal-prose li { color: #55585c; font-size: 16px; line-height: 1.95; margin-bottom: 10px; }
.journal-prose a { color: #8f502b; text-decoration: underline; text-underline-offset: 4px; overflow-wrap: anywhere; }
.journal-summary { padding: 26px 28px; border: 1px solid #dfc8b5; border-left: 3px solid #b9774d; border-radius: 8px; background: #f5ece3; }
.journal-summary h2 { color: #8c542f; font-size: 18px; margin-bottom: 12px; }
.journal-summary p:last-child { margin-bottom: 0; }
.journal-table-wrap { max-width: 100%; overflow-x: auto; margin: 24px 0; border: 1px solid #e0d4c9; border-radius: 8px; }
.journal-prose table { width: 100%; border-collapse: collapse; text-align: left; font-size: 14px; line-height: 1.85; }
.journal-prose th, .journal-prose td { min-width: 120px; padding: 14px 16px; vertical-align: top; border-bottom: 1px solid #e5d9cf; color: #54575b; }
.journal-prose th { background: #eee3d8; color: #443a31; font-weight: 600; }
.journal-prose tr:nth-child(even) td { background: #f7f1eb; }
.journal-prose tr:last-child td { border-bottom: 0; }
.journal-source-note { display: block; margin-top: 4px; color: #7b766f; font-size: 14px; }
.journal-faq-item { border-top: 1px solid #e3d6ca; padding-top: 2px; }
.journal-author-box { padding: 24px; background: #eee3d8; border-radius: 10px; }
.journal-author-box h2 { font-size: 22px; }
.journal-author-box p { font-size: 15px; }
.journal-prose .journal-cta { display: inline-flex; align-items: center; gap: 20px; min-height: 44px; padding: 12px 20px; border-radius: 999px; background: #282624; color: #fff0e2; text-decoration: none; font-size: 14px; }
.journal-card h3 { font-size: 20px; }
.journal-card .journal-excerpt { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.journal-feature-card .journal-excerpt { max-width: 38em; }
.journal-card .journal-card-foot { margin-top: 18px; }
.journal-hub-list { margin-top: 36px; }
html body.home-design .xf-blog-card > a { display: block; height: 100%; }
html body.home-design .xf-blog-card > a:focus-visible { outline: 3px solid #b57b51; outline-offset: -4px; }
html body.home-design .xf-blog-card h3 { min-height: 2.9em; }
html body.home-design .xf-blog-card p { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; min-height: 5.25em; }
@media (max-width: 1100px) { .journal-reading-layout { grid-template-columns: 185px minmax(0, 1fr); gap: 28px; } }
@media (max-width: 850px) { .journal-reading-layout { grid-template-columns: 1fr; } .journal-contents { position: static; } }
@media (max-width: 600px) {
  .journal-reader-main { padding-top: 90px; }
  .journal-summary { padding: 20px; }
  .journal-prose :is(th, td) { min-width: 112px; padding: 12px; }
  .journal-prose li { font-size: 16px; }
  .journal-reader-cover { border-radius: 8px; }
  .journal-reader-heading h1 { font-size: 28px; }
}
