/* Generated by @reddb-io/theme — the print rules (ADR 0027). */
/* DO NOT EDIT — regenerate with `pnpm --filter @reddb-io/theme build`. */
/* Paper reads the light roles, drops interactive chrome, keeps blocks whole and prints one slide per page. */
@page {
  margin: 16mm 14mm;
}
@page reddb-slide {
  size: landscape;
  margin: 10mm;
}
@media print {
  /* Light roles on paper: every pole toggle selects light, on the root and on every contrast island. */
  :root,
  :host,
  [data-color-scheme][data-color-scheme],
  :host([data-color-scheme][data-color-scheme]) {
    --reddb-scheme-not-dark: ;
    --reddb-scheme-not-light: initial;
    color-scheme: light;
  }
  /* Interactive chrome: opt out with data-print="hide", opt back in with data-print="keep". */
  :where(
    [data-print="hide"],
    button,
    form,
    nav,
    dialog,
    [data-skip-link],
    input:not(:where([data-prose] input[type=checkbox])),
    select,
    textarea,
    [data-site-header-region="navigation"],
    [data-site-header-region="actions"]
  ):not([data-print="keep"]) {
    display: none !important;
  }
  /* Blocks a page break must not split, and headings kept with what follows. */
  :where(figure, table, pre, blockquote, img, svg, [data-card], [data-code-block]) {
    break-inside: avoid;
  }
  :where(h1, h2, h3, h4, h5, h6) {
    break-after: avoid;
  }
  :where(p, li) {
    orphans: 3;
    widows: 3;
  }
  /* A collapsed disclosure prints its content. */
  :where(details)::details-content {
    content-visibility: visible;
  }
  /* One slide per page (Base SlideFrame). */
  [data-slide-frame] {
    page: reddb-slide;
    break-before: page;
    break-inside: avoid;
  }
  /* Paper cannot follow a link: Prose writes an external destination after it. */
  :where([data-prose]) a:is([href^="http://"], [href^="https://"])::after {
    content: " (" attr(href) ")";
    color: var(--reddb-color-ink-muted);
    font-size: var(--reddb-type-caption-font-size);
    overflow-wrap: anywhere;
  }
}
