/* Shared byline for `article`-format resources.
 *
 * An article posts bareFrame, which hides the host page's header and its
 * byline, so the article must render its own (SKILL-Resources.md, "Bylines").
 * Markup sits in the article header, OUTSIDE every island, so it never lands
 * in a PNG export:
 *
 *   <div class="dr-byline">
 *     <span class="dr-byline-faces"><img class="dr-byline-face" …><img class="dr-byline-face is-source" …></span>
 *     <span class="dr-byline-txt">By <a class="dr-byline-name" …>Author</a> and
 *       <a class="dr-byline-name" …>Dealroom Next-Gen API</a><span class="dr-byline-date"> · <time datetime="YYYY-MM-DD">D Month YYYY</time></span></span>
 *   </div>
 *
 * Colours inherit from the header so the block sits in any page family.
 * Enforced by H7 in scripts/check-resources-contract.mjs.
 */
.dr-byline { display: flex; align-items: center; gap: 10px; margin: 16px 0 0; font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif; }
.dr-byline-faces { display: inline-flex; align-items: center; flex: 0 0 auto; }
.dr-byline-face { display: block; width: 28px; height: 28px; border-radius: 50%; object-fit: cover; }
.dr-byline-face + .dr-byline-face { margin-left: 4px; }
.dr-byline-face.is-source { object-fit: contain; }
.dr-byline-txt { flex: 0 1 auto; min-width: 0; font-size: 14px; font-weight: 600; line-height: 1.4; letter-spacing: 0; color: inherit; opacity: 0.8; }
.dr-byline-name { color: inherit; text-decoration: none; }
.dr-byline-name:hover { text-decoration: underline; }
.dr-byline-date { font-weight: 500; white-space: nowrap; }
