/* ============================================================
   print.css — 印刷 / PDF保存用（A4横・1セクション＝1ページ）
   ブラウザの印刷ダイアログで
   「用紙: A4」「向き: 横」「余白: なし」「背景のグラフィック: オン」
   ============================================================ */

@page {
  size: A4 landscape;
  margin: 0;
}

@media print {
  html, body { background: #fff !important; }

  .topbar, .progress, .print-hint { display: none !important; }

  * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .sheet { display: block; padding: 0; gap: 0; }

  .page {
    width: 297mm;
    height: 210mm;
    max-width: none;
    aspect-ratio: auto;
    margin: 0;
    box-shadow: none !important;
    overflow: hidden;
    break-inside: avoid;
    break-after: page;
    page-break-inside: avoid;
    page-break-after: always;
  }
  .page:last-child { break-after: auto; page-break-after: auto; }

  .card, .step, .plan, .fact, .voice, .item, .layer, .rm-col,
  .role-col, .gd-box, .gd-gap, .toc-item, .act, .cat-col {
    break-inside: avoid; page-break-inside: avoid;
  }

  /* 濃色面の背景を強制 */
  .page.cover { background: #0d1420 !important; }
  .page.dark { background: #101722 !important; color: #fff !important; }
  .page.closing { background: #0d1420 !important; }
  .card.navy { background: #16345e !important; color: #fff !important; }
  .ba-col.after { background: #16345e !important; color: #fff !important; }
  .ba-col.before { background: #f5f6f7 !important; }
  .step .sn { background: #16345e !important; color: #fff !important; }
  .step.on .sn { background: #c2712a !important; }
  .mx thead th { background: #16345e !important; color: #fff !important; }
  .mx td.scene { background: #f5f6f7 !important; }
  .role-col.jmam { background: #eaeff6 !important; }
  .role-col.san { background: #fbf1e6 !important; }
  .role-shared { background: #12161c !important; color: #fff !important; }
  .plan.reco .plan-h { background: #fbf1e6 !important; }
  .reco-badge { background: #c2712a !important; color: #fff !important; }
  .card.pale { background: #f5f6f7 !important; }
  .card.amber { background: #fbf1e6 !important; }
  .voice { background: #f5f6f7 !important; }
  .toc-note { background: #f5f6f7 !important; }
  .tag { color: #fff !important; }
  .tag.rel { background: #2a568c !important; }
  .tag.und { background: #3d7a6a !important; }
  .tag.cre { background: #c2712a !important; }
  .tag.fix { background: #7a4a86 !important; }
  .rm-bar .b1 { background: #16345e !important; }
  .rm-bar .b2 { background: #2a568c !important; }
  .rm-bar .b3 { background: #c2712a !important; }
  .gd-gap { background: #faf5ee !important; }

  .page.cover .folio { display: none !important; }
  .page.closing .folio { color: rgba(255,255,255,.55) !important; }

  a[href]::after { content: "" !important; }
  a { color: inherit !important; text-decoration: none !important; }

  .reveal { opacity: 1 !important; transform: none !important; }
}
