/* Рассказы и стихи по картинкам: сетка как в a4umka, клетки делят высоту листа над текстом, размеры значков по сетке; описательный рассказ — два блока на лист. Шапка компактная, одинаково на A4 и Letter. */
.mn-group[hidden] { display: none; }
.mn-group { display: flex; flex-direction: column; gap: 12px; }
.mn-radios label { display: flex; gap: 8px; align-items: flex-start; margin: 6px 0; font-size: 14px; line-height: 1.4; cursor: pointer; }
.mn-radios input { margin-top: 3px; accent-color: var(--brand-dark); }
.mn-check { font-size: 14px; }
#mn-err:not([hidden]) { color: #b3261e; font-weight: 700; }

.sheet:has(.mn-wrap) .sheet-title, .sheet:has(.mn-dstack) .sheet-title { font-size: 24pt; margin: 3mm 0 1mm; word-break: keep-all; }
.sheet:has(.mn-wrap) .sheet-sub, .sheet:has(.mn-dstack) .sheet-sub { font-size: 11pt; line-height: 1.25; margin: 0 0 3mm; }
.mn-emo { font-family: "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", sans-serif; line-height: 1; white-space: nowrap; }
.mn-wrap { width: 184mm; height: 100%; align-self: stretch; display: flex; flex-direction: column; gap: 3mm; min-height: 0; }
.mn-grid { flex: 1; min-height: 0; display: grid; grid-auto-rows: minmax(0, 1fr); gap: 3mm; }
.mn-cell { position: relative; min-height: 0; border: .35mm solid #bbb; border-radius: 4mm; display: flex; align-items: center; justify-content: center; overflow: hidden; background: #fff; }
.mn-empty { border: .45mm dashed #999; }
.mn-no { position: absolute; left: 2.2mm; top: 2mm; width: 7mm; height: 7mm; border-radius: 50%; background: var(--brand-dark); color: #fff; font: 700 10.5pt/7mm var(--head); text-align: center; }
.mn-pic { font-size: 80pt; }
.mn-pic.mn-k2 { font-size: 50pt; letter-spacing: 1mm; }
.mn-g4 .mn-pic { font-size: 110pt; }
.mn-g4 .mn-pic.mn-k2 { font-size: 80pt; }
.mn-g9 .mn-pic { font-size: 62pt; }
.mn-g9 .mn-pic.mn-k2 { font-size: 40pt; }
.mn-text { flex: none; background: #f6f3ec; border-radius: 3mm; padding: 2.5mm 4mm; display: grid; grid-template-columns: 1fr; gap: 1mm 6mm; font-size: 11.5pt; line-height: 1.25; color: #333; }
.mn-two { grid-template-columns: 1fr 1fr; grid-auto-flow: column; }
.mn-tl { display: flex; gap: 2.5mm; align-items: baseline; }
.mn-tl b { color: var(--brand-dark); min-width: 4mm; }
.mn-src { flex: none; margin-top: -1.5mm; text-align: right; font-size: 9pt; color: #777; font-style: italic; }

.mn-dstack { width: 184mm; height: 100%; align-self: stretch; display: flex; flex-direction: column; gap: 4mm; min-height: 0; }
.mn-dblock { flex: 1 1 0; min-height: 0; display: flex; gap: 3mm; border: .35mm solid #bbb; border-radius: 4mm; padding: 3mm; background: #fff; }
.mn-dobj { flex: 0 0 46mm; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3mm; background: #f6f3ec; border-radius: 3mm; min-width: 0; padding: 0 1mm; }
.mn-dpic { font-size: 84pt; }
.mn-dname { font: 600 13pt/1.15 var(--head); text-align: center; word-break: keep-all; overflow-wrap: anywhere; }
.mn-dq { flex: 1; min-width: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: minmax(0, 1fr); gap: 2mm; }
.mn-dcell { position: relative; min-height: 0; border: .3mm solid #ddd; border-radius: 3mm; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1.5mm; padding: 8mm 1.5mm 1.5mm; text-align: center; overflow: hidden; }
.mn-dcell .mn-no { width: 6mm; height: 6mm; font-size: 9.5pt; line-height: 6mm; left: 1.5mm; top: 1.5mm; }
.mn-qic { font-size: 30pt; }
.mn-qt { font-size: 10pt; line-height: 1.2; color: #444; word-break: keep-all; overflow-wrap: anywhere; }
