/* ══ shiftiswild · единый CSS печатного листа ═══════════════════════════
   Один файл на все листы: и на готовый /sheets/, и на конструктор
   /sheets/build/. Правки печати делаются ЗДЕСЬ, иначе две страницы
   разъедутся, и человек напечатает не то, что видел на экране.

   Проверено замером PDF 2026-08-06: Letter, одна страница, поля 10 мм.
   Две вещи, на которых уже обожглись, — не трогать:

   1. Линейки для письма — это border, а НЕ background-image. В диалоге
      печати Chrome галка «Background graphics» ВЫКЛЮЧЕНА по умолчанию,
      и фоновые линии не печатаются вообще: человек получает пустые рамки.
   2. Правило узкого экрана обязано быть @media screen. Без слова screen
      оно перебивает печатное (стоит ниже по файлу) и поля уезжают на
      6 мм — в непечатаемую зону половины принтеров.
   3. Поля бумаги задаёт ПАДДИНГ листа, а не @page margin. Проверено
      2026-08-06: с @page margin:10mm headless Chrome напечатал лист
      впритык к краю, 0 мм. Настройка полей в печатном диалоге тоже
      перебивает @page. Паддинг элемента не перебивает никто.
      Цена решения: поля получает только ПЕРВАЯ страница. Поэтому
      конструктор и держит форму в одну страницу, а не «как выйдет».
   ═════════════════════════════════════════════════════════════════════ */

:root{
  --ink:#1A1D1F; --paper:#F5F1E8; --coral:#E86A5C; --teal:#4A7A7E;
  --line:#1A1D1F; --soft:#8A8A84; --rule:#C9C9C4; --cell:#BDBDB7;
  --f-d:"Anton",Impact,sans-serif; --f-t:"Inter",system-ui,sans-serif;
  --f-m:"JetBrains Mono",ui-monospace,monospace;
}

/* ── сам лист ───────────────────────────────────────────────────────── */
.stage{overflow:hidden}
.sheet{
  width:215.9mm; min-height:279.4mm; margin:0 auto; padding:10mm;   /* = Letter */
  background:#fff; color:var(--ink); box-shadow:0 10px 30px rgba(0,0,0,.16);
  transform-origin:top left;
  /* Свой шрифт, НЕ унаследованный от страницы. Строки с чекбоксами
     держат высоту по шрифту родителя, и правка типографики панели
     (15px → 16px) молча сделала бумагу на три миллиметра выше. */
  font:400 15px/1.5 var(--f-t);
}
.grid{display:grid; grid-template-columns:repeat(12,1fr); gap:2.1mm; align-content:start}

.b{border:1.1px solid var(--line);border-radius:1.5px;padding:1.1mm 1.7mm 1.4mm;
   min-width:0;position:relative}
