/* NUMAMI — блог. Токены взяты с главной (numami-home_9.html), добавлена тёмная тема.
   Список: заголовок → поиск → рубрики → серия → сетка карточек. Статья: колонка 900px. */
:root{
  --bg:#f6f8fc; --bg-2:#ffffff; --bg-3:#eef2f8;
  --line:#e3e8f1; --line-2:#cbd4e3;
  --tx:#111827; --tx-2:#374050; --tx-3:#586274;
  --accent:#1a2b4a; --accent-2:#233a5e; --accent-soft:rgba(26,43,74,.07);
  --foam:#0e7f95; --foam-soft:rgba(14,127,149,.09);
  --ok:#157f3d; --ok-soft:rgba(21,127,61,.09);
  --bad:#c62828; --bad-soft:rgba(198,40,40,.07);
  --amber:#a35a06; --amber-soft:rgba(163,90,6,.07);
  --head:rgba(246,248,252,.93);
  --on-accent:#ffffff;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --sans:"Golos Text","Helvetica Neue",Arial,sans-serif;
  --r:18px;
  color-scheme:light;
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--tx);font-family:var(--sans);font-size:16px;line-height:1.55;
  -webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--head)}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--foam);outline-offset:3px;border-radius:5px}
.wrap{max-width:1360px;margin:0 auto;padding:0 clamp(18px,3vw,34px)}  /* как на главной */
h1,h2,h3{letter-spacing:-.03em;line-height:1.1;text-wrap:balance;font-weight:800}
.eyebrow{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:11.5px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--accent-2);margin-bottom:14px}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--accent);flex:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 22px;border-radius:11px;
  font-size:15px;font-weight:600;border:1px solid transparent;cursor:pointer;font-family:inherit;
  transition:background-color .2s,border-color .2s,color .2s,transform .18s}
.btn-primary{background:var(--accent);color:var(--on-accent)}
.btn-primary:hover{background:var(--accent-2);transform:translateY(-1px)}
.btn-ghost{border-color:var(--line-2);color:var(--tx);background:transparent}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent-2)}

/* шапка — как на главной, плюс пункт «Блог» */
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:var(--head);
  backdrop-filter:saturate(160%) blur(12px);border-bottom:1px solid var(--line)}
.hd{display:flex;align-items:center;gap:26px;padding-block:14px}
.logo{display:flex;align-items:center;gap:11px;flex:none}
.logo svg{width:30px;height:30px}
.logo b{font-size:17px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--tx)}
nav.main{display:flex;gap:22px;font-size:15px;color:var(--tx-2);flex-wrap:wrap}
nav.main a:hover{color:var(--tx)}
.hd-right{margin-left:auto;display:flex;align-items:center;gap:14px;flex:none}
.hd-right .btn{padding:10px 18px;font-size:14.5px}
@media (max-width:900px){nav.main{display:none}}

/* ---------- список ---------- */
.b-hero{padding-block:clamp(34px,4.4vw,60px) clamp(18px,2vw,26px)}
.b-hero h1{font-size:clamp(36px,5vw,60px)}
.b-hero .lede{font-size:17px;color:var(--tx-2);max-width:60ch;margin-top:14px}
.tools{display:flex;flex-wrap:wrap;gap:14px 20px;align-items:center;margin-top:28px}
.search{flex:1 1 300px;max-width:460px;position:relative}
.search input{width:100%;font:inherit;font-size:15px;color:var(--tx);background:var(--bg-2);
  border:1px solid var(--line-2);border-radius:11px;padding:12px 14px 12px 42px}
.search input::placeholder{color:var(--tx-3)}
.search input:focus{outline:none;border-color:var(--accent)}
.search svg{position:absolute;left:14px;top:50%;width:17px;height:17px;transform:translateY(-50%);
  stroke:var(--tx-3);fill:none;stroke-width:2;stroke-linecap:round}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{font:inherit;font-size:14px;font-weight:500;padding:8px 15px;border-radius:999px;cursor:pointer;
  border:1px solid var(--line-2);background:transparent;color:var(--tx-2)}
