/* Общий стиль страниц-приложений pechka.dev.
   Токены сняты с главной: тёплое поле, огонь, графит, Manrope.
   Форма: контейнеры 14px, интерактив пилюлей. Тема одна, светлая, как на главной. */

@font-face{font-family:'Manrope';font-style:normal;font-weight:500;font-display:swap;
  src:url(/fonts/m500-lat.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:500;font-display:swap;
  src:url(/fonts/m500-cyr.woff2) format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Manrope';font-style:normal;font-weight:800;font-display:swap;
  src:url(/fonts/m800-lat.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:800;font-display:swap;
  src:url(/fonts/m800-cyr.woff2) format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}

:root{
  --bg:#edebe7;
  --surface:#f8f7f5;
  --ink:#33363c;
  --ink-soft:#5d6269;
  --mute:#8a8783;
  --line:#dcd8d1;
  --fire:#d9531e;
  --fire-deep:#b8410f;
  --ok:#4e7c5a;
  --r:14px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;overflow-x:hidden}
img{max-width:100%;height:auto}
body{
  background:var(--bg); color:var(--ink);
  font:500 17px/1.65 'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  -webkit-font-smoothing:antialiased;
  background-image:
    radial-gradient(120vw 80vh at 78% -10%, #f6f2ec 0%, rgba(246,242,236,0) 60%),
    radial-gradient(90vw 70vh at 8% 8%, #f1efeb 0%, rgba(241,239,235,0) 55%);
  background-attachment:fixed;
}
.wrap{max-width:1120px;margin:0 auto;padding:0 28px}
a{color:inherit}

header{height:64px;display:flex;align-items:center;justify-content:space-between}
.mark{font-weight:800;font-size:19px;letter-spacing:-.02em;text-decoration:none}
.mark b{color:var(--fire);font-weight:800}
.mark span{color:var(--ink)}
.back{font-size:14px;color:var(--ink-soft);text-decoration:none;transition:color .25s}
.back:hover{color:var(--fire)}

/* герой: асимметричный сплит. 🔴 min-width:0 обязателен — иначе колонка грида
   берёт минимум от натуральной ширины картинки и распирает страницу */
.hero{display:grid;gap:56px;align-items:center;padding:56px 0 96px}
.hero>*{min-width:0}
.hero.tall{grid-template-columns:1.05fr .95fr}
.hero.wide{grid-template-columns:1fr .92fr}
h1{font-weight:800;font-size:clamp(44px,6.4vw,84px);line-height:1;letter-spacing:-.035em;margin:0 0 22px}
.lede{font-size:clamp(18px,2vw,21px);line-height:1.55;color:var(--ink-soft);max-width:32ch;margin:0 0 34px}
.cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;
     padding:15px 30px;border-radius:999px;font-weight:800;font-size:16px;text-decoration:none;
     border:1px solid transparent;
     transition:transform .18s cubic-bezier(.16,1,.3,1),background .25s,border-color .25s,color .25s}
.btn:active{transform:translateY(1px)}
.btn-p{background:var(--fire);color:#fff}
.btn-p:hover{background:var(--fire-deep)}
.btn-s{border-color:var(--line);color:var(--ink)}
.btn-s:hover{border-color:var(--fire);color:var(--fire)}
.shot{width:100%;height:auto;display:block;border-radius:var(--r);
      box-shadow:0 24px 70px rgba(80,64,50,.14),0 2px 8px rgba(80,64,50,.06)}

/* линия и текст в одной колонке: иначе правая половина читается как пустота */
section{padding:82px 0;border-top:1px solid var(--line);max-width:760px}
h2{font-weight:800;font-size:clamp(28px,3.4vw,40px);line-height:1.12;letter-spacing:-.025em;
   margin:0 0 26px;max-width:20ch}
p{margin:0 0 18px;max-width:64ch}
.muted{color:var(--ink-soft)}

/* по нижнему краю: картинки разной высоты, иначе подписи гуляют по вертикали */
.pair{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:30px;align-items:end}
.pair>*{min-width:0}
.pair figcaption{color:var(--mute);font-size:14px;margin-top:10px}
figure{margin:0}

table{border-collapse:collapse;width:100%;max-width:680px;margin:30px 0 0;font-size:16px}
caption{text-align:left;color:var(--mute);font-size:14px;padding-bottom:12px}
th{text-align:left;font-weight:800;font-size:13px;letter-spacing:.06em;text-transform:uppercase;
   color:var(--mute);padding:0 16px 12px 0}
td{padding:13px 16px 13px 0;border-top:1px solid var(--line);vertical-align:baseline}
td:first-child{font-weight:800}
.yes{color:var(--ok);font-weight:800}
.no{color:var(--fire);font-weight:800}

.dl{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);
    padding:34px;max-width:680px;margin-top:8px}
.dl h3{margin:0 0 6px;font-size:20px;font-weight:800}
.dl .meta{color:var(--mute);font-size:15px;margin:0 0 24px}
.facts{display:grid;grid-template-columns:auto 1fr;gap:10px 22px;margin:26px 0 0;font-size:15px}
.facts dt{color:var(--mute)}
.facts dd{margin:0}
.hash{font-family:ui-monospace,'Cascadia Mono',Consolas,monospace;font-size:12.5px;
      word-break:break-all;color:var(--ink-soft)}
.warnbox{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.warnbox strong{font-weight:800}

footer{padding:56px 0 72px;border-top:1px solid var(--line);color:var(--mute);font-size:15px;
       display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
footer a{color:var(--ink-soft);text-decoration:none}
footer a:hover{color:var(--fire)}

/* появление по мере чтения: мотив — порядок, а не украшение */
.rv{opacity:0;transform:translateY(18px);
    transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.rv.in{opacity:1;transform:none}

@media (max-width:880px){
  .hero.tall,.hero.wide{grid-template-columns:1fr;gap:38px;padding:34px 0 64px}
  .lede{max-width:none}
  .wrap{padding:0 20px}
  section{padding:60px 0}
  .dl{padding:24px}
  .pair{grid-template-columns:1fr}
  .facts{grid-template-columns:1fr;gap:4px 0}
  .facts dd{margin-bottom:12px}
}
@media (prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;transition:none}
  .btn{transition:none}
}
