@layer print {

/* ============================================================
   TY MABEE - FIELD JOURNAL · print
   ------------------------------------------------------------
   Linked with media="print", so it never blocks render.
   Goal: Ctrl+P produces a field journal someone would keep -
   not a screenshot of a website.
   ============================================================ */

@media print {
  @page { size: letter; margin: 16mm 14mm; }

  /* Ink on white. Overriding the semantic tier is enough -
     every derived token follows automatically. */
  :root {
    --paper: #fff; --paper-warm: #fff; --paper-deep: #fff; --stock: #fff;
    --ink: #000; --ink-soft: #333;
    --green: #1f3626; --green-deep: #1f3626;
    --brown: #4a3320; --rust: #6b3a20; --amber: #7a6020;
    --stamp-red: #5c231a;
    --colophon-bg: #fff; --colophon-fg: #000;
    --colophon-mute: #444; --colophon-link: #1f3626;
  }

  /* Screen-only chrome. */
  .grain, .cursor, .speck, .spine, .tabs, .lamp-pool, .paper-gl,
  .loupe, .marquee-wrap, .scroll-cue, .coffee-ring, .torn svg,
  .skip-link, dialog, .pull-cord, .catalogue {
    display: none !important;
  }

  /* Rotations waste ink and print badly; blend modes render as
     flat grey; backdrop filters render as nothing. */
  *, *::before, *::after {
    transform: none !important;
    translate: none !important;
    rotate: none !important;
    box-shadow: none !important;
    filter: none !important;
    animation: none !important;
    transition: none !important;
    mix-blend-mode: normal !important;
    backdrop-filter: none !important;
    -webkit-mask-image: none !important;
            mask-image: none !important;
    content-visibility: visible !important;
  }

  /* The reveal engine must never be able to hide printed content. */
  [data-reveal], [data-note], [data-stamp] { opacity: 1 !important; }
  .scribble-path { stroke-dashoffset: 0 !important; }

  body { font-size: 10.5pt; line-height: 1.45; background: #fff; }

  .cover { min-height: 0; padding: 0; }
  .cover-frame {
    min-height: 0; border: none; border-radius: 0;
    padding: 0 0 6mm; background: none;
    border-bottom: 1pt solid #000;
  }
  .cover-name { font-size: 30pt; margin: 0 0 2mm; }
  .cover-polaroid, .sticker, .stamp-cover { display: none !important; }

  .section { padding: 0 0 8mm; break-inside: avoid; }
  .torn { border-bottom: 0.5pt solid #000; margin: 4mm 0; }
  .entry-title { font-size: 16pt; }
  .entry-head { margin-bottom: 4mm; }

  .project, .specimen, .postcard, .further li, figure { break-inside: avoid; }
  .project { padding: 4mm 0; }
  .specimen-cabinet { border: 0; padding: 0; background: none; }
  .specimen-cabinet::before, .specimen-cabinet::after,
  .drawer-handle, .drawer-toggle, .drawer-peek, .specimen--featured,
  .accession-head .hand { display: none !important; }
  .cabinet-plaque { width: 100%; margin: 0 0 3mm; border-radius: 0; background: none; }
  .specimen-drawer { border: 0; background: none; box-shadow: none; }
  .specimen-drawer + .specimen-drawer { margin-top: 4mm; }
  .drawer-front { min-height: 0; display: flex; padding: 0 0 1.5mm; border-bottom: 0.5pt solid #000; background: none; }
  .drawer-heading { display: flex; align-items: baseline; gap: 3mm; }
  .drawer-count { margin-left: auto; }
  .specimen-drawer > .drawer-tray { display: block !important; padding: 2mm 0 0; background: none; }
  .specimen-drawer::details-content { display: block !important; content-visibility: visible !important; }
  .accession-head { margin: 0 0 1.5mm; padding: 0; border: 0; }
  .accession-list { grid-template-columns: repeat(3, 1fr); gap: 1.5mm 3mm; }
  .accession { min-height: 0; padding: 1mm 0; border: 0; border-bottom: 0.35pt dotted #777; background: none; }
  .accession > strong { font-size: 8pt; }
  .accession > i { display: none; }
  .measurements, .postcard { border-width: 0.5pt; border-radius: 0; }

  /* A printed page cannot be clicked. */
  a[href^="http"]::after,
  a[href^="mailto"]::after {
    content: " (" attr(href) ")";
    font-family: var(--font-mono); font-size: 7pt; color: #444;
  }
  a[href^="#"]::after { content: ""; }

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

/* hidden on screen, revealed above */
.print-only { display: none; }

}
