/* v2 only: quirks-mode emulation for the Tailwind article and author pages (projects/web-shell/decisions/0001,
   extended 2026-10-26). Live serves these pages without a doctype, so Chromium lays them out in quirks mode, where a
   line's strut counts only when the block holds text directly. Next sends <!DOCTYPE html>, so v2 was taller:
   254 px on /bai-viet/{slug} (read: tmp/heightdiff.mjs, element-by-element heights against live).
   - The article body is marked by markQuirksLineHeights (packages/ui/src/static/quirks.ts), as /trang is.
   - An icon-only button (whitespace plus one .ms icon, e.g. the table-of-contents toggle) is 28 px on live and was
     33 px: font-size 0 drops the button's strut, and the icon keeps its own size. Buttons with text are left alone. */
.prose-article :not(h1, h2, h3, h4, h5, h6)[data-q~="fs0"] {
    font-size: 0;
}

/* A heading has a fixed px line-height here (h3: 28px), so font-size 0 leaves a 28px strut that no longer shares
   the span's baseline (33px against live's 28px). Top-aligning the span gives the quirks line box exactly. */
.prose-article :is(h1, h2, h3, h4, h5, h6)[data-q~="fs0"] > span {
    vertical-align: top;
}

.prose-article [data-q~="lh0"] {
    line-height: 0;
}

button.p-1\.5:has(> .ms:only-child) {
    font-size: 0;
}

/* The footer logo: an inline-block link around a 200px inline-block span. Standards mode adds the link's strut
   descent under the span, 5px. */
a.inline-block > .logo-text {
    vertical-align: top;
}