.chip:hover{border-color:var(--accent);color:var(--accent-2)}
.chip[aria-pressed="true"]{background:var(--tx);border-color:var(--tx);color:var(--bg)}
.chip .n{font-family:var(--mono);font-size:11.5px;margin-left:6px;opacity:.65}

.series{margin-top:clamp(26px,3vw,38px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px 30px;
  align-items:center;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r);
  padding:clamp(20px,2.4vw,30px)}
.series .k{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--foam)}
.series h2{font-size:clamp(22px,2.4vw,30px);margin-top:8px}
.series p{color:var(--tx-2);margin-top:8px;max-width:64ch}
.series .steps{display:flex;gap:5px;margin-top:16px;flex-wrap:wrap}
.series .steps a{font-family:var(--mono);font-size:12px;width:34px;height:30px;border-radius:8px;display:flex;
  align-items:center;justify-content:center;background:var(--bg-3);color:var(--tx-2);border:1px solid var(--line)}
.series .steps a:hover{border-color:var(--accent);color:var(--accent-2)}
.series .steps a.nm{background:var(--foam-soft);color:var(--foam);border-color:transparent}
@media (max-width:700px){.series{grid-template-columns:1fr}}

.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,26px);
  margin-top:clamp(22px,2.6vw,34px);padding-bottom:clamp(36px,4vw,56px)}
@media (max-width:1000px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.grid{grid-template-columns:1fr}}
.card{display:flex;flex-direction:column;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r);
  overflow:hidden;transition:border-color .2s,transform .2s}
.card:hover{border-color:var(--line-2);transform:translateY(-2px)}
.card:hover h3{color:var(--accent-2)}
.cover{aspect-ratio:400/212;max-width:100%;position:relative;overflow:hidden;background:var(--bg-3);border-bottom:1px solid var(--line)}
.cover svg{display:block;width:100%;height:100%}
.cover .num{position:absolute;top:14px;left:16px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--tx-3);
  background:rgba(255,255,255,.85);padding:3px 8px;border-radius:6px}
.post-cover{margin-top:26px;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);aspect-ratio:400/160;max-width:100%;background:var(--bg-3)}
.post-cover svg{display:block;width:100%;height:100%}
.card .body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.meta{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;font-family:var(--mono);font-size:11.5px;color:var(--tx-3)}
.tag{letter-spacing:.1em;text-transform:uppercase;color:var(--accent-2)}
.tag.nm{color:var(--foam)}
.card h3{font-size:19px;font-weight:700;letter-spacing:-.015em;line-height:1.25;transition:color .2s}
.card p{font-size:15px;color:var(--tx-2)}
.empty{grid-column:1/-1;padding:40px 0;color:var(--tx-2)}

.cta{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r);padding:clamp(22px,3vw,38px);
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px 30px;align-items:center;margin-bottom:clamp(36px,4vw,56px)}
.cta h2{font-size:clamp(22px,2.4vw,30px)}
.cta p{color:var(--tx-2);margin-top:8px;max-width:58ch}
.cta .acts{display:flex;flex-wrap:wrap;gap:10px}
@media (max-width:760px){.cta{grid-template-columns:1fr}}

