/* Print packet styling — linked with media="print" on every page. */
@page { margin: 2cm; }

.site-header, .sidebar, .site-footer, .print-action,
.theme-toggle, .header-search, .mobile-nav, .world-map, .crumb,
.toc, .heading-anchor {
  display: none !important;
}
body {
  background: #fff !important;
  color: #000 !important;
  font-size: 12pt;
  line-height: 1.5;
}
.shell { display: block; max-width: none; padding: 0; }
main { max-width: none; }
h1, h2, h3 { color: #000; }
main h1::after {
  content: " — Numina Reference";
  font-size: 0.5em;
  font-weight: normal;
  color: #444;
}
a { color: #000; text-decoration: none; }
main a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 0.85em; }
blockquote, table, li, dl { break-inside: avoid; }
.printable main h2 { break-before: page; }
.printable main h2:first-of-type { break-before: avoid; }

/* Card sheets are meant to be folded and carried, so they must stay dense: no
   per-section page breaks, tighter type, and tables that keep their rows
   together instead of spreading over several sheets. */
.cardsheet main h2 { break-before: auto; }
.cardsheet { font-size: 7.5pt; line-height: 1.18; }
.cardsheet main h1 { font-size: 14pt; margin-bottom: 0.15rem; }
.cardsheet main h1::after { content: none; }
.cardsheet main h2 { font-size: 10pt; margin: 0.35rem 0 0.1rem; }
.cardsheet main h3 { font-size: 8.5pt; margin: 0.25rem 0 0.05rem; }
.cardsheet main p { margin: 0.15rem 0; }
.cardsheet main .lede { font-size: 8pt; }
.cardsheet main table { margin: 0.15rem 0; width: 100%; }
.cardsheet main th, .cardsheet main td { padding: 1px 4px !important; }
.cardsheet main h2, .cardsheet main h3, .cardsheet main table { break-inside: avoid; }
.cardsheet main h2, .cardsheet main h3 { break-after: avoid; }
.infobox { float: none; border: 1px solid #999; box-shadow: none; }

/* neutralize screen ornamentation for print */
.orn { display: none !important; }
body { background-image: none !important; }
.card::before, .card::after,
.home-card::before, .home-card::after,
.infobox::before, .infobox::after,
.site-header::after, .site-footer::before,
.wordmark::before, hr::before, hr::after,
.shell main > h2::after { content: none !important; display: none !important; }
h1, h2, h3, h4, p::first-letter { text-shadow: none !important; }
.shell main > h2 { background: none !important; border-bottom: 1px solid #000; }
hr { background: none !important; border-top: 1px solid #999; }
table { border: 1px solid #999 !important; box-shadow: none !important; padding: 0 !important; }
th, td { border: 1px solid #999 !important; background: none !important; }
.infobox__flag { clip-path: none; box-shadow: none; }
blockquote { border-top: none; border-bottom: none; }
