/* ============================================================
   atlas.css — общая система листов ГеоЩита
   ============================================================
   Снята с landing/karta-tualetov/index.html (10.08.2026) и вынесена,
   чтобы новые листы не переписывали её заново и не разъезжались.
   Мир: страница ведёт себя как лист картографического атласа.
   Токены, шрифты и правила — DESIGN.md.

   Шрифты берутся из /karta-tualetov/fonts/ — они уже залиты на домен,
   и дублировать их в каждой папке значило бы платить весом за копии.
   ============================================================ */

@font-face{font-family:'PT Serif';src:url('/karta-tualetov/fonts/pt-serif-cyr-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap;
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'PT Sans';src:url('/karta-tualetov/fonts/pt-sans-cyr-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'PT Sans';src:url('/karta-tualetov/fonts/pt-sans-cyr-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap;
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'PT Sans';src:url('/karta-tualetov/fonts/pt-sans-lat-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+2122,U+2191,U+2193,U+2212,U+FEFF,U+FFFD;}
@font-face{font-family:'PT Narrow';src:url('/karta-tualetov/fonts/pt-narrow-cyr-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap;
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}

:root{
  --ink:#0F2A57;
  --ink-soft:#41608F;
  --paper:#EEF2F9;
  --paper-raised:#F8FAFE;
  --rule:#C3D0E6;
  --brand:#2F6FED;
  --brand-deep:#123A7A;
  --verify:#0E8C7E;
  --plate:#123A7A;
  --plate-grid:#3A66A8;
  --plate-ink:#DCE7FA;
  --plate-label:#9DB8E4;
  --focus:#FFB800;
  --shadow:0 18px 40px -24px rgba(15,42,87,.55);
}
@media (prefers-color-scheme:dark){
  :root{
    --ink:#DCE6F7;--ink-soft:#8FA6C9;--paper:#07142B;--paper-raised:#0D2144;
    --rule:#22406E;--brand:#5B8DFF;--brand-deep:#9DBCFF;--verify:#3ED8C4;
    --plate:#04101F;--plate-grid:#1E3E6E;--plate-ink:#C6D9F5;
    --shadow:0 18px 40px -24px rgba(0,0,0,.8);
  }
}

/* ─── Сорт бумаги листа ──────────────────────────────────────────────
   В атласе разные листы печатают по-разному: карта на холодной бумаге,
   исторический лист на тёплой, обложка темнее остальных. Отсюда варианты
   ниже. Меняются ТОЛЬКО грунт, плита и один акцент — шрифты, ритм и
   структура у всех листов общие, иначе это будут три разных сайта.
   Второстепенный текст всегда тонирован от собственного цвета листа,
   никогда не серый (правило из DESIGN.md, распространено на новые сорта). */

/* Тёплый лист: старая бумага, сепия. Для исторических разборов. */
body.warm{
  --ink:#2E2417;
  --ink-soft:#6B5B41;
  --paper:#F4EFE3;
  --paper-raised:#FBF7EE;
  --rule:#DCD0B8;
  --brand:#9C4A22;
  --brand-deep:#6E3315;
  --verify:#5E7A3A;
  --plate:#3D3222;
  --plate-grid:#6B5B41;
  --plate-ink:#F0E7D5;
  --plate-label:#C4B295;
  --shadow:0 18px 40px -24px rgba(46,36,23,.5);
}
@media (prefers-color-scheme:dark){
  body.warm{
    --ink:#EFE6D6;--ink-soft:#B5A488;--paper:#171208;--paper-raised:#241D10;
    --rule:#3E3423;--brand:#E08A5A;--brand-deep:#F2B48C;--verify:#9FC275;
    --plate:#0E0A04;--plate-grid:#3A2F1E;--plate-ink:#E8DCC6;--plate-label:#B5A488;
    --shadow:0 18px 40px -24px rgba(0,0,0,.85);
  }
}

/* Обложка: тёмный лист даже при светлой системе. Для содержания. */
body.cover{
  --ink:#E7EEFA;
  --ink-soft:#93AAD0;
  --paper:#0C1D3D;
  --paper-raised:#12294F;
  --rule:#254474;
  --brand:#7FB0FF;
  --brand-deep:#A8CBFF;
  --verify:#49D9C4;
  --plate:#050F22;
  --plate-grid:#1E3E6E;
  --plate-ink:#C6D9F5;
  --plate-label:#93AAD0;
  --shadow:0 18px 40px -24px rgba(0,0,0,.7);
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:'PT Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  font-size:17px;line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
.sheet{max-width:760px;margin:0 auto;padding:clamp(18px,4vw,40px) clamp(16px,4vw,32px) clamp(56px,8vw,96px)}
a{color:var(--brand)}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:2px}

/* ─── Картографическая подпись: капитель в разрядку ─────────────── */
.label{
  font-family:'PT Narrow','PT Sans',sans-serif;font-weight:700;
  text-transform:uppercase;letter-spacing:.14em;font-size:13px;color:var(--ink-soft);
}

/* ─── Колонтитул листа ──────────────────────────────────────────── */
.folio{
  display:flex;justify-content:space-between;align-items:baseline;gap:16px;
  padding-bottom:14px;border-bottom:1px solid var(--rule);
  margin-bottom:clamp(24px,4vw,40px);
}
.folio a{color:var(--ink-soft);text-decoration:none}
.folio a:hover{color:var(--brand)}

/* ─── Заголовки ─────────────────────────────────────────────────── */
h1,h2,h3{font-family:'PT Serif',Georgia,serif;font-weight:700;text-wrap:balance}
h1{font-size:clamp(34px,6.4vw,62px);line-height:1.06;letter-spacing:-.015em;margin:0;max-width:17ch}
h2{font-size:clamp(25px,3.8vw,38px);line-height:1.15;margin:clamp(40px,6vw,64px) 0 14px;max-width:20ch}
h3{font-size:clamp(19px,2.4vw,23px);line-height:1.25;margin:32px 0 8px}
.lede{margin:20px 0 0;font-size:clamp(18px,2.2vw,22px);max-width:46ch;color:var(--ink-soft);text-wrap:pretty}
p{margin:0 0 1.05em;max-width:62ch}
strong{font-weight:700}

/* ─── Указатель мест: строка с отточием ─────────────────────────── */
.index{list-style:none;margin:24px 0 0;padding:0}
.index > li{padding:18px 0;border-top:1px solid var(--rule)}
.index > li:last-child{border-bottom:1px solid var(--rule)}
.entry{display:flex;align-items:baseline;gap:10px;width:100%}
.entry .nm{font-family:'PT Serif',Georgia,serif;font-weight:700;font-size:19px;line-height:1.3}
.entry .dots{flex:1;border-bottom:1.5px dotted var(--rule);transform:translateY(-4px);min-width:20px}
.entry .far{font-family:'PT Narrow','PT Sans',sans-serif;font-weight:700;
  letter-spacing:.06em;font-size:14px;color:var(--ink-soft);white-space:nowrap}
.meta{display:flex;flex-wrap:wrap;gap:6px 18px;margin:8px 0 0}
.meta span{font-size:14.5px;color:var(--ink-soft);display:flex;align-items:center;gap:6px}
.meta svg{flex:none}
.said{
  margin:14px 0 0;padding:14px 16px;background:var(--paper-raised);
  border:1px solid var(--rule);border-radius:10px;
}
.said p{margin:0;font-size:16px;max-width:none}
.said .who{margin-top:10px;font-size:13.5px;color:var(--ink-soft)}

/* ─── Плита ─────────────────────────────────────────────────────── */
.plate{
  margin-top:clamp(28px,4vw,44px);background:var(--plate);color:var(--plate-ink);
  border-radius:14px;padding:clamp(14px,2vw,22px);box-shadow:var(--shadow);
}
.plate svg{display:block;width:100%;height:auto}
.plate-foot{
  margin-top:14px;padding-top:12px;border-top:1px solid var(--plate-grid);
  display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;
  font-family:'PT Narrow','PT Sans',sans-serif;text-transform:uppercase;
  letter-spacing:.12em;font-size:12px;font-weight:700;color:var(--plate-label);
}

/* ─── Примечание на поле листа ──────────────────────────────────── */
.margin-note{
  margin:clamp(28px,4vw,40px) 0 0;padding:18px 20px;
  background:var(--paper-raised);border:1px solid var(--rule);border-radius:12px;
}
.margin-note p:last-child{margin-bottom:0}

/* ─── Действие ──────────────────────────────────────────────────── */
.act{
  margin-top:clamp(32px,5vw,52px);padding-top:clamp(24px,4vw,32px);
  border-top:1px solid var(--rule);
  display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;
}
.btn{
  display:inline-block;padding:14px 26px;border-radius:999px;
  background:var(--brand);color:#fff;text-decoration:none;font-weight:700;font-size:17px;
  transition:transform .18s cubic-bezier(.16,1,.3,1),box-shadow .18s;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px -12px rgba(47,111,237,.9)}
.act p{margin:0;color:var(--ink-soft);font-size:15.5px;max-width:34ch}

/* ─── Подвал листа ──────────────────────────────────────────────── */
.colophon{
  margin-top:clamp(40px,6vw,64px);padding-top:16px;border-top:1px solid var(--rule);
  display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between;
  font-size:14px;color:var(--ink-soft);
}
.colophon a{color:var(--ink-soft)}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
}
