/* ============================================================
   Секция guide — «Испытания» (#checks) и «Правила» (#rules).
   Версия 10 от 28.09.2026 — правка Тихона по скриншоту 28.09.2026: на
   табличке только название испытания (.rsign-name — заголовок таблички,
   бывший стиль .rsign-need) и описание; подписи .rsign-label,
   пунктирный разделитель и .rsign-test сняты вместе с разметкой.
   Версия 9 от 28.09.2026 — правка заказчика (docx 28.09.2026): название
   испытания в «Как проверяем» — отдельной строкой (.rsign-test).
   Версия 8 от 28.09.2026 — вариант A «Знак».
   #checks — смелое место страницы: пять табличек-указателей на стойках
   вдоль дороги. Десктоп — сетка 12 колонок в три ряда: таблички над
   дорогой (стойки вниз) и под ней (стойки вверх), дорога — во всю ширину
   окна; <960 — дорога вертикальная слева, таблички столбиком, стойки
   горизонтальные. Стойки и дорога — чистый CSS, есть и без JS;
   эффект «Указатели» (styles.css 9.7) только двигает таблички.
   #rules — доска .plate с правилами в две колонки (на телефоне — одна).
   Версии 1–7 — «Всё о гонке» (ветки, карта, фото) — см. git.
   ============================================================ */

/* ---------- #checks ---------- */
.checks{overflow:hidden}
.checks .sec-head h2{font-size:42px;line-height:1.12}

.route{--post-h:40px;--road-h:76px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;
  margin:64px 0 0;padding:0;list-style:none}
/* Дорога — во всю ширину окна, края растворяются */
.route::before{content:'';grid-column:1/-1;grid-row:2;height:var(--road-h);margin:0 calc(50% - 50vw);
  background:
    repeating-linear-gradient(90deg,var(--sand) 0 40px,transparent 40px 78px) 0 50%/100% 5px no-repeat,
    linear-gradient(var(--road-line),var(--road-line)) 0 9px/100% 2px no-repeat,
    linear-gradient(var(--road-line),var(--road-line)) 0 calc(100% - 9px)/100% 2px no-repeat,
    var(--noise),var(--graphite);
  box-shadow:inset 0 1px 0 rgba(0,0,0,.4),inset 0 -1px 0 rgba(0,0,0,.4);
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%)}
.rsign{position:relative;min-width:0}
.rsign:nth-child(1){grid-column:1/span 4;grid-row:1}
.rsign:nth-child(2){grid-column:3/span 4;grid-row:3}
.rsign:nth-child(3){grid-column:5/span 4;grid-row:1}
.rsign:nth-child(4){grid-column:7/span 4;grid-row:3}
.rsign:nth-child(5){grid-column:9/span 4;grid-row:1}
.rsign--up{align-self:end;margin-bottom:var(--post-h)}
.rsign--down{align-self:start;margin-top:var(--post-h)}
/* Стойки: пара — один элемент, левая и правая полосы латуни */
.rsign-posts{position:absolute;left:19%;right:19%;z-index:0;height:calc(var(--post-h) + 6px);
  background:var(--post) 0 0/7px 100% no-repeat,var(--post) 100% 0/7px 100% no-repeat}
