/**
 * The export path. Without this file every layout in a `?print-pdf` export
 * collapses to a stack of unstyled blocks - measured, on all five sections.
 *
 * The cause is a specificity fight, not a missing feature. Vendored
 * reveal.css ships:
 *   html.reveal-print .reveal .slides section {
 *     display: block !important; padding: 0 !important; ... }
 * at (0,3,2), which outranks each layout's own `display: grid !important` at
 * (0,2,1) - !important on both sides, so specificity decides and the vendor
 * wins. Adding `[data-layout]` to the vendor's own chain takes this to
 * (0,4,2), which wins outright rather than by cascade order.
 *
 * Scoped to `html.reveal-print`, NOT wrapped in `@media print`. Reveal
 * paginates by adding that class, measuring each section's scrollHeight, and
 * only then printing - so a rule inside `@media print` does not exist yet at
 * the moment the geometry it affects is being measured, and the export
 * paginates against a layout it never rendered.
 */
html.reveal-print .reveal .slides section[data-layout] {
  display: grid !important;
  padding: var(--slide-pad) !important;
}

html.reveal-print .reveal .slides section[data-layout="full-bleed"] {
  padding: var(--space-5) !important;
}

/* The export runs under whatever brand preset is active, so the ground has to
   come from the role rather than a hardcoded colour, or a light-preset export
   prints dark pages. Chrome drops backgrounds unless asked; `print-color-
   adjust` is what keeps the plate and the glass surfaces on paper. */
html.reveal-print,
html.reveal-print body,
html.reveal-print .reveal .slides section[data-layout] {
  print-color-adjust: exact;
  -webkit-print-color-adjust: exact;
}

/* Chrome's own compositing of a blurred backdrop is unreliable on the print
   path and buys nothing on paper - there is no motion behind the glass to
   suggest. Dropping it also avoids a per-page rasterisation cost on a
   document that may run to dozens of pages. */
html.reveal-print .reveal .tile,
html.reveal-print .reveal pre,
html.reveal-print .reveal .hero-card,
html.reveal-print .reveal .card-face {
  backdrop-filter: none;
}

/* Screen-only chrome. */
html.reveal-print #deck-badge { display: none; }

/* The print path lifts each section out into its own page, leaving the logo
   behind in .slides - it would print once, over the first page. */
html.reveal-print .deck-logo { display: none; }
