/* Print / PDF. The whole point of this site is that it survives without a
   network, and paper survives without electricity. Every page should print as a
   clean field document: no chrome, no interactive affordances, URLs spelled out
   so a printed page is still actionable. */

@page { margin: 18mm 16mm; }

.topnav, .footer, #toasts, .skip, .filterbar, .graph-toolbar,
.step-check, .pager, .icon-btn, .btn, .graph-legend { display: none !important; }

html, body { background: #fff !important; color: #000 !important; font-size: 10.5pt; }
* { box-shadow: none !important; }

.wrap, .wrap-narrow, .wrap-mid { max-width: none; padding: 0; }
.detail-cols { display: block; }
.rail { position: static; margin-top: 14pt; }

h1, h2, h3, h4 { color: #000 !important; page-break-after: avoid; }
.h-display, .h-page, .step-title { font-size: 20pt; }
.h-sec, .tier-name { font-size: 14pt; }

.card, .step-card, .book, .rail-card, .callout, .law, .coll, .scen, .kv, .prec-rung {
  border: 1px solid #bbb !important; background: #fff !important;
  page-break-inside: avoid; border-radius: 3pt !important;
}
.tier-block { page-break-inside: avoid; padding-left: 0; }
.tier-block::before, .tier-dot { display: none; }
.step-grid { display: block; }
.step-card { margin-bottom: 6pt; }

/* A printed link is useless unless the address is on the page. */
.prose a::after, .book-actions a::after, .rail-link::after {
  content: " (" attr(href) ")"; font-size: 8pt; color: #444; word-break: break-all;
}
a { text-decoration: none; color: #000 !important; }

.chip, .src, .dom { border: 1px solid #ccc !important; background: #fff !important; color: #333 !important; }
table.tbl { font-size: 9pt; }
table.tbl th { background: #eee !important; }
.temp-heat { background: #999 !important; }
.graph-shell { display: none; }

.print-only { display: block !important; }
