/* ============================================================
   IMPRESSAO — exportação em PDF via Ctrl+P
   Um slide por página, sem cortes, sem elementos de navegação.
   No diálogo de impressão do navegador, marcar "gráficos de
   plano de fundo" (background graphics) para preservar as
   cores; ver README.md para o passo a passo completo.
   ============================================================ */

@media print {
  @page {
    size: 1280px 720px;
    margin: 0;
  }

  html,
  body {
    overflow: visible !important;
    background: var(--branco) !important;
    width: auto;
    height: auto;
  }

  #app {
    position: static !important;
  }

  .viewport {
    position: static !important;
    display: block !important;
    overflow: visible !important;
  }

  .palco {
    position: static !important;
    width: 1280px !important;
    height: auto !important;
    transform: none !important;
    box-shadow: none !important;
  }

  /* Elementos de navegação e overlays nunca vão para o PDF */
  .controles,
  .contador,
  .barra-progresso,
  .zona-clique,
  .notas-apresentador,
  .visao-geral {
    display: none !important;
  }

  .slide {
    position: relative !important;
    display: flex !important;
    opacity: 1 !important;
    transform: none !important;
    width: 1280px !important;
    height: 720px !important;
    page-break-after: always;
    break-after: page;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .slide:last-of-type {
    page-break-after: auto;
  }

  /* Garante que cores de fundo e acentos sejam impressos
     (o usuário ainda precisa marcar a opção no diálogo,
     isto reforça a intenção via CSS padrão). */
  * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .bloco-codigo,
  .cartao-dado,
  .lista-papeis li,
  .demo-tela {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* KaTeX: garante que os spans de fórmula não sejam cortados
     no meio por uma quebra de página dentro do próprio slide. */
  .katex-display,
  .formula {
    page-break-inside: avoid;
    break-inside: avoid;
  }

  /* Demonstrações interativas: imprime o quadro estático do
     canvas (o navegador rasteriza o conteúdo atual do canvas). */
  .demo-controles {
    display: none !important;
  }
}