.rsign--up .rsign-posts{top:calc(100% - 6px)}
.rsign--down .rsign-posts{bottom:calc(100% - 6px)}
/* Табличка: бумажная, двойная рамка, стальные заклёпки */
.rsign-plate{position:relative;z-index:1;height:100%;padding:26px 30px 30px;border:2px solid #d8b981;border-radius:var(--r-out);
  background:linear-gradient(180deg,#fcf9f2 0%,#f4eee2 100%);color:var(--deep);
  box-shadow:inset 0 1px 0 #fff,0 16px 32px rgba(5,10,20,.4)}
.rsign-plate::before{content:'';position:absolute;inset:6px;border:1.5px solid rgba(31,58,95,.62);border-radius:var(--r-in);pointer-events:none}
.rsign-plate::after{content:'';position:absolute;inset:12px;pointer-events:none;
  background:var(--rivet-steel) 0 0/8px 8px no-repeat,var(--rivet-steel) 100% 0/8px 8px no-repeat,
    var(--rivet-steel) 0 100%/8px 8px no-repeat,var(--rivet-steel) 100% 100%/8px 8px no-repeat}
.rsign-name{margin:0 0 12px;font-size:22px;line-height:1.2;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--deep);text-wrap:balance}
.rsign-how{margin:0;font-size:15.5px;line-height:1.5;color:#22364f}
.checks-note{margin:40px 0 0}

/* ---------- #rules ---------- */
.board{padding:14px 48px 20px}
.rules-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:56px;margin:0;padding:0;list-style:none}
.rules-item{display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:20px;align-items:start;padding:26px 0;
  border-top:1px dashed rgba(226,195,145,.34)}
.rules-item:nth-child(-n+2){border-top:0}
.rules-ico{display:block;width:48px;height:48px}
.rules-t{margin:2px 0 6px;font-size:19px;line-height:1.3;font-weight:700;color:var(--paper)}
.rules-p{margin:0;font-size:16px;line-height:1.55;color:var(--ink)}

/* ---------- Адаптив ---------- */
@media (max-width:1199px){
  .rsign-plate{padding:22px 24px 26px}
  .rsign-name{font-size:19px}
  .rsign-how{font-size:14.5px}
}
@media (max-width:959px){
  .checks .sec-head h2{font-size:34px}
  .route{--road-w:30px;display:block;position:relative;margin-top:44px;padding-left:calc(var(--road-w) + 26px)}
  .route::before{position:absolute;left:0;top:-24px;bottom:-24px;width:var(--road-w);height:auto;margin:0;
    background:
      repeating-linear-gradient(180deg,var(--sand) 0 24px,transparent 24px 48px) 50% 0/4px 100% no-repeat,
      linear-gradient(var(--road-line),var(--road-line)) 5px 0/1.5px 100% no-repeat,
      linear-gradient(var(--road-line),var(--road-line)) calc(100% - 5px) 0/1.5px 100% no-repeat,
      var(--noise),var(--graphite);
    box-shadow:inset 1px 0 0 rgba(0,0,0,.4),inset -1px 0 0 rgba(0,0,0,.4);
    -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 40px,#000 calc(100% - 40px),transparent 100%);
    mask-image:linear-gradient(180deg,transparent 0,#000 40px,#000 calc(100% - 40px),transparent 100%)}
  .rsign,.rsign--up,.rsign--down{margin:0 0 22px}
  .rsign:last-child{margin-bottom:0}
  .rsign-posts,.rsign--up .rsign-posts,.rsign--down .rsign-posts{top:24%;bottom:24%;left:-28px;right:auto;width:32px;height:auto;
    background:var(--post-v) 0 0/100% 7px no-repeat,var(--post-v) 0 100%/100% 7px no-repeat}
  .rules-list{grid-template-columns:1fr}
  .rules-item:nth-child(2){border-top:1px dashed rgba(226,195,145,.34)}
}
@media (max-width:767px){
  .checks .sec-head h2{font-size:28px}
  .route{--road-w:26px;padding-left:calc(var(--road-w) + 22px)}
  .rsign-posts,.rsign--up .rsign-posts,.rsign--down .rsign-posts{left:-24px;width:28px}
  .rsign-plate{padding:22px 20px 24px}
  .rsign-name{font-size:18.5px;margin-bottom:10px}
  .rsign-how{font-size:15px}
  .board{padding:8px 22px 14px}
  .rules-item{grid-template-columns:40px minmax(0,1fr);column-gap:16px;padding:22px 0}
  .rules-ico{width:40px;height:40px}
  .rules-t{font-size:17.5px}
}
@media (forced-colors:active){
  .rsign-plate{border-color:CanvasText}
}
