/* print.css — the print kit's engine, shared by every door. Self-sufficient:
   faces and fallbacks are declared here; @font-face lives with each page's
   own stylesheet (style.css and landing/landing.css both name the same
   families). Moved from style.css 2026-07-10, rules unchanged. */
#print-overlay {
  --display: 'Young Serif', Georgia, 'Iowan Old Style', 'Palatino Linotype', 'Book Antiqua', 'Times New Roman', serif;
  --typewriter: 'Courier Prime', ui-monospace, monospace;
}

.mono { font-family: ui-monospace, monospace; }

/* ---- print overlay (screen preview: stacked paper cards) ---- */
#print-overlay { position: fixed; inset: 0; overflow: auto; background: var(--paper, #f7f3ea); padding: 1rem; z-index: 90; }
.print-toolbar { display: flex; justify-content: space-between; max-width: 46rem; margin: 0 auto 1rem; }
.sheet { background: #fdfbf5; color: #211d16; max-width: 46rem; margin: 0 auto 1.5rem;
         padding: 2.2rem 2.4rem; border: 1px solid rgba(33,29,22,0.18); box-shadow: 0 1px 4px rgba(0,0,0,0.08); }
.sheet-footer { margin-top: 1.5rem; padding-top: 0.5rem; border-top: 1px solid rgba(33,29,22,0.25);
                font-family: var(--typewriter); font-size: 8.5pt; color: rgba(33,29,22,0.6);
                display: flex; justify-content: space-between; }
.cover-rule { border-top: 1px solid rgba(33,29,22,0.4); margin: 1.2rem 0; }
.cover-kicker { font-family: var(--display); font-size: 9pt; letter-spacing: 0.14em; text-transform: uppercase; }
.cover-title { font-family: var(--display); font-weight: normal; font-size: 1.6rem; }
.cover-plea { font-family: var(--display); font-style: italic; }
.cover-promises { margin-top: 1.2rem; font-size: 0.95rem; }
.letter-body { white-space: pre-wrap; max-width: 65ch; }
.readme-pre { white-space: pre-wrap; font-family: var(--typewriter); font-size: 9.5pt; line-height: 1.5; }
.sheet-heading { font-family: var(--display); font-weight: normal; }
.sheet-note { color: rgba(33,29,22,0.6); font-size: 0.9rem; }
.token-holder svg { max-width: 100%; height: auto; }
.register-table { width: 100%; border-collapse: collapse; font-size: 10pt; }
.register-table td, .register-table th { border-bottom: 1px solid rgba(33,29,22,0.25);
                  padding: 0.35rem 0.5rem; text-align: left; }

/* the open-dates card — two per sheet, cut apart along the dashed line */
.sheet-card .wallet-card { padding: 0.6rem 0.2rem; }
.card-heading { font-family: var(--display); font-weight: normal; font-size: 1.15rem; margin-bottom: 0.5rem; }
.card-rows { display: grid; gap: 0.3rem; }
.card-row { display: grid; grid-template-columns: auto 1fr auto; gap: 0.6rem;
            font-size: 9.5pt; align-items: baseline; }
.card-id { font-family: var(--typewriter); }
.card-when { font-family: var(--display); }
.card-for { color: rgba(33,29,22,0.6); }
.card-mark { margin-top: 0.6rem; font-family: var(--typewriter); font-size: 8pt;
             color: rgba(33,29,22,0.55); }
.card-cut { border-top: 1px dashed rgba(33,29,22,0.5); margin: 1.4rem 0; }

/* the key-escrow card — passphrase or hint, handed to someone who isn't the custodian */
.escrow-label { font-family: var(--typewriter); font-size: 8.5pt; text-transform: uppercase;
                letter-spacing: 0.08em; color: rgba(33,29,22,0.6); margin: 1rem 0 0.2rem; }
.escrow-value { font-family: var(--display); font-size: 1.3rem; }

/* ---- the print engine itself ---- */
@page { margin: 15mm; }
@media print {
  body > *:not(#print-overlay) { display: none !important; }
  #print-overlay { position: static; overflow: visible; padding: 0; background: #fff; }
  .print-toolbar { display: none; }
  .sheet { border: none; box-shadow: none; max-width: none; margin: 0; padding: 0 6mm;
           break-after: page; font-size: 11.5pt; }
  .sheet:last-child { break-after: auto; }
  .letter-body { font-size: 11.5pt; }
}
