/* =================================================================
   早稲田の公民 実況中継 — 印刷用 (最低限)
   A4 縦・余白控えめ・参考書感を保ちつつインク量を抑える
   ================================================================= */

@media print {
  @page { size: A4 portrait; margin: 18mm 16mm; }

  html, body {
    background: #fff !important;
    color: #000 !important;
    font-size: 11pt;
    line-height: 1.7;
  }

  /* Hide interactive / nav chrome */
  .site-header,
  .site-nav,
  .nav-toggle,
  .preview-banner,
  .breadcrumb,
  .lec-nav,
  .site-footer,
  .reveal__btn,
  .video-frame,
  .video-meta,
  .video-sequence {
    display: none !important;
  }

  /* Sections breathable but compact */
  .page { max-width: 100%; padding: 0; }
  .lec-section { margin: 18pt 0; break-inside: avoid; }
  .gimon-card,
  .term-list,
  .blackboard,
  .activity,
  .think-card,
  .notice {
    break-inside: avoid;
  }

  /* Lecture header — convert pine to mono */
  .lecture-header {
    background: #fff !important;
    color: #000 !important;
    padding: 0 0 14pt;
    border-bottom: 1pt solid #000;
  }
  .lecture-header__num {
    color: #333 !important;
    border-right: 1pt solid #333;
  }
  .lecture-header__chapter { color: #333 !important; }
  .lecture-header__title { color: #000 !important; }
  .lecture-header__title small { color: #444 !important; }

  /* Headings */
  .h-section, .h-sub { color: #000 !important; border-left-color: #333 !important; }

  /* Q block / Gimon */
  .q-block,
  .gimon-card {
    background: #fff !important;
    border: 1pt solid #333 !important;
    border-left: 3pt solid #333 !important;
  }
  .q-block__label,
  .q-block__body,
  .gimon-card li,
  .gimon-card__label { color: #000 !important; }

  /* Key term: underline instead of color */
  .kt {
    color: #000 !important;
    text-decoration: underline;
    text-underline-offset: 2px;
  }
  .kt[data-note]::after { color: #333 !important; }

  /* Blackboard → bordered box, no fill */
  .blackboard {
    background: #fff !important;
    color: #000 !important;
    border: 1.2pt solid #333 !important;
  }
  .blackboard h4,
  .blackboard .bb-key { color: #333 !important; }
  .blackboard .bb-tag {
    background: #fff !important;
    color: #000 !important;
    border: 0.5pt solid #333;
  }

  /* Term list */
  .term-list {
    border: 0.8pt solid #333 !important;
    border-top: 2pt solid #333 !important;
    box-shadow: none !important;
  }
  .term-list dt { color: #000 !important; }

  /* Activity table */
  .activity, .activity table, .activity th, .activity td {
    border-color: #333 !important;
    background: #fff !important;
  }
  .activity thead th { background: #eee !important; color: #000 !important; }

  /* Reflection / think input — leave space to handwrite */
  .think-card textarea {
    background: #fff !important;
    border: 0.8pt solid #000 !important;
    min-height: 110pt;
  }
  .think-card__example { color: #555 !important; }
  .think-card__count { display: none !important; }

  /* Reveal: print answers expanded */
  .reveal__body { display: block !important; background: #f6f6f6 !important; border-color: #333 !important; }

  /* Page breaks */
  h1, h2.h-section { break-after: avoid; }
  .lecture-header { break-after: avoid; }
  .lec-section--check,
  .lec-section--think { break-before: auto; }

  a[href]::after { content: ""; }
}
