/* ════════════════════════════════════════════════════════════════════════
   PRINT / PDF EXPORT — strips all app chrome, formats document only
   ════════════════════════════════════════════════════════════════════════ */
@media print {
  /* Hide everything except the document content */
  #sidebar,
  #topbar,
  #toolbar-row,
  #stats-popover,
  #link-popover,
  #overlay,
  .tb-tooltip,
  [role="toolbar"] {
    display: none !important;
  }

  /* Reset the layout */
  html, body, #app, #main, #body, #canvas {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    overflow: visible !important;
    background: white !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #editor-scroll {
    overflow: visible !important;
    height: auto !important;
    padding: 0 !important;
  }

  #editor-paper {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    border: none !important;
    border-radius: 0 !important;
    background: white !important;
  }

  #editor-column {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  #editor {
    padding: 0 !important;
    min-height: auto !important;
  }

  /* Typography — clean for print */
  .ProseMirror {
    font-size: 11pt !important;
    line-height: 1.6 !important;
    color: #000 !important;
    max-width: 100% !important;
  }

  .ProseMirror h1 { font-size: 19pt !important; line-height: 1.05 !important; margin: 0 0 11pt !important; }
  .ProseMirror h2 { font-size: 15.8pt !important; line-height: 1.09 !important; margin: 15pt 0 8pt !important; }
  .ProseMirror h3 { font-size: 13.2pt !important; line-height: 1.15 !important; margin: 12pt 0 6pt !important; }
  .ProseMirror h4 { font-size: 11.8pt !important; line-height: 1.2 !important; margin: 11pt 0 5pt !important; }
  .ProseMirror h5 { font-size: 11.2pt !important; line-height: 1.2 !important; margin: 11pt 0 5pt !important; font-weight: 635 !important; }
  .ProseMirror h6 { font-size: 11pt !important; line-height: 1.2 !important; margin: 10pt 0 5pt !important; color: #383838 !important; letter-spacing: 0.002em !important; font-weight: 620 !important; }
  .ProseMirror p  { margin: 0 0 8pt !important; orphans: 3; widows: 3; }
  .ProseMirror :is(p[data-style-variant="caption"], .prose-image-caption, .table-data-block__caption, .table-data-block__footer) { width: min(100%, 34rem) !important; margin-left: auto !important; margin-right: auto !important; font-size: 9.1pt !important; line-height: 1.46 !important; letter-spacing: 0.022em !important; color: #6c6c6c !important; font-style: normal !important; }
  .ProseMirror p[data-style-variant="caption"] { margin: 1pt auto 9pt !important; text-align: center !important; }
  .ProseMirror p[data-style-variant="note"] { margin: 1pt 0 10pt !important; padding: 7pt 10pt !important; font-size: 10pt !important; line-height: 1.58 !important; color: #333 !important; background: #fafafa !important; border: 0 !important; box-shadow: inset 0 0 0 0.6pt rgba(0, 0, 0, 0.08) !important; border-radius: 2pt !important; }
  .ProseMirror blockquote { margin: 2pt 0 12pt !important; padding: 8pt 12pt 8pt 11pt !important; font-size: 11pt !important; line-height: 1.62 !important; color: #262626 !important; background: #f7f7f5 !important; border-left: 2.5pt solid #8e98b8 !important; border-radius: 0 4pt 4pt 0 !important; font-style: normal !important; }
  .ProseMirror blockquote p { margin: 0 0 6pt !important; }
  .ProseMirror blockquote > :last-child { margin-bottom: 0 !important; }
  .ProseMirror code { font-family: 'JetBrains Mono', 'Courier New', monospace !important; font-size: 9.4pt !important; line-height: 1.42 !important; background: #f3f3f1 !important; border: 0.75pt solid #d7d2ca !important; border-radius: 3pt !important; padding: 0.08em 0.34em !important; }
  .ProseMirror pre { margin: 0 0 12pt !important; padding: 9pt 11pt !important; font-family: 'JetBrains Mono', 'Courier New', monospace !important; font-size: 9.5pt !important; line-height: 1.58 !important; color: #111 !important; background: #f5f5f3 !important; border: 0.8pt solid #d2cdc5 !important; border-radius: 5pt !important; overflow: visible !important; white-space: pre-wrap !important; word-break: break-word !important; }
  .ProseMirror pre code { display: block !important; background: transparent !important; border: 0 !important; border-radius: 0 !important; padding: 0 !important; font-size: inherit !important; line-height: inherit !important; color: inherit !important; white-space: inherit !important; }

  .ProseMirror a { color: #000 !important; text-decoration: underline !important; text-underline-offset: 4px !important; }
  .ProseMirror u { text-underline-offset: 4px !important; }

  /* Avoid breaking inside these */
  .ProseMirror blockquote,
  .ProseMirror pre { page-break-inside: avoid; }

  /* Preserve image float layout at print time.
     Use descendant selectors (not >) so the rules apply even when the
     image is wrapped in an <a> tag (e.g. pasted from Wikipedia). */
  .ProseMirror p:has(.prose-image.align-left[style*="max-width"]),
  .ProseMirror p:has(.prose-image.align-right[style*="max-width"]) {
    margin: 0 !important;
    padding: 0 !important;
  }
  .ProseMirror .prose-image.align-left[style*="max-width"] {
    float: left !important;
    margin: 0.4em 1.4em 0.8em 0 !important;
    display: inline-block !important;
  }
  .ProseMirror .prose-image.align-right[style*="max-width"] {
    float: right !important;
    margin: 0.4em 0 0.8em 1.4em !important;
    display: inline-block !important;
  }
  .ProseMirror .prose-image.align-center {
    float: none !important;
    display: block !important;
    margin: 1.2em auto !important;
  }
  .ProseMirror .prose-image.align-left:not([style*="max-width"]) {
    float: none !important;
    display: block !important;
    margin-right: auto !important;
    margin-left: 0 !important;
  }
  .ProseMirror .prose-image.align-right:not([style*="max-width"]) {
    float: none !important;
    display: block !important;
    margin-left: auto !important;
    margin-right: 0 !important;
  }


  .ProseMirror .prose-image-media { display:block; width:100%; height:auto !important; }
  .ProseMirror .prose-image-caption { display:block; text-align:center !important; }

  /* Page margins */
  @page {
    margin: 2cm 2.5cm;
    size: A4;
  }

  /* Hide search highlights (CSS Custom Highlight API) */
  ::highlight(search-results),
  ::highlight(search-current) {
    background-color: transparent !important;
    color: inherit !important;
  }

  /* Notes section */
  #notes-section {
    border-top: 1px solid #ccc !important;
    margin-top: 24pt !important;
    padding-top: 12pt !important;
    font-size: 9pt !important;
    color: #333 !important;
  }
}

