flex-shrink: 0 keeps the button at exactly 36×36 px so border-radius: 50%
stays a circle. lb-brand gets min-width: 0 + overflow: hidden so the
brand text yields space instead of pushing the close button.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
A "View full image" button appears in the single-post hero alongside
the return link. Clicking the lightbox main image also opens the same
overlay from any page. The overlay is pure image on a near-black
backdrop; click backdrop, close button, or Escape to dismiss.
Escape is layered: closes zoom first, then lightbox if zoom is not open.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Global resets (a, button, body, img) were outside any @layer, so
they beat Tailwind's @layer utilities in the cascade. Wrapping them
in @layer base restores the expected order: base < utilities.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Override the browser-default blue/accent-coloured × with a custom
SVG circle using --ink-soft (#5b4f44) so it blends with the UI.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Remove all BEM component classes (hero__*, card__*, issue-card__*, foot__*,
masthead__*, searchpop__*, lb__*) from CSS and templates. Replace with
Tailwind v4 utility classes inline in HTML. Create card.html partial to
avoid repeating verbose utility strings across grid templates. Rename
lightbox CSS to flat lb-* and search popup to sp-*.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Each card frame now shows № 01 at the bottom-left alongside the
existing plate number (top-left) and category (top-right).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>