.b>h2{font:500 7.2px/1 var(--f-m);letter-spacing:.14em;text-transform:uppercase;
      color:#000;margin:0 0 1.4mm}
.sp1{grid-column:span 1}  .sp2{grid-column:span 2}  .sp3{grid-column:span 3}
.sp4{grid-column:span 4}  .sp5{grid-column:span 5}  .sp6{grid-column:span 6}
.sp7{grid-column:span 7}  .sp8{grid-column:span 8}  .sp9{grid-column:span 9}
.sp10{grid-column:span 10}.sp11{grid-column:span 11}.sp12{grid-column:span 12}

/* линейки для письма — настоящие рамки, см. пункт 1 в шапке */
.ln i{display:block;height:4.7mm;border-bottom:.8px solid var(--rule)}

/* строка «подпись: ______» */
.f{display:flex;align-items:baseline;gap:1.2mm;font:500 7px/1.6 var(--f-m);
   letter-spacing:.06em;text-transform:uppercase;color:#000}
.f i{font-style:normal;flex:1;border-bottom:1px solid #B9B9B3;min-height:4.4mm}
.row{display:flex;flex-wrap:wrap;gap:1.2mm 3mm}
.row>.f{flex:1 1 auto}

/* чекбоксы-квадратики */
.ck{display:inline-flex;align-items:center;gap:1.1mm;font:500 7px/1 var(--f-m);
    letter-spacing:.05em;text-transform:uppercase;margin:0 2.4mm .9mm 0;white-space:nowrap}
.ck::before{content:"";width:2.7mm;height:2.7mm;border:1.1px solid var(--line);
            border-radius:.5px;flex:none}

/* таблицы со временем */
.b table{width:100%;border-collapse:collapse;font:500 7px/1 var(--f-m)}
.b td,.b th{border:.8px solid var(--cell);height:5.2mm;padding:0 1mm;text-align:left;
            font-weight:500;letter-spacing:.04em}
.b th{background:#F1F1EC;text-transform:uppercase;font-size:6.4px;height:4.4mm}

/* ── кожа: силуэт + нумерованные строки ─────────────────────────────── */
.skin{display:grid;grid-template-columns:41mm 1fr;gap:3mm;align-items:start}
.skin img{width:100%;height:auto;display:block}
.skin-cap{font:500 6.4px/1.3 var(--f-m);letter-spacing:.08em;text-transform:uppercase;
          text-align:center;color:#6B6B66;margin-top:.8mm}
.wound{display:grid;grid-template-columns:5mm 1fr;gap:0;border-top:.8px solid var(--cell)}
.wound>div{border-bottom:.8px solid var(--cell);height:5.6mm;display:flex;align-items:center;
           padding:0 1mm;font:500 7px/1 var(--f-m)}
.wound>div:nth-child(odd){justify-content:center;border-right:.8px solid var(--cell);
                          background:#F7F7F3}

/* ── свой логотип и название юнита ──────────────────────────────────── */
.brand{grid-column:span 12;display:flex;align-items:center;gap:3mm;
       padding-bottom:1.4mm;border-bottom:1.1px solid var(--line)}
.brand img{max-height:11mm;max-width:52mm;width:auto;height:auto;display:block}
.brand span{font:500 9px/1.2 var(--f-m);letter-spacing:.12em;text-transform:uppercase}

.foot{grid-column:span 12;display:flex;justify-content:space-between;flex-wrap:wrap;gap:2mm;
      font:500 6.4px/1 var(--f-m);letter-spacing:.1em;text-transform:uppercase;
      color:var(--soft);padding-top:1mm}

/* ── шапка раздела: одна на все три страницы ─────────────────────────
   Печатные листы — такая же часть сайта, как доска. С них должна быть
   дорога назад: без неё человек, пришедший из поиска на лист, уходит
   в никуда. На бумагу шапка не идёт (.no-print). */
.skip-link{position:fixed;left:8px;top:-60px;z-index:99;background:var(--ink);
  color:var(--paper);font:500 12px/1 var(--f-m);letter-spacing:.08em;
  text-transform:uppercase;padding:11px 14px;border-radius:5px;text-decoration:none;
  transition:top .15s}
.skip-link:focus,.skip-link:focus-visible{top:8px}

/* ── шапка ─────────────────────────────────────────────────────────── */
.top .wrap{max-width:215.9mm;margin-inline:auto;padding-inline:16px}
.top{background:var(--ink);color:var(--paper);border-bottom:2px solid var(--ink)}
.top .wrap{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;
           padding-block:14px}
.top a.home{font:400 17px/1 var(--f-d);text-transform:uppercase;letter-spacing:.02em;
            text-decoration:none;color:var(--paper)}
.top a.home b{color:var(--coral);font-weight:400}
.top nav{margin-left:auto;display:flex;gap:18px;font:500 11px/1 var(--f-m);
         letter-spacing:.1em;text-transform:uppercase}
.top nav a{color:rgba(245,241,232,.72);text-decoration:none}
.top nav a:hover,.top nav a[aria-current]{color:var(--paper)}

/* ── доступность, общая для всех страниц раздела ─────────────────────
   sheet.css подключают и витрина, и готовый лист, и конструктор —
   значит базовый фокус и уважение к prefers-reduced-motion живут здесь,
   а не в трёх местах по-разному. */
a:focus-visible, button:focus-visible,
select:focus-visible, input:focus-visible, summary:focus-visible{
  outline:3px solid var(--teal); outline-offset:2px; border-radius:3px;
}
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{
    animation-duration:.01ms !important; animation-iteration-count:1 !important;
    transition-duration:.01ms !important; scroll-behavior:auto !important;
  }
}

/* ── печать ─────────────────────────────────────────────────────────── */
@page{size:letter;margin:0}
@media print{
  .no-print{display:none !important}
  .stage{overflow:visible;height:auto !important}
  .sheet{box-shadow:none;margin:0;width:auto;min-height:auto;padding:10mm;
         transform:none !important}
  .b{border-color:#000;break-inside:avoid}
}

/* Узкий экран: лист НЕ перевёрстывается. Он остаётся печатным и целиком
   уменьшается через transform — этим занимается fit.js. Правила ширины
   здесь нет намеренно: любая перевёрстка под экран означала бы, что
   человек видит одно, а печатает другое. */