/* ---------- статья ---------- */
.post-wrap{max-width:1120px;margin:0 auto;padding-block:clamp(24px,3vw,40px) 10px}
.crumbs{font-size:14px;color:var(--tx-3);display:flex;gap:8px;flex-wrap:wrap}
.crumbs a:hover{color:var(--accent-2)}
.post-head{margin-top:22px}
.post-head h1{font-size:clamp(30px,4.2vw,46px);margin-top:14px}
.post-head .lede{font-size:18.5px;color:var(--tx-2);margin-top:16px;line-height:1.5}
.prose{margin-top:30px;font-size:17px;line-height:1.65}
.prose > * + *{margin-top:18px}
.prose h2{font-size:clamp(23px,2.6vw,28px);margin-top:42px;letter-spacing:-.02em}
.prose h3{font-size:19px;font-weight:700;letter-spacing:-.01em;margin-top:28px}
.prose p,.prose li{max-width:none}
.prose ul,.prose ol{padding-left:22px;display:grid;gap:8px}
.prose li::marker{color:var(--accent)}
.prose b{font-weight:600}
.prose code,.mono{font-family:var(--mono);font-size:.88em;background:var(--bg-3);padding:1px 6px;border-radius:6px;word-break:break-word}

.box{border-radius:14px;padding:18px 20px;background:var(--bg-2);border:1px solid var(--line)}
.box .bk{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-2);margin-bottom:8px}
.box.tldr{background:var(--accent-soft);border-color:transparent}
.box.warn{background:var(--amber-soft);border-color:transparent}
.box.warn .bk{color:var(--amber)}
.box.nmx{background:var(--foam-soft);border-color:transparent}
.box.nmx .bk{color:var(--foam)}
.box p + p{margin-top:8px}
.box ul{margin-top:6px}

.flow{list-style:none;padding:0!important;display:grid!important;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:10px!important}
.flow li{background:var(--bg-2);border:1px solid var(--line);border-radius:12px;padding:14px;font-size:14.5px;line-height:1.45;
  display:flex;flex-direction:column;gap:6px;min-width:0;max-width:none}
.flow li b{font-size:15.5px}
.flow li .st{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--foam)}
.flow li span{color:var(--tx-2)}
@media (max-width:640px){.flow{grid-template-columns:1fr}}

.tbl{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--bg-2)}
.tbl table{border-collapse:collapse;width:100%;font-size:15px;min-width:520px}
.tbl th,.tbl td{text-align:left;vertical-align:top;padding:11px 14px;border-bottom:1px solid var(--line)}
.tbl th{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--tx-3);font-weight:500;background:var(--bg-3)}
.tbl tr:last-child td{border-bottom:0}
.tbl td:first-child{font-weight:600}

.code-anat{background:var(--bg-2);border:1px solid var(--line);border-radius:12px;padding:16px;overflow-x:auto}
.code-anat .line{font-family:var(--mono);font-size:15px;white-space:nowrap;display:flex;gap:4px}
.code-anat .line span{padding:3px 6px;border-radius:6px}
.code-anat .ai{background:var(--bg-3);color:var(--tx-3)}
.code-anat .gt{background:var(--accent-soft);color:var(--accent-2)}
.code-anat .sn{background:var(--foam-soft);color:var(--foam)}
.code-anat .cr{background:var(--amber-soft);color:var(--amber)}

.duo{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.duo > div{background:var(--bg-2);border:1px solid var(--line);border-radius:12px;padding:16px;min-width:0}
.duo h4{font-size:16px;margin-bottom:8px}
.duo ul{font-size:15px}
@media (max-width:640px){.duo{grid-template-columns:1fr}}

.tree{display:grid;gap:10px;counter-reset:q}
.tree > div{background:var(--bg-2);border:1px solid var(--line);border-radius:12px;padding:14px 16px;counter-increment:q}
.tree > div::before{content:"Вопрос " counter(q);display:block;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--tx-3);margin-bottom:4px}
.tree b{display:block}
.tree .ans{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;font-size:14.5px}
.tree .ans span{padding:4px 10px;border-radius:8px;background:var(--bg-3);color:var(--tx-2)}

