/* Новости: фильтр, группы по годам. Значения перенесены из исходного дизайна без изменений. */
/* ---------- Новости (страница) ---------- */
.filters{display:flex;flex-wrap:wrap;gap:6px 28px;border-top:1px solid var(--ink);padding-top:0;margin-bottom:clamp(28px,4vw,48px)}
.fbtn{padding:16px 0 14px;font-size:14px;font-weight:500;color:var(--steel);border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .2s,border-color .2s;display:inline-flex;gap:7px;align-items:baseline}
.fbtn sup{font-family:var(--f-mono);font-size:10px;font-weight:500;color:var(--steel);vertical-align:baseline;position:relative;top:-.45em}
.fbtn:hover{color:var(--ink)}
.fbtn[aria-current="true"]{color:var(--ink);border-bottom-color:var(--red)}
.ygrp{display:grid;grid-template-columns:minmax(0,230px) minmax(0,1fr);gap:16px clamp(24px,4vw,64px);padding-bottom:clamp(36px,5vw,64px)}
.ygrp .y{font-family:var(--f-display);font-weight:500;font-size:clamp(48px,6vw,84px);line-height:1;letter-spacing:-.025em;font-variant-numeric:tabular-nums}
.ygrp .y-in{position:sticky;top:104px;align-self:start}
.ygrp .y-in .mono{margin-top:8px;display:block}
.nitem{display:grid;grid-template-columns:110px minmax(0,1fr);gap:8px 28px;padding:22px 0 26px;border-top:1px solid var(--line)}
/* Первая видимая запись группы — тёмная линия (записи скрываются фильтром через [hidden]) */
.ygrp .list .nitem:not([hidden]){border-top:1px solid var(--ink)}
.ygrp .list .nitem:not([hidden])~.nitem{border-top:1px solid var(--line)}
.nitem .meta{display:flex;flex-direction:column;gap:4px;padding-top:7px}
.nitem .meta time{font-family:var(--f-mono);font-size:11.5px;font-weight:500;letter-spacing:.04em}
.nitem h3{font-family:var(--f-display);font-weight:700;font-size:clamp(23px,2.5vw,34px);line-height:1.1;letter-spacing:-.012em;text-wrap:balance}
.nitem p{margin-top:10px;color:#2B2E36;font-size:15px;line-height:1.6;max-width:70ch}
.nitem p.todo{color:var(--steel);font-style:italic}
.nitem.flash{animation:flash 1.4s var(--ease)}
@keyframes flash{0%,40%{background:var(--mist)}100%{background:transparent}}

/* ---------- страница новости (собрана из существующих элементов: заголовок страницы, текст, список файлов) ---------- */
.nitem h3 a:hover{color:var(--red)}
.nmeta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:clamp(16px,2vw,24px)}
.nmeta time{font-family:var(--f-mono);font-size:11.5px;font-weight:500;letter-spacing:.04em}
.article{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.55fr);gap:32px clamp(32px,6vw,96px);align-items:start}
.article .body-text{font-size:17px;line-height:1.65}
.article .body-text h2,.article .body-text h3{font-family:var(--f-display);font-weight:600;line-height:1.15;margin:1.4em 0 .5em}
.article .body-text ul{list-style:disc;padding-left:1.2em}
.article .body-text ol{list-style:decimal;padding-left:1.4em}
.article .body-text li+li{margin-top:.35em}
.article .body-text a{color:var(--red);border-bottom:1px solid currentColor}
.article .body-text blockquote{margin:1em 0;padding-left:16px;border-left:2px solid var(--red)}
.article .body-text *+ul,.article .body-text *+ol,.article .body-text *+blockquote{margin-top:1em}
.cover{margin-bottom:clamp(24px,3vw,40px);border:1px solid var(--line)}
.cover img{display:block;width:100%;height:auto}
.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:clamp(24px,3vw,40px)}
.gallery img{display:block;width:100%;height:auto;border:1px solid var(--line)}
.files{border-top:1px solid var(--ink)}
.files li{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.files .t{font-weight:500;overflow-wrap:anywhere}
@media (max-width:1100px){.article{grid-template-columns:1fr}}
@media (max-width:760px){.gallery{grid-template-columns:1fr}}
