/* ═══ 紙にする（Issue 518）═══
   プロジェクト詳細は、そのまま読み解きの資料になっている
   （テーマ・全体像・構成・立場・ループごとの図と経路と引用・手がかり）。
   別に「レポート出力」を作らず、**この画面をそのまま刷る**。

   刷るのは中身だけ。操作するためのものは全部落とす。 */
@page{size:A4 portrait;margin:14mm 12mm}

@media print{
  /* 画面のための入れ物を、紙では素通しにする。
     画面は「画面の高さに収めて中をスクロールさせる」作りなので、
     **入れ物の高さの縛りを全部外さないと1ページで切れる**
     （実際、tab-pane が高さ672pxで中身10,351pxを抱えていた）。 */
  html,body,#root,main,.app,.app-frame,.app-body,.tab-pane,.tab-content{
    height:auto!important;max-height:none!important;min-height:0!important;
    overflow:visible!important;flex:none!important;position:static!important;
  }
  html,body{background:var(--white)!important}
  .tab-pane,.tab-content{padding:0!important;display:block!important}

  /* 操作するものは刷らない。**画面のためだけの部品には screen-only を付ける** */
  .header,.map-toolbar,.btn,.icon-btn,.btn-dashed,.screen-only,
  #boot,.mobile-guard,.warn-banner,.user-menu{display:none!important}

  /* 画面は横幅を決め打ちにしている場所があるので、紙では素直に流す */
  *{max-width:100%!important}
  body,#root,.tab-pane,.tab-content{width:auto!important;min-width:0!important}
  img,svg{max-width:100%!important;height:auto!important}

  /* 紙では影と角丸を落とし、線で区切る */
  .card{box-shadow:none!important;border:1px solid var(--gray-200)!important;
        border-radius:0!important;break-inside:avoid;page-break-inside:avoid}

  /* ループは1つで1ページ。図と経路と引用と手がかりが離れると読めないので、
     途中で切らない。切らないと必ず余白が出るので、**最初から改ページ**にする
     （中途半端に空くより、1ループ1ページの方が資料として読める）。 */
  .card:has(.loop-card){break-inside:auto;page-break-inside:auto}
  .loop-card{break-inside:avoid;page-break-inside:avoid;
             break-before:page;page-break-before:always;margin-top:0!important}
  .loop-card:first-of-type{break-before:auto;page-break-before:auto}
  /* 図が大きすぎると1ページに収まらない。紙では上限をかける */
  .loop-card svg{max-height:105mm!important}
  /* 引用は3行以上まとめて残す */
  blockquote,.quote{orphans:3;widows:3}

  /* 紙は明るい版で刷る（端末のテーマに引きずられない） */
  :root{color-scheme:light}
}
