  :root{
    --bg:#f5f5f5;
    --paper:#fff;
    --ink:#0a0a0a;
    --muted:rgba(10,10,10,.62);
    --line:rgba(10,10,10,.14);
    --radius-card:1.125rem;
    --radius-panel:1.5625rem;
    --max:53.75rem;
    --gutter:2.25rem;
  }
  /* ============================================================
     WIZARDRY — та же база масштаба, что и на главной.
     Десктоп: макет 1654px, базовый кегль 16px (зум 1280…1654).
     Мобильный: макет 390px (зум 320…480).
     ============================================================ */
  html{font-size:0.967351874244256vw}
  @media(min-width:1654px){ html{font-size:16px} }
  @media(max-width:1279px){ html{font-size:12.382103990326482px} }
  @media(max-width:991px){ html{font-size:4.102564102564103vw} }
  @media(max-width:991px) and (min-width:480px){ html{font-size:19.692307692307693px} }
  @media(max-width:320px){ html{font-size:13.128205128205128px} }
  body{font-size:1rem}

  *{box-sizing:border-box}
  html{-webkit-font-smoothing:antialiased}
  body{
    margin:0;
    background:var(--bg);
    color:var(--ink);
    font-family:"Inter","Inter Placeholder",Arial,sans-serif;
    font-weight:500;
    letter-spacing:-.02em;
    line-height:1.55;
  }
  a{color:var(--ink)}
  .wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
  header.topbar{padding:1.375rem var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:1rem}
  .brand{display:flex;align-items:center;gap:0.625rem;text-decoration:none;color:var(--ink);font-size:1rem;font-weight:600;letter-spacing:-.03em}
  .brand img{height:1.375rem;width:auto;display:block}
  .back-link{font-size:0.8125rem;font-weight:500;color:var(--muted);text-decoration:none;letter-spacing:-.02em}
  .back-link:hover{color:var(--ink)}
  main{padding:0 0 clamp(3.75rem,8vw,7.5rem)}
  .doc{
    background:var(--paper);
    border-radius:var(--radius-panel);
    padding:clamp(1.75rem,5vw,4rem);
    box-shadow:0 18px 54px rgba(0,0,0,.06);
  }
  .doc h1{
    margin:0 0 0.5rem;
    font-size:clamp(1.875rem,4vw,2.75rem);
    font-weight:600;
    line-height:1.08;
    letter-spacing:-.04em;
  }
  .doc .updated{margin:0 0 2.5rem;font-size:0.8125rem;color:var(--muted)}
  .doc h2{
    margin:2.75rem 0 0.875rem;
    font-size:clamp(1.1875rem,2vw,1.4375rem);
    font-weight:600;
    letter-spacing:-.03em;
  }
  .doc h2:first-of-type{margin-top:0}
  .doc p{margin:0 0 0.875rem;font-size:0.9375rem;color:#3a3a3a}
  .doc ul,.doc ol{margin:0 0 0.875rem;padding-left:1.25rem;font-size:0.9375rem;color:#3a3a3a}
  .doc li{margin:0 0 0.5rem}
  .doc strong{color:var(--ink);font-weight:600}
  .doc .meta-card{
    background:#f5f5f5;
    border-radius:0.875rem;
    padding:1.25rem 1.375rem;
    margin:0 0 0.5rem;
    font-size:0.875rem;
    color:#3a3a3a;
  }
  .doc .meta-card p{margin:0 0 0.375rem;font-size:0.875rem}
  .doc .meta-card p:last-child{margin-bottom:0}
  .doc table{width:100%;border-collapse:collapse;margin:0 0 1.125rem;font-size:0.875rem}
  .doc table th,.doc table td{text-align:left;padding:0.625rem 0.75rem;border-bottom:1px solid var(--line);vertical-align:top}
  .doc table th{font-weight:600;color:var(--ink)}
  footer.site-foot{padding:1.875rem var(--gutter) 3.125rem;text-align:center;font-size:0.75rem;color:var(--muted)}
  footer.site-foot a{color:var(--muted);text-decoration:underline;text-underline-offset:2px}
  @media(max-width:991px){
    :root{--gutter:1.125rem}

    header.topbar{padding:1rem}
    .doc{border-radius:1.25rem}
  }

  /* Полы для мелкого текста: 11px на телефонах, 12px на узких десктопах. */
  @media(min-width:992px){
    .back-link{font-size:max(.8125rem,12px)}
    footer.site-foot{font-size:max(.75rem,12px)}
    .brand{font-size:max(1rem,13px)}
    .doc p,.doc ul,.doc ol{font-size:max(.9375rem,13px)}
    .doc .meta-card p,.doc table{font-size:max(.875rem,12.5px)}
    .doc .updated{font-size:max(.8125rem,12px)}
  }
  @media(max-width:991px){
    .back-link{font-size:max(.8125rem,11px)}
    footer.site-foot{font-size:max(.75rem,11px)}
    .doc .updated{font-size:max(.8125rem,11px)}
  }
