/* 帖子角标 (置顶 / 热搜 / 原创), rendered by LibHtml::melonBadgesHtml.
   Default = overlay label pinned to the top-right corner of the LAST cover image: the <span> sits
   inside .poster (absolutely positioned by the aspect-ratio wrapper, display:flex) and is taken out
   of the flow, so it never shrinks the <img>. The detail page uses the inline variant (h1 .dx-badges).
   Video cards keep their flags in admin but render no badge. */
.dx-badges{position:absolute;right:2px;top:2px;z-index:2;display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px;max-width:calc(100% - 4px);pointer-events:none}
.dx-badge{display:block;height:20px;line-height:20px;padding:0 6px;font-size:12px;font-style:normal;font-weight:500;color:#fff;border-radius:3px;white-space:nowrap}
.dx-badge--top{background:#1890ff}
.dx-badge--hot{background:#f5222d}
.dx-badge--original{background:#722ed1}
/* Image badges: 84x42 PNG shown at 40x20 on phones and 48x24 from md up.
   /static/web/images/badge/{top,hot,original}.png; LibHtml falls back to the <i> text badge when a file is missing. */
img.dx-badge{width:40px;height:20px;padding:0;background:none;border-radius:0;object-fit:contain}
/* Inline variant next to the detail title */
h1 .dx-badges{position:relative;right:auto;top:-2px;display:inline-flex;vertical-align:middle;margin-right:6px;pointer-events:auto}
@media (min-width:768px){.dx-badges{right:3px;top:3px}.dx-badge{height:24px;line-height:24px;font-size:13px}img.dx-badge{width:48px;height:24px}h1 .dx-badges{top:-2px}}
