/* Печать текущего листа: A4, книжная, поля 12 мм, только диаграмма.
 *
 * Лист печати собирает src/ui/print.js: копия `exportSvgString` в
 * `#print-sheet`. На экране контейнер скрыт, на печати — показан, а `#app`
 * скрыт целиком. Почему копия, а не живой лист — см. шапку print.js.
 *
 * Этот файл подключён последним в index.html и вмешивается ТОЛЬКО в
 * @media print (плюс одно правило display:none для контейнера на экране),
 * поэтому ни вёрстку, ни вид на экране он не меняет.
 */

/* Контейнер печати на экране не существует: он собирается на время печати
   и удаляется после `afterprint`. */
#print-sheet { display: none; }

@media print {
  /* A4 книжная, поля 12 мм: 186 × 273 мм полезной площади. */
  @page { size: A4; margin: 12mm; }

  /* Приложение целиком не печатается, когда собрана копия листа: панели,
     тулбар, статусбар и справочник иначе съели бы поля и дали обрезанные
     края. Класс ставит print.js перед window.print(). */
  body.printing #app { display: none !important; }
  body.printing #print-sheet { display: block; }

  /* Требование задания: этих узлов на печати нет в любом случае. Список
     продублирован явно, потому что при неудачной сборке копии печатается
     живой лист — и тогда панели должны исчезнуть хотя бы здесь. */
  #toolbar,
  #left,
  #right,
  #toolstrip,
  #statusbar,
  #ref,
  #course-mode,
  #modal-root,
  sc-command-palette { display: none !important; }

  /* Цвета листа — бумажные: фон белый, тени и скругления не печатаются. */
  html, body {
    background: #fff !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Копия листа — ровно полезная площадь A4 при полях 12 мм (186 × 273 мм).
     `justify-content: center` ставит рисунок с подписью на середину листа, а
     подпись остаётся НЕПОСРЕДСТВЕННО под рисунком: при `space-between` она
     уезжала в самый низ страницы, и у небольшой диаграммы между ними
     оставалась пустая полоса в пол-листа. */
  .ps-page {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 273mm;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  /* Печать всех диаграмм: каждый лист — своя страница. Разрыв ставится
     ПЕРЕД следующим листом, а не после каждого: `break-after` у последнего
     дал бы пустую страницу в конце. Печать одной диаграммы — это тот же
     механизм с одной страницей, и правило к ней не применяется. */
  .ps-page + .ps-page {
    break-before: page;
    page-break-before: always;
  }

  .ps-art {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 0;
  }

  /* Вписывание: родной размер SVG — это размер листа в пикселях. Маленькая
     диаграмма печатается как есть, большая ужимается по обеим осям. `meet`
     (в print.js) держит пропорции, поэтому края не режутся.
     `max-height` вычитает место подписи (≈10 мм): иначе высокая диаграмма
     вытолкнула бы подпись за поле страницы. */
  .ps-art > svg {
    display: block;
    max-width: 100%;
    max-height: 258mm;
    width: auto;
    height: auto;
  }

  /* Подпись под листом: имя модели · имя диаграммы · дата. Мелкая и серая —
     это колонтитул, а не часть диаграммы. */
  .ps-caption {
    flex: 0 0 auto;
    padding-top: 4mm;
    font: 9px/1.4 Arial, Helvetica, sans-serif;
    color: #555;
    text-align: center;
  }
}
