/* Общие стили страниц каталога. Держим отдельно от обложки: там всё
   построено вокруг одной иллюстрации, здесь — вокруг текста. */
:root { --ink:#eaf6ff; --dim:#9fb8c8; --deep:#061119; --panel:rgba(9,22,32,.82);
        --accent:#8fc7e8; color-scheme: dark; }
* { box-sizing: border-box; }
body { margin:0; background:var(--deep); color:var(--ink);
       font:17px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; }
a { color:var(--accent); }
.wrap { max-width:1000px; margin:0 auto; padding:0 20px; }
.bar { display:flex; justify-content:space-between; align-items:center; gap:16px;
       padding:14px 20px; border-bottom:1px solid rgba(143,199,232,.16);
       background:rgba(4,16,26,.7); position:sticky; top:0; z-index:2; }
.bar .home { text-decoration:none; font-weight:600; }
.bar .play { text-decoration:none; font-weight:700; padding:10px 22px; border-radius:10px;
             background:linear-gradient(180deg,#2f7fb0,#14496b); color:#fff;
             border:1px solid #9fd8f7; }
h1 { font-size:clamp(26px,3.6vw,38px); margin:34px 0 10px; }
h2 { font-size:clamp(20px,2.4vw,26px); margin:34px 0 8px; }
p.lead { color:var(--dim); max-width:64ch; margin:0 0 26px; }
.grid { display:grid; gap:18px; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); }
.card { background:var(--panel); border:1px solid rgba(143,199,232,.18);
        border-radius:14px; padding:20px; }
.card img { width:100%; height:auto; display:block; margin-bottom:12px; }
.card h3 { margin:0 0 6px; font-size:20px; color:var(--accent); }
.card .meta { color:#ffcf5a; font-size:14px; margin-bottom:10px; }
.card p { margin:0 0 10px; color:var(--dim); font-size:16px; }
.card .tactics { color:#c9dbe8; font-size:15px; border-top:1px solid rgba(143,199,232,.14);
                 padding-top:10px; }
ol.steps { counter-reset:step; list-style:none; padding:0; max-width:70ch; }
ol.steps li { position:relative; padding:0 0 18px 46px; color:var(--dim); }
ol.steps li b { color:var(--ink); display:block; margin-bottom:2px; font-size:18px; }
ol.steps li::before { counter-increment:step; content:counter(step);
  position:absolute; left:0; top:0; width:32px; height:32px; border-radius:50%;
  display:grid; place-items:center; color:#04121b; font-weight:700;
  background:linear-gradient(180deg,#9fd8f7,#4f9dc8); }
.scroll { overflow-x:auto; margin:0 0 8px; }
table { border-collapse:collapse; width:100%; min-width:520px; font-size:16px; }
th, td { text-align:left; padding:9px 12px; border-bottom:1px solid rgba(143,199,232,.14); }
th { color:var(--accent); font-weight:600; white-space:nowrap; }
td { color:#c9dbe8; }
ul.facts { max-width:70ch; color:var(--dim); padding-left:20px; }
ul.facts li { margin-bottom:8px; }
footer { padding:34px 0 60px; color:var(--dim); font-size:15px;
         border-top:1px solid rgba(143,199,232,.12); margin-top:50px; }
footer nav { display:flex; gap:18px; flex-wrap:wrap; margin-bottom:12px; }
@media (max-width:620px){ .bar .play{ padding:9px 16px; } }
