/* прогресс-бар */
.progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--purple),var(--gold));z-index:100;transition:width .08s}

/* ===== список ===== */
.alist{padding-top:50px;padding-bottom:80px;position:relative;z-index:1}
.alist h1{font-size:clamp(38px,6vw,64px);margin-top:10px}
.chips{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:40px}
.chip{border:1px solid var(--line);border-radius:40px;padding:9px 22px;color:var(--muted);text-decoration:none;font-size:14px;font-weight:600;transition:.25s}
.chip:hover{color:var(--gold-soft);border-color:rgba(201,168,106,.45)}
.chip.active{background:rgba(201,168,106,.12);border-color:var(--gold);color:var(--gold-soft)}
.agrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.acard{display:flex;flex-direction:column;background:linear-gradient(160deg,var(--card),var(--bg-soft));border:1px solid var(--line);border-radius:8px;overflow:hidden;text-decoration:none;color:inherit;transition:.3s}
.acard:hover{transform:translateY(-5px);border-color:rgba(201,168,106,.4)}
.acard-img{aspect-ratio:3/2;overflow:hidden;background:#0e100f}
.acard-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}
.acard:hover .acard-img img{transform:scale(1.05)}
.acard-body{padding:22px 22px 20px;display:flex;flex-direction:column;flex:1}
.acat{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--gold)}
.acard h3{font-size:26px;line-height:1.15;color:#fff;margin:10px 0 10px}
.acard:hover h3{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:5px}
.acard p{color:var(--muted);font-size:15px;font-weight:300;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ameta{display:flex;gap:16px;margin-top:auto;padding-top:16px;color:#6f726a;font-size:13px;font-variant-numeric:lining-nums}
.ameta.big{margin:0 0 28px;padding:0;font-size:14px}
.acard-hero{display:grid;grid-template-columns:1.4fr 1fr;margin-bottom:24px}
.acard-hero .acard-img{aspect-ratio:auto;min-height:340px}
.acard-hero .acard-body{padding:40px 36px;justify-content:center}
.acard-hero h3{font-size:clamp(30px,3.4vw,44px)}
.acard-hero p{-webkit-line-clamp:4;font-size:16px}
.pager{display:flex;justify-content:center;align-items:center;gap:24px;margin-top:48px;color:var(--muted)}
.pager a{color:var(--gold-soft);text-decoration:none;border:1px solid var(--line);padding:10px 22px;border-radius:40px}

/* ===== статья ===== */
.article-wrap{display:grid;grid-template-columns:240px minmax(0,720px);gap:56px;justify-content:center;padding-top:50px;padding-bottom:80px;position:relative;z-index:1}
.toc{position:sticky;top:110px;align-self:start;font-size:14px;max-height:calc(100vh - 140px);overflow:auto}
.toc b{display:block;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.toc ol{list-style:none;border-left:1px solid var(--line)}
.toc a{display:block;padding:7px 0 7px 16px;margin-left:-1px;border-left:2px solid transparent;color:var(--muted);text-decoration:none;line-height:1.4;transition:.2s}
.toc a:hover{color:var(--gold-soft)}
.toc a.on{color:var(--gold-soft);border-left-color:var(--gold)}
.article{min-width:0}
.crumbs{font-size:13px;color:#6f726a;margin-bottom:18px}
.crumbs a{color:var(--gold);text-decoration:none}
.article h1{font-size:clamp(36px,5.2vw,58px);line-height:1.08;margin-bottom:20px}
.cover{margin:0 -40px 40px}
.cover img{width:100%;height:auto;border-radius:10px;display:block;border:1px solid var(--line)}

.tldr{background:rgba(140,110,180,.1);border:1px solid rgba(140,110,180,.3);border-radius:8px;padding:22px 26px;margin-bottom:40px}
.tldr b{display:block;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.tldr ul{padding-left:20px;color:var(--text);font-size:17px}
.tldr li{margin:6px 0}

/* типографика текста */
.prose{font-size:19px;line-height:1.75;color:#dcdad2;font-weight:400;overflow-wrap:break-word}
.prose>*+*{margin-top:1.3em}
.prose p{max-width:68ch}
.prose h2{font-size:clamp(30px,3.6vw,40px);line-height:1.15;color:var(--gold-soft);margin-top:2.5em;scroll-margin-top:100px}
.prose h3{font-size:27px;color:#fff;margin-top:2em;scroll-margin-top:100px}
.prose a{color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(201,168,106,.4)}
.prose a:hover{border-bottom-color:var(--gold)}
.prose strong{color:#fff;font-weight:700}
.prose ul,.prose ol{padding-left:1.4em}
.prose li{margin:.5em 0}
.prose li::marker{color:var(--gold)}
.prose blockquote{border-left:3px solid var(--gold);padding:6px 0 6px 26px;font-family:'Cormorant Garamond',serif;font-size:27px;line-height:1.4;color:var(--gold-soft);font-style:italic}
.prose .tip,.prose .warn{padding:18px 22px;border-radius:8px;font-size:17px;border:1px solid var(--line)}
.prose .tip{background:rgba(79,122,84,.14);border-color:rgba(79,122,84,.45)}
.prose .warn{background:rgba(217,138,106,.1);border-color:rgba(217,138,106,.45)}
.prose figure{margin:2em 0}
.prose figure img,.prose img{max-width:100%;height:auto;border-radius:8px}
.prose figcaption{font-size:14px;color:#6f726a;margin-top:8px;text-align:center}
.prose hr{border:0;border-top:1px solid var(--line);margin:3em 0}
/* таблицы со скроллом */
.prose .tbl{overflow-x:auto;border:1px solid var(--line);border-radius:8px}
.prose table{width:100%;border-collapse:collapse;font-size:16px;font-variant-numeric:lining-nums tabular-nums;min-width:520px}
.prose th{background:rgba(201,168,106,.1);color:var(--gold-soft);text-align:left;font-size:12px;letter-spacing:1.5px;text-transform:uppercase}
.prose th,.prose td{padding:12px 16px;border-bottom:1px solid var(--line)}
.prose tbody tr:nth-child(even){background:rgba(255,255,255,.025)}

/* лайк */
.like-row{display:flex;gap:14px;align-items:center;margin:56px 0 40px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.like{display:inline-flex;align-items:center;gap:10px;background:transparent;border:1px solid var(--line);color:var(--text);border-radius:40px;padding:11px 22px;font:600 16px 'Manrope',sans-serif;cursor:pointer;transition:.25s}
.like:hover{border-color:var(--gold)}
.like .heart{font-size:20px;color:var(--gold)}
.like[aria-pressed="true"]{background:rgba(201,168,106,.12);border-color:var(--gold)}
.like[aria-pressed="true"] .heart{color:#e0707e}
.like.pop .heart{animation:pop .35s}
@keyframes pop{50%{transform:scale(1.5)}}
.share{color:var(--muted);font-size:14px;text-decoration:none;border-bottom:1px dotted var(--muted)}

/* CTA */
.cta{text-align:center;padding:44px 32px;border:1px solid var(--gold);border-radius:10px;background:linear-gradient(160deg,rgba(201,168,106,.08),rgba(140,110,180,.08))}
.cta h3{font-size:34px;color:var(--gold-soft);margin:6px 0 10px}
.cta p{color:var(--muted);max-width:480px;margin:0 auto 24px;font-size:16px}
.cta .btn{margin:4px 6px}
.related{margin-top:70px}
.related h2{font-size:34px;margin-bottom:24px}
.related .agrid{grid-template-columns:1fr}
.totop{position:fixed;left:24px;bottom:24px;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:var(--bg-soft);color:var(--gold-soft);font-size:20px;cursor:pointer;opacity:0;visibility:hidden;transition:.25s;z-index:30}
.totop.show{opacity:1;visibility:visible}

@media(max-width:1100px){
  .article-wrap{grid-template-columns:minmax(0,720px)}
  .toc{position:static;max-height:none;border:1px solid var(--line);border-radius:8px;padding:16px 20px;margin-bottom:24px}
  .toc.collapsed ol{display:none}
  .toc b{cursor:pointer;margin:0}
  .toc b::after{content:" ▾";color:var(--muted)}
  .cover{margin:0 0 32px}
}
@media(max-width:980px){.agrid{grid-template-columns:repeat(2,1fr)}.acard-hero{grid-template-columns:1fr}.acard-hero .acard-img{min-height:0;aspect-ratio:3/2}}
@media(max-width:640px){
  .agrid{grid-template-columns:1fr}
  .prose{font-size:18px}
  .prose blockquote{font-size:23px}
  .acard-hero .acard-body{padding:24px 20px}
  .totop{bottom:84px}
}
.acard-img img,.cover img{background:linear-gradient(150deg,#16191a,#0e100f);color:transparent;font-size:0}
.cover img{min-height:200px;aspect-ratio:3/2}
.prose .tip::before{content:"СОВЕТ";display:block;font-size:11px;letter-spacing:3px;color:#8fc496;margin-bottom:6px;font-weight:700}
.prose .warn::before{content:"ОШИБКА НОВИЧКА";display:block;font-size:11px;letter-spacing:3px;color:#d98a6a;margin-bottom:6px;font-weight:700}

.prose>*+*{margin-top:1.1em}
.prose h2{margin-top:1.7em}
.prose h3{margin-top:1.4em}
.prose .tbl,.prose table,.prose blockquote,.prose .tip,.prose .warn{margin-top:1.3em}
.prose h2+*,.prose h3+*{margin-top:.6em}
