/* ============================================================
   print.css — вёрстка карточек. Лист А4, АЛЬБОМНАЯ ориентация.
   Один и тот же файл управляет и предпросмотром на экране,
   и печатью, чтобы на бумаге получалось ровно то, что видно.
   ============================================================ */

@page {
  size: A4 landscape;   /* 297 × 210 мм */
  margin: 0;
}

/* ---------- лист ---------- */

.sheet {
  width: 297mm;
  height: 210mm;
  padding: 8mm;                 /* поля листа */
  background: #fff;
  display: grid;
  gap: 0;
  page-break-after: always;
  break-after: page;
  overflow: hidden;
}
.sheet:last-child { page-break-after: auto; break-after: auto; }

/* Раскладки. Ячейки одинаковые — карточки режутся по ровной сетке. */
.sheet.n1 { grid-template-columns: 1fr;         grid-template-rows: 1fr; }
.sheet.n2 { grid-template-columns: 1fr 1fr;     grid-template-rows: 1fr; }
.sheet.n4 { grid-template-columns: 1fr 1fr;     grid-template-rows: 1fr 1fr; }
.sheet.n6 { grid-template-columns: 1fr 1fr 1fr; grid-template-rows: 1fr 1fr; }

/* ---------- карточка ---------- */

.card {
  padding: 6mm 7mm;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  font-family: "Times New Roman", Georgia, serif;
  color: #000;
  background: #fff;
}

/* Обводка карточек. Рамка идёт по всему периметру каждой карточки,
   а соседние карточки сдвигаются на толщину линии друг на друга —
   тогда общая граница рисуется один раз, и ножницам есть по чему идти. */
.sheet.border-dashed .card { border: 1px dashed #333; }
.sheet.border-solid  .card { border: 1px solid  #333; }
.sheet.border-none   .card { border: 0; }

.sheet.border-color .card {
  position: relative;
  border: 1px solid rgba(62, 70, 49, .28);
  padding: 12mm 14mm;
  background-color: #fff;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}
.sheet.border-color .card::before {
  content: "";
  position: absolute;
  inset: 8mm 9mm;
  z-index: 0;
  border-radius: 3mm;
  background: rgba(255, 255, 255, .84);
  box-shadow: 0 1mm 4mm rgba(51, 45, 31, .08);
}
.sheet.border-color .card-head,
.sheet.border-color .card-body,
.sheet.border-color .card-brand-logo { position: relative; z-index: 1; }
.sheet.border-color .card.empty { border: 0; background-image: none !important; }
.sheet.border-color .card.empty::before { content: none; }

.sheet.border-dashed .card,
.sheet.border-solid  .card {
  margin: 0 -0.5px -0.5px 0;
}

/* Пустая ячейка на неполном листе рамки не получает */
.sheet .card.empty { border: 0; }

/* ---------- шапка карточки ---------- */

.card-head {
  border-bottom: 1px solid #999;
  padding-bottom: 2mm;
  margin-bottom: 3mm;
  flex: none;
}
.card-title {
  font-weight: bold;
  font-size: 11.5pt;
  margin-bottom: 1.5mm;
}
.card-fields {
  display: flex;
  gap: 6mm;
  font-size: 10pt;
  color: #000;
}
.card-fields .fill { flex: 1; }
.card-fields .line {
  display: inline-block;
  border-bottom: 1px solid #666;
  min-width: 22mm;
  flex: 1;
}

/* ---------- задания ---------- */

.card-body { flex: 1; min-height: 0; }

/* Фирменный логотип внизу каждой карточки. Размер и полупрозрачная
   овальная подложка повторяют оформление карточек «Мастера контента». */
.card-brand-logo {
  position: relative;
  z-index: 1;
  flex: none;
  align-self: center;
  box-sizing: content-box;
  width: 15.25%;
  min-width: 16mm;
  max-width: 43mm;
  margin-top: 2mm;
  padding: 0.9mm 1.8mm;
  border-radius: 999px;
  background: rgba(255, 255, 255, .64);
  box-shadow: 0 .5mm 3mm rgba(255, 255, 255, .72);
  line-height: 0;
  pointer-events: none;
  user-select: none;
}
.card-brand-logo img {
  display: block;
  width: 100%;
  height: auto;
}
.card.empty .card-brand-logo { display: none; }

.task { margin-bottom: 3mm; }
.task:last-child { margin-bottom: 0; }

.task-wording {
  font-weight: bold;
  font-size: 10.5pt;
  margin-bottom: 1mm;
}
.task-text {
  font-weight: normal;
  font-size: 10.5pt;
  margin-bottom: 1mm;
}
.task-insert-letters .task-text {
  font-size: 14pt;
  line-height: 1.25;
}
.task-text .line-item { margin-bottom: 0.8mm; }

/* Место для ответа: полоски */
.answer-lines { margin-top: 1mm; }
.answer-lines .rule {
  border-bottom: 1px solid #8a8a8a;
  height: 7mm;
}

/* Место для ответа: чистое поле под схему разбора.
   Рамки нет — она съедала место и мешала чертить схему. */
.answer-blank {
  margin-top: 1mm;
}

/* ---------- предпросмотр на экране ---------- */

#preview .sheet {
  margin: 0 auto 18px;
  box-shadow: 0 2px 10px rgba(0,0,0,.18);
}

/* html2canvas должен видеть настоящий лист A4, а не уменьшенную экранную
   копию из правой панели. На время экспорта снимаем transform и фиксируем
   размер обёртки: один .sheet всегда превращается ровно в одну PDF-страницу. */
#preview.pdf-exporting {
  width: auto !important;
  height: auto !important;
  max-width: none !important;
  overflow: visible !important;
}
#preview.pdf-exporting .sheet-wrap {
  transform: none !important;
  width: 297mm !important;
  height: 210mm !important;
  margin: 0 !important;
  page-break-inside: avoid;
  break-inside: avoid;
}
#preview.pdf-exporting .sheet {
  margin: 0 !important;
  box-shadow: none !important;
}

/* ---------- собственно печать ---------- */

@media print {
  body { background: #fff !important; }
  header, nav.tabs, .no-print { display: none !important; }
  main { padding: 0 !important; max-width: none !important; }
  #preview .sheet { margin: 0; box-shadow: none; }
  .sheet { break-inside: avoid; }
}

/* ------------------------------------------------------------
   Скруглённая обводка.

   У прямых рамок соседние карточки делят одну линию реза, поэтому
   они наложены друг на друга. Скруглённым углам это не подходит:
   контур должен быть замкнут у каждой карточки, поэтому здесь
   наложение снимается и между карточками остаётся зазор.
   ------------------------------------------------------------ */
.sheet.border-rounded .card,
.sheet.border-rounded-dashed .card {
  margin: 0;
  border-radius: 4mm;
  /* зазор, чтобы скруглённые углы не слипались */
  outline: none;
}

.sheet.border-rounded .card        { border: 1px solid  #333; }
.sheet.border-rounded-dashed .card { border: 1px dashed #333; }

/* Карточки чуть отступают друг от друга — иначе углы соприкасаются
   и по сгибу нечего резать. Внутренние поля уменьшаем на ту же
   величину, чтобы полезная площадь карточки не пострадала. */
.sheet.border-rounded,
.sheet.border-rounded-dashed { gap: 3mm; }

.sheet.border-rounded .card,
.sheet.border-rounded-dashed .card { padding: 5mm 6mm; }

.sheet.border-rounded .card.empty,
.sheet.border-rounded-dashed .card.empty { border: 0; }