figure{margin-block:26px!important}
.vid video{display:block;width:100%;height:auto;border-radius:12px;border:1px solid var(--line);background:#fff}
.vid.phone video{max-width:300px;margin:0 auto;border:6px solid #1d2a30;border-radius:24px}
.vid.phone figcaption{text-align:center;margin-inline:auto}

.phones{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin-block:26px}
.phones figure{margin:0!important}.phones img{border-radius:18px!important;border:6px solid #1d2a30!important}
.series + .series{margin-top:16px}
.scheme .dgw{overflow-x:auto;background:var(--bg-2);border:1px solid var(--line);border-radius:14px;padding:14px;-webkit-overflow-scrolling:touch}
.scheme svg.dg{display:block;width:100%;height:auto}
@media (max-width:700px){.scheme .dgw::before{content:"← прокрутите схему →";display:block;font-family:var(--mono);font-size:11px;color:var(--tx-3);margin-bottom:8px}}
figure img{display:block;width:100%;height:auto;border-radius:12px;border:1px solid var(--line)}
figcaption{font-size:14px;color:var(--tx-3);margin-top:10px}

.post-end{border-top:1px solid var(--line);margin-top:44px;padding-top:26px;display:grid;gap:14px}
.pn{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pn a{position:relative;border:1px solid var(--line);border-radius:14px;padding:12px 16px 12px 62px;background:var(--bg-2);
  display:flex;flex-direction:column;justify-content:center;gap:3px;min-height:68px;transition:border-color .2s}
.pn a::before{content:"";position:absolute;left:14px;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23233a5e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5M11 6l-6 6 6 6'/%3E%3C/svg%3E") center/18px 18px no-repeat var(--bg-3);transition:background-color .2s}
.pn a.next{padding:12px 62px 12px 16px}
.pn a.next::before{left:auto;right:14px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23233a5e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E")}
.pn a:hover{border-color:var(--accent)}
.pn a:hover::before{background-color:var(--accent);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5M11 6l-6 6 6 6'/%3E%3C/svg%3E")}
.pn a.next:hover::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E")}
.pn a small{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--tx-3)}
.pn a b{font-size:15.5px;line-height:1.3}
@media (max-width:640px){.pn{grid-template-columns:1fr}.pn > span:empty{display:none}}
/* полоска серии над «Предыдущая / Следующая» */
.pn-series{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}
.pn-series .k{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--foam)}
.pn-series .steps{display:flex;gap:5px;flex-wrap:wrap}
.pn-series .steps a{position:relative;font-family:var(--mono);font-size:12px;width:34px;height:30px;border-radius:8px;display:flex;
  align-items:center;justify-content:center;background:var(--bg-3);color:var(--tx-2);border:1px solid var(--line)}
.pn-series .steps a:hover{border-color:var(--accent);color:var(--accent-2)}
.pn-series .steps a.nm{background:var(--foam-soft);color:var(--foam);border-color:transparent}
.pn-series .steps a.cur{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.post-cta{margin-top:30px}

/* подвал */
footer{border-top:1px solid var(--line);padding-block:clamp(26px,3vw,40px) 34px;margin-top:8px}
.f-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:26px}
.f-grid h4{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--tx-3);margin-bottom:12px;font-weight:500}
.f-grid a,.f-grid p{display:block;font-size:14.5px;color:var(--tx-2);margin-bottom:8px}
.f-grid a:hover{color:var(--tx)}
.f-note{margin-top:28px;padding-top:18px;border-top:1px solid var(--line);font-family:var(--mono);font-size:11.5px;color:var(--tx-3);display:flex;flex-wrap:wrap;gap:8px 22px}
@media (max-width:760px){.f-grid{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* --- добавлено для статических страниц --- */
.post-cover svg{display:block;width:100%;height:100%}
.noscript-hint{display:none}

/* --- шапка как на главной (static-site/index.html) --- */
.hd{display:flex;align-items:center;gap:26px;padding-block:15px}
.logo{display:flex;align-items:center;gap:0;flex:none}
.logo-img{height:28px;width:auto;display:block;object-fit:contain}
nav.main{display:flex;gap:22px;font-size:15px;color:var(--tx-2);flex-wrap:wrap}
nav.main a:hover{color:var(--tx)}
.hd-right{margin-left:auto;display:flex;align-items:center;gap:14px;flex:none}
.hd-tel{font-family:var(--mono);font-size:12px;color:var(--amber);
  border:1px dashed rgba(245,165,36,.45);border-radius:8px;padding:7px 11px;white-space:nowrap}
.hd-phone{font-family:var(--mono);font-size:13px;color:var(--tx-2);white-space:nowrap;letter-spacing:.01em}
.hd-phone:hover{color:var(--accent-2)}
.hd-right .login{font-size:15px;color:var(--tx-2)}
.hd-right .btn{padding:10px 18px;font-size:14.5px}
/* --- шапка: гость ↔ авторизован --- */
.auth-out{display:flex;align-items:center;gap:14px}
.auth-out.hidden{display:none}
.hd-login{font-size:15px;color:var(--tx-2)}
.hd-login:hover{color:var(--accent-2)}
.user-menu{display:none;align-items:center;gap:14px}
.user-menu.visible{display:flex}
html.auth-likely .auth-out{display:none}
html.auth-likely .user-menu{display:flex}
.user-menu-wrap{position:relative}
.user-avatar{width:38px;height:38px;border-radius:50%;background:var(--accent);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:600;cursor:pointer;
  text-transform:uppercase;flex:none;transition:transform .15s}
.user-avatar:hover{transform:scale(1.05)}
.user-dropdown{position:absolute;top:calc(100% + 12px);right:0;width:244px;background:var(--bg-2);
  border:1px solid var(--line);border-radius:14px;padding:8px;z-index:60;
  box-shadow:0 20px 48px -24px rgba(17,24,39,.34);
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .16s,transform .16s,visibility .16s}
.user-dropdown.active{opacity:1;visibility:visible;transform:none}
.user-dropdown-header{padding:10px 12px 12px;border-bottom:1px solid var(--line);margin-bottom:6px}
.user-dropdown-name{font-weight:600;font-size:14.5px;color:var(--tx)}
.user-dropdown-email{font-size:12.5px;color:var(--tx-3);margin-top:2px;word-break:break-all}
.user-dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:0;
  background:transparent;border-radius:9px;font-family:var(--sans);font-size:14px;color:var(--tx-2);
  cursor:pointer;text-align:left;transition:background-color .15s,color .15s}
.user-dropdown-item:hover{background:var(--bg-3);color:var(--tx)}
.user-dropdown-item svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;flex:none}
.user-dropdown-divider{height:1px;background:var(--line);margin:6px 0}
@media (max-width:1000px){nav.main{display:none}}
@media (max-width:760px){header.top .hd-right{display:none}}

/* фильтр списка: атрибут hidden должен побеждать display:flex/grid у карточек и серий */
.card[hidden],.series[hidden],.empty[hidden]{display:none}

/* подсказка к номерам статей: своя, через 1 с (у нативного title задержку не задать).
   Скрытая подсказка не занимает места (display:none) — иначе на телефоне страница уезжает вбок;
   на сенсорных экранах подсказок нет. */
.series .steps a,.pn-series .steps a{position:relative}
@media (hover:hover){
  .series .steps a[data-tip]:hover::after,.pn-series .steps a[data-tip]:hover::after{content:attr(data-tip);position:absolute;top:calc(100% + 8px);left:0;z-index:5;
    width:max-content;max-width:min(360px,70vw);white-space:normal;line-height:1.35;font-family:var(--sans);font-size:13px;letter-spacing:0;
    color:var(--bg-2);background:var(--tx);padding:6px 10px;border-radius:8px;pointer-events:none;animation:tip-in 1.12s both}
  .series .steps a[data-tip]:nth-last-child(-n+4):hover::after,.pn-series .steps a[data-tip]:nth-last-child(-n+4):hover::after{left:auto;right:0}
}
@keyframes tip-in{0%,89%{opacity:0}100%{opacity:1}}
