/* ZmNx·AI — сайт. Палитра и шрифты - как в приложении и презентации. */
@font-face{font-family:"Unbounded";font-weight:600;font-display:swap;src:url(/assets/fonts/unbounded-cyrillic-600.woff2) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:"Unbounded";font-weight:600;font-display:swap;src:url(/assets/fonts/unbounded-latin-600.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122,U+2190-2199;}
@font-face{font-family:"Unbounded";font-weight:700;font-display:swap;src:url(/assets/fonts/unbounded-cyrillic-700.woff2) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:"Unbounded";font-weight:700;font-display:swap;src:url(/assets/fonts/unbounded-latin-700.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122,U+2190-2199;}
@font-face{font-family:"Unbounded";font-weight:800;font-display:swap;src:url(/assets/fonts/unbounded-cyrillic-800.woff2) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:"Unbounded";font-weight:800;font-display:swap;src:url(/assets/fonts/unbounded-latin-800.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122,U+2190-2199;}
@font-face{font-family:"Inter";font-weight:400;font-display:swap;src:url(/assets/fonts/inter-cyrillic-400.woff2) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:"Inter";font-weight:400;font-display:swap;src:url(/assets/fonts/inter-latin-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+20BD,U+2122,U+2190-2199;}
@font-face{font-family:"Inter";font-weight:500;font-display:swap;src:url(/assets/fonts/inter-cyrillic-500.woff2) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:"Inter";font-weight:500;font-display:swap;src:url(/assets/fonts/inter-latin-500.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+20BD,U+2122,U+2190-2199;}
@font-face{font-family:"Inter";font-weight:600;font-display:swap;src:url(/assets/fonts/inter-cyrillic-600.woff2) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:"Inter";font-weight:600;font-display:swap;src:url(/assets/fonts/inter-latin-600.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+20BD,U+2122,U+2190-2199;}
@font-face{font-family:"Inter";font-weight:700;font-display:swap;src:url(/assets/fonts/inter-cyrillic-700.woff2) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:"Inter";font-weight:700;font-display:swap;src:url(/assets/fonts/inter-latin-700.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+20BD,U+2122,U+2190-2199;}
@font-face{font-family:"JetBrains Mono";font-weight:400;font-display:swap;src:url(/assets/fonts/jetbrains-mono-cyrillic-400.woff2) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:"JetBrains Mono";font-weight:400;font-display:swap;src:url(/assets/fonts/jetbrains-mono-latin-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122,U+2190-2199;}
@font-face{font-family:"JetBrains Mono";font-weight:500;font-display:swap;src:url(/assets/fonts/jetbrains-mono-cyrillic-500.woff2) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:"JetBrains Mono";font-weight:500;font-display:swap;src:url(/assets/fonts/jetbrains-mono-latin-500.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122,U+2190-2199;}

:root{
  color-scheme:dark;
  --bg:#131533; --bg2:#171a3d; --card:#1d2050; --card2:#232760; --brd:#2c3070; --brd2:#3b3f8f;
  --t:#eceaff; --sub:#a4a6d6; --mute:#7c7fb3;
  --violet:#8b6cf6; --violet2:#a78bfa; --blue:#5aa2ff; --cyan:#54e0ff;
  --green:#34d399; --yellow:#f5c542; --red:#f87171;
  --display:"Unbounded",system-ui,sans-serif; --sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Consolas,monospace;
  --r:16px; --maxw:1160px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;overflow-x:clip;scrollbar-width:thin;scrollbar-color:var(--sb) transparent;}
/* Полосы прокрутки — в цвет сайта (2026-10-21: системные серые «ломали весь дизайн»); overflow-x:clip — свечение героя
   (.hero-glow, плывёт за край) больше не даёт странице горизонтальную прокрутку */
:root{--sb:rgba(139,108,246,.45);--sb-h:rgba(167,139,250,.8);}
*{scrollbar-width:thin;scrollbar-color:var(--sb) transparent;}
::-webkit-scrollbar{width:10px;height:10px;}
::-webkit-scrollbar-track,::-webkit-scrollbar-corner{background:transparent;}
::-webkit-scrollbar-thumb{background:var(--sb);border:3px solid transparent;border-radius:10px;background-clip:padding-box;}
::-webkit-scrollbar-thumb:hover{background:var(--sb-h);border-width:2px;background-clip:padding-box;}
body{margin:0;background:var(--bg);color:var(--t);padding-inline:0;font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;
  background-image:radial-gradient(900px 600px at 78% -10%,rgba(92,63,214,.35),transparent 60%),radial-gradient(700px 500px at -10% 40%,rgba(52,58,160,.25),transparent 60%);
  background-attachment:fixed;}
a{color:var(--violet2);text-decoration:none;}
a:hover{color:#c4b5fd;}
img{max-width:100%;height:auto;display:block;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 20px;}
.section{padding-top:72px;padding-bottom:72px;}
.muted{color:var(--sub);} .small{font-size:13px;}
.eyebrow{font:500 12px/1 var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--blue);margin-bottom:14px;}
.eyebrow.green{color:var(--green);} .eyebrow.yellow{color:var(--yellow);}
.h1,.h2,h1,h2,h3{font-family:var(--display);font-weight:700;letter-spacing:-.01em;line-height:1.12;margin:0 0 16px;}
.h1,h1{font-size:clamp(32px,5vw,52px);}
.h2,h2{font-size:clamp(26px,3.6vw,38px);}
h3{font-size:18px;font-weight:600;}
.lead{font-size:clamp(17px,2vw,20px);color:var(--sub);max-width:720px;margin:0 0 28px;}
.stamp{display:inline-block;font-family:var(--mono);color:var(--blue);border:1.5px dashed rgba(90,162,255,.7);border-radius:6px;padding:6px 14px;transform:rotate(-1.5deg);}

/* кнопки */
.btn{display:inline-flex;align-items:center;gap:8px;font:600 15px/1 var(--sans);padding:14px 22px;border-radius:12px;border:1px solid var(--brd2);color:var(--t);background:rgba(255,255,255,.03);transition:transform .15s,box-shadow .2s,background .2s;cursor:pointer;}
.btn:hover{color:var(--t);background:rgba(255,255,255,.07);transform:translateY(-1px);}
.btn-primary{background:linear-gradient(135deg,#7c5dff,#a78bfa);border-color:transparent;color:#fff;box-shadow:0 8px 28px rgba(124,93,255,.45);}
.btn-primary:hover{color:#fff;background:linear-gradient(135deg,#8a6dff,#b69cfb);box-shadow:0 10px 34px rgba(124,93,255,.6);}
.btn-sm{padding:9px 14px;font-size:14px;border-radius:10px;}

/* шапка */
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(19,21,51,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(44,48,112,.6);}
.header-row{display:flex;align-items:center;gap:20px;height:64px;}
.brand{display:flex;align-items:center;gap:10px;color:var(--t);}
.brand:hover{color:var(--t);}
.brand-name{font:700 18px/1 var(--display);}
.brand-name .dot{color:var(--sub);} .brand-name .ai{color:var(--violet2);}
.site-nav{margin-left:auto;display:flex;align-items:center;gap:4px;}
.site-nav a:not(.btn){color:var(--sub);font-size:15px;padding:8px 12px;border-radius:8px;}
.site-nav a:not(.btn):hover{color:var(--t);background:rgba(255,255,255,.05);}
.site-nav a.active{color:var(--t);}
.site-nav .btn{margin-left:8px;}
.nav-toggle{display:none;margin-left:auto;background:none;border:0;padding:8px;cursor:pointer;}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--t);margin:5px 0;border-radius:2px;transition:.2s;}

/* глаза-логотип */
.eyes-logo{--s:1;display:inline-flex;align-items:center;justify-content:center;gap:calc(7px*var(--s));width:calc(92px*var(--s));height:calc(66px*var(--s));border-radius:calc(20px*var(--s));background:#23255a;border:calc(2.5px*var(--s)) solid #5b56c9;box-shadow:0 0 0 1px rgba(0,0,0,.2),0 14px 40px rgba(91,86,201,.25);flex-shrink:0;}
.eyes-logo.sm{--s:.42;box-shadow:none;}
.eyes-logo .eye{position:relative;width:calc(33px*var(--s));height:calc(33px*var(--s));border-radius:50%;background:#f4f3ff;overflow:hidden;transition:height .12s;}
.eyes-logo .pupil{position:absolute;left:50%;top:50%;width:calc(15px*var(--s));height:calc(15px*var(--s));margin:calc(-7.5px*var(--s)) 0 0 calc(-7.5px*var(--s));border-radius:50%;background:var(--violet);transform:translate(calc(3px*var(--s)),calc(3px*var(--s)));transition:transform .08s linear;}
.eyes-logo.squint .eye{height:calc(5px*var(--s));}
.eyes-logo.blink .eye{height:calc(3px*var(--s));}
.eyes-logo.closed .eye{height:calc(5px*var(--s));width:calc(28px*var(--s));border-radius:3px;background:#9a9bd6;}
.eyes-logo.closed .pupil{display:none;}

/* hero */
.hero{padding:84px 0 56px;}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:48px;align-items:center;}
.hero .eyes-logo{--s:1.2;margin-bottom:28px;}
/* знак сайта — очки ИнКи (SVG собирает build.py из {{glasses}}); --s — только ход зрачков для site.js */
.glasses-logo{--s:.3;display:inline-block;line-height:0;flex-shrink:0;}
.glasses-logo svg{display:block;height:38px;width:auto;overflow:visible;}
.glasses-logo.big svg{height:clamp(64px,8vw,84px);filter:drop-shadow(0 12px 30px rgba(91,86,201,.35));}
.glasses-logo .eye{transform-box:fill-box;transform-origin:center;transition:transform .12s;}
.glasses-logo .pupil{transition:transform .08s linear;}
.glasses-logo .tint{opacity:0;transition:opacity .35s;}
.glasses-logo.blink .eye,.glasses-logo.closed .eye{transform:scaleY(.12);}
.glasses-logo.squint .tint,.brand:hover .glasses-logo .tint{opacity:.82;}
.glasses-logo.closed .tint{opacity:.88;}
.hero .glasses-logo{margin-bottom:28px;}
.wordmark{font:800 clamp(52px,9vw,104px)/.95 var(--display);letter-spacing:-.02em;margin:0 0 18px;}
.wordmark .dot{color:#cfd0f5;} .wordmark .ai{color:var(--violet2);}
.hero .lead{margin-bottom:22px;}
.hero .stamp{margin-bottom:34px;}
.slogan{font:600 clamp(19px,2.4vw,26px)/1.25 var(--display);color:var(--t);margin:-2px 0 20px;}
.slogan span{white-space:nowrap;} .slogan .hl{color:var(--violet2);}
.hero .slogan + .lead{margin-bottom:30px;}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;}
.hero-meta{margin-top:16px;font:13px var(--mono);color:var(--mute);}
.shot{border-radius:14px;border:1px solid var(--brd2);box-shadow:0 30px 80px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.03);overflow:hidden;background:var(--bg2);}
.hero-shot{transform:perspective(1400px) rotateY(-9deg) rotateX(3deg);transition:transform .5s;}
.hero-shot:hover{transform:none;}

/* карточки */
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.card{background:linear-gradient(180deg,rgba(35,39,96,.72),rgba(29,32,80,.72));border:1px solid var(--brd);border-radius:var(--r);padding:26px 26px 24px;}
.card h3{font-size:19px;margin:14px 0 8px;}
.card p{color:var(--sub);margin:0;font-size:15.5px;}
.card .ic{width:26px;height:26px;display:block;}
.link-card{display:flex;flex-direction:column;justify-content:space-between;min-height:120px;color:var(--t);transition:border-color .2s,transform .15s;}
.link-card:hover{border-color:var(--violet);color:var(--t);transform:translateY(-2px);}
.link-card h3{margin:0 0 20px;}
.link-card .more{color:var(--violet2);font-size:14px;}

/* цифры */
.stat{font:800 clamp(56px,7vw,84px)/1 var(--display);margin-bottom:12px;}
.stat.green{color:var(--green);} .stat.blue{color:var(--blue);} .stat.yellow{color:var(--yellow);}

/* как устроено */
.flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:14px;align-items:center;}
.flow .card{padding:22px;}
.flow .card h3{margin:0 0 6px;}
.flow-arrow{font:500 13px var(--mono);color:var(--blue);text-align:center;}
.flow-arrow::after{content:"";display:block;width:88px;height:2px;margin:8px auto 0;background:linear-gradient(90deg,transparent,var(--violet));}
.note{margin-top:22px;color:var(--sub);max-width:820px;}

/* фичи с картинкой */
.feature{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:center;padding:56px 0;border-top:1px solid rgba(44,48,112,.6);}
.feature.flip{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);}
.feature.flip .feature-text{order:2;}
.ticks{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px;}
.ticks li{position:relative;padding-left:28px;color:var(--sub);font-size:16.5px;}
.ticks li::before{content:"";position:absolute;left:0;top:.55em;width:12px;height:12px;border-radius:3px;background:var(--violet);box-shadow:0 0 12px rgba(139,108,246,.6);transform:rotate(45deg);}
.ticks li b{color:var(--t);font-weight:600;}

/* таблица «было/стало» */
.tone{width:100%;border-collapse:collapse;border:1px solid var(--brd);border-radius:var(--r);overflow:hidden;}
.tone th,.tone td{text-align:left;padding:14px 18px;border-bottom:1px solid var(--brd);}
.tone th{background:var(--card2);font-weight:600;}
.tone td:first-child{color:var(--mute);}
.tone tr:last-child td{border-bottom:0;}

/* дорожная карта */

/* финальный CTA */
.cta-final{text-align:left;padding:90px 0;}
.cta-final .eyes-logo,.cta-final .glasses-logo{margin-bottom:26px;}
.cta-final h2{font-size:clamp(34px,6vw,64px);font-weight:800;}

/* скачать */
.download-box{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;}
.kv{display:grid;grid-template-columns:auto 1fr;gap:10px 18px;font-size:15px;}
.kv dt{color:var(--sub);} .kv dd{margin:0;font-family:var(--mono);font-size:13.5px;word-break:break-all;}
.code{font:13.5px/1.6 var(--mono);background:rgba(0,0,0,.3);border:1px solid var(--brd);border-radius:10px;padding:14px 16px;overflow-x:auto;white-space:pre;}
.todo{display:inline-block;font:500 12px var(--mono);color:#1b1b1b;background:var(--yellow);border-radius:4px;padding:1px 6px;}

/* инструкции */
.docs-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:48px;padding-top:48px;padding-bottom:72px;}
.docs-nav{position:sticky;top:88px;align-self:start;display:flex;flex-direction:column;gap:2px;}
.docs-nav a{color:var(--sub);padding:8px 12px;border-radius:8px;font-size:15px;border-left:2px solid transparent;}
.docs-nav a:hover{color:var(--t);background:rgba(255,255,255,.04);}
.docs-nav a.active{color:var(--t);background:rgba(139,108,246,.14);border-left-color:var(--violet);}
.prose{max-width:780px;min-width:0;}
.prose.narrow{max-width:780px;}
.prose h1{font-size:clamp(28px,4vw,40px);margin-bottom:18px;}
.prose h2{font-size:22px;margin:40px 0 12px;}
.prose h3{font-size:17px;margin:28px 0 8px;}
.prose p,.prose li{color:#cfd0ee;}
.prose ul,.prose ol{padding-left:22px;}
.prose li{margin:6px 0;}
.prose code{font:13.5px var(--mono);background:rgba(139,108,246,.14);border-radius:5px;padding:1px 6px;color:#ddd6fe;overflow-wrap:anywhere;} /* длинная ссылка-пример не шире телефона */
.prose pre{background:rgba(0,0,0,.3);border:1px solid var(--brd);border-radius:10px;padding:14px 16px;overflow-x:auto;}
.prose pre code{background:none;padding:0;color:var(--t);}
.prose table{width:100%;border-collapse:collapse;margin:14px 0;font-size:15px;display:block;overflow-x:auto;}
.prose th,.prose td{border:1px solid var(--brd);padding:9px 12px;text-align:left;}
.prose th{background:var(--card2);}
.prose kbd{font:12.5px var(--mono);border:1px solid var(--brd2);border-bottom-width:2px;border-radius:5px;padding:1px 6px;background:var(--card);}
.prose img{border-radius:12px;border:1px solid var(--brd2);margin:18px 0;}
.prose figure{margin:30px 0;}
.prose figure img{display:block;width:100%;height:auto;margin:0;}
.prose figure.narrow img{width:auto;max-width:100%;margin:0 auto;}
.prose figcaption{margin-top:10px;text-align:center;color:var(--sub);font:13px/1.5 var(--mono);}
.prose blockquote{margin:18px 0;padding:10px 16px;border-left:3px solid var(--cyan);background:rgba(84,224,255,.06);border-radius:0 10px 10px 0;color:var(--sub);}
.admonition{margin:18px 0;padding:12px 16px;border-radius:10px;border:1px solid var(--brd2);background:rgba(255,255,255,.03);}
.admonition-title{font-weight:600;margin:0 0 4px;}
.admonition.warning{border-color:rgba(245,197,66,.5);background:rgba(245,197,66,.07);}
.admonition.todo-block{border-color:var(--yellow);border-style:dashed;background:rgba(245,197,66,.06);}
.admonition.todo-block .admonition-title{color:var(--yellow);font-family:var(--mono);font-size:13px;}
.pager{clear:both;display:flex;justify-content:space-between;gap:12px;margin-top:48px;padding-top:20px;border-top:1px solid var(--brd);}
.pager a{padding:10px 14px;border:1px solid var(--brd);border-radius:10px;}
.pager a:hover{border-color:var(--violet);}
/* страницы списка статей: ← Назад · 1 2 3 · Дальше → */
.apager{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:40px;}
.apager .ap-nums{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;}
.apager a,.apager span{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 14px;border:1px solid var(--brd);border-radius:12px;color:var(--t);font-weight:600;}
.apager a:hover{border-color:var(--violet);color:var(--t);}
.apager .cur{background:linear-gradient(135deg,#7c5dff,#a78bfa);border-color:transparent;color:#fff;box-shadow:0 8px 24px rgba(124,93,255,.4);}
.apager .off{opacity:.35;}
@media (max-width:560px){.apager .ap-step{padding:0 10px;font-size:14px;}}
.docs-search{position:relative;max-width:560px;margin:0 0 28px;}
.docs-search input{width:100%;font:15px var(--sans);color:var(--t);background:var(--card);border:1px solid var(--brd2);border-radius:12px;padding:13px 16px;outline:none;}
.docs-search input:focus{border-color:var(--violet);}
#docsResults{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:5;background:var(--card2);border:1px solid var(--brd2);border-radius:12px;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.45);}
#docsResults:empty{display:none;}
#docsResults a{display:block;padding:12px 16px;color:var(--t);border-bottom:1px solid var(--brd);}
#docsResults a:last-child{border-bottom:0;}
#docsResults .no-results{display:block;padding:12px 16px;}
#docsResults a:hover{background:rgba(139,108,246,.14);}
#docsResults .snip{display:block;color:var(--sub);font-size:13px;margin-top:3px;}
#docsResults mark{background:rgba(245,197,66,.3);color:inherit;border-radius:3px;}

/* подвал */
.site-footer{border-top:1px solid rgba(44,48,112,.6);padding:36px 0 44px;margin-top:40px;}
.footer-row{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;}
.site-footer .brand-name{font-size:16px;margin-bottom:6px;}

/* Блоки видны сразу (без JS, на превью, в поисковиках); анимация - только лёгкий подъём при наведении */
.card.reveal{transition:transform .2s,border-color .2s;}
.card.reveal:hover{transform:translateY(-2px);border-color:var(--brd2);}
@media (prefers-reduced-motion:reduce){.hero-shot,.hero-shot:hover,.card.reveal:hover{transform:none;}}

@media (max-width:960px){
  .hero-grid,.feature,.feature.flip,.download-box{grid-template-columns:minmax(0,1fr);gap:32px;}
  .feature.flip .feature-text{order:0;}
  .hero-shot{transform:none;}
  .grid-3{grid-template-columns:repeat(2,minmax(0,1fr));}
  .flow{grid-template-columns:minmax(0,1fr);}
  .flow-arrow::after{width:2px;height:28px;background:linear-gradient(180deg,transparent,var(--violet));}
  .docs-layout{grid-template-columns:minmax(0,1fr);gap:24px;padding-top:28px;}
  .docs-nav{position:static;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;gap:6px;padding-bottom:6px;}
  .docs-nav a{white-space:nowrap;border-left:0;border:1px solid var(--brd);}
}
@media (max-width:760px){
  .nav-toggle{display:block;}
  .site-nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;padding:10px 16px 18px;background:rgba(19,21,51,.97);border-bottom:1px solid var(--brd);}
  .site-nav.open{display:flex;}
  .site-nav a:not(.btn){padding:12px;}
  .site-nav .btn{margin:8px 0 0;justify-content:center;}
  .section{padding-top:52px;padding-bottom:52px;}
  .hero{padding:48px 0 32px;}
  .grid-3,.grid-2{grid-template-columns:minmax(0,1fr);}
  .tone th,.tone td{padding:10px 12px;font-size:14px;}
}

/* Утилиты вместо inline style="" - CSP сайта запрещает inline-стили. !important - чтобы
   вести себя как inline-стиль, который они заменили (он сильнее любого селектора). */
.mt-0{margin-top:0 !important;}
.mt-28{margin-top:28px !important;}
.pt-24{padding-top:24px !important;}
.pt-0{padding-top:0 !important;}
.mt-24{margin-top:24px !important;}
.mono{font-family:var(--mono) !important;}
.mt-14{margin-top:14px !important;}
.bt-0{border-top:0 !important;}
.pb-24{padding-bottom:24px !important;}
.pb-16{padding-bottom:16px !important;}
.minh-52{min-height:52vh !important;}
.fig-520{max-width:520px !important;justify-self:center !important;}
.fig-380{max-width:380px !important;justify-self:center !important;}
.stamp-cta{margin:6px 0 34px !important;}
.kv-space{margin:18px 0 24px !important;}
.my-14{margin:14px 0 !important;}
.mt-40{margin-top:40px !important;}
.mt-36{margin-top:36px !important;}
.mt-20{margin-top:20px !important;}
.mt-16{margin-top:16px !important;}
.mb-26{margin-bottom:26px !important;}
.doc-shadow{border-radius:10px !important;box-shadow:0 30px 80px rgba(0,0,0,.45) !important;}

/* ---------- хаб: вторая строка меню ZmNx·AI, утилиты, статьи ---------- */
.subnav{position:sticky;top:calc(env(safe-area-inset-top,0px) + 64px);z-index:40;background:rgba(23,26,61,.85);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(44,48,112,.6);}
.subnav-row{display:flex;align-items:center;gap:16px;height:52px;}
.subnav-title{font:700 15px/1 var(--display);white-space:nowrap;}
.subnav-title .dot,.hub-link h3 .dot{color:var(--sub);} .subnav-title .ai,.hub-link h3 .ai{color:var(--violet2);}
.subnav-links{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;min-width:0;}
.subnav-links::-webkit-scrollbar{display:none;}
.subnav-links a{color:var(--sub);font-size:14px;padding:7px 11px;border-radius:8px;white-space:nowrap;}
.subnav-links a:hover{color:var(--t);background:rgba(255,255,255,.05);}
.subnav-links a.active{color:var(--t);background:rgba(139,108,246,.16);}
.subnav .btn{margin-left:auto;flex-shrink:0;}
.docs-nav{top:136px;}

.hub-map{display:flex;flex-direction:column;gap:12px;}
.hub-link{min-height:0;padding:20px 22px;}
.hub-link .eyebrow{margin-bottom:8px;}
.hub-link h3{margin:0 0 6px;font-size:20px;}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;}
.section-head .h2{margin-bottom:0;}

.chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px;}
.chip{font:500 12px/1 var(--mono);color:var(--sub);border:1px solid var(--brd2);border-radius:999px;padding:5px 10px;}
.chip.web{color:var(--green);border-color:rgba(52,211,153,.5);}
.chip.download{color:var(--blue);border-color:rgba(90,162,255,.5);}
.chip.draft{color:#1b1b1b;background:var(--yellow);border-color:var(--yellow);}
.item-card{justify-content:flex-start;gap:0;}
.item-card h3{margin:0 0 8px;}
.item-card p{margin-bottom:16px;flex:1;}
.item-card .chips{margin:0 0 12px;}
.item-card p + .chips{margin:0;}
.item-meta{font:13px var(--mono);color:var(--mute);margin-bottom:10px;}
.empty{max-width:640px;border-style:dashed;}
.back{display:inline-block;font-size:14px;margin-bottom:22px;}
.local-note{max-width:780px;color:var(--sub);border-left:3px solid var(--green);background:rgba(52,211,153,.06);border-radius:0 10px 10px 0;padding:10px 16px;margin:0 0 28px;}
.tool-download{max-width:780px;margin-bottom:32px;}
.article{margin:0 auto;}
.article > .lead{margin-bottom:18px;}
.article > .chips{margin-bottom:32px;}
.footer-links{display:flex;flex-wrap:wrap;gap:6px 18px;}
.footer-links a{color:var(--sub);}
.footer-links a:hover{color:var(--t);}
@media (max-width:760px){
  .subnav-title{display:none;}
  .subnav-row{height:48px;gap:8px;}
  .docs-nav{top:auto;}
}
/* Просмотр картинки во весь экран (site.js, lightbox) */
img.zoomable{cursor:zoom-in;}
.hero-shot img.zoomable{cursor:zoom-in;}
.lightbox{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;background:rgba(8,9,26,.9);backdrop-filter:blur(6px);cursor:zoom-out;animation:lb-in .18s ease-out;}
.lightbox img{max-width:min(96vw,1800px);max-height:calc(100vh - 80px);width:auto;height:auto;border-radius:12px;border:1px solid var(--brd2);box-shadow:0 30px 90px rgba(0,0,0,.6);}
.lightbox-cap{color:var(--sub);font:13px/1.4 var(--mono);text-align:center;max-width:90vw;}
body.lb-open{overflow:hidden;}
@keyframes lb-in{from{opacity:0;}to{opacity:1;}}
@media (prefers-reduced-motion:reduce){.lightbox{animation:none;}}
/* Две редакции на странице «Скачать» */
.edition{display:flex;flex-direction:column;}
.edition .btn{align-self:flex-start;}
.edition-full{border-color:rgba(245,197,66,.35);}
.edition-missing{display:none;}
.edition.is-missing .edition-missing{display:block;}
.edition.is-missing .btn,.edition.is-missing .edition-file,.edition.is-missing .kv{display:none;}

/* ИнКа — стикеры в тексте статей и на служебных страницах */
.prose img.sticker{border:0;border-radius:0;background:none;margin:4px 0 14px;filter:drop-shadow(0 12px 28px rgba(0,0,0,.45));height:auto;}
.prose img.sticker-right{float:right;width:240px;margin-left:26px;transform:rotate(3deg);}
.prose img.sticker-left{float:left;width:220px;margin-right:26px;transform:rotate(-3deg);}
.prose img.sticker-center{display:block;width:300px;margin:26px auto 0;transform:rotate(-2deg);}
.prose img.sticker.tall{width:170px;}
/* статья вмещает свои картинки-стикеры, а списки рядом с ними встают целиком, не подныривая под картинку */
.prose{display:flow-root;}
.prose h2{clear:both;}
.prose ul,.prose ol{display:flow-root;}
.prose img.sticker-center{height:auto;}
.prose figure,.prose table,.prose pre{clear:both;}
.inka-404{display:block;width:300px;height:auto;margin-bottom:26px;filter:drop-shadow(0 16px 36px rgba(0,0,0,.5));transform:rotate(-2deg);}
@media (max-width:640px){
  .prose img.sticker-right,.prose img.sticker-left{float:none;display:block;width:220px;margin:6px auto 18px;}
  .inka-404{width:240px;}
}

/* ---- ИнКа на страницах ---- */
/* Знак в шапке — как в ZmNx·AI: Бит в фиолетово-синей плитке, рядом «ZmNx» плотным Inter */
.site-header .brand .glasses-logo{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#a36bff,#5d7bff);
  box-shadow:0 4px 18px rgba(124,93,255,.45),inset 0 1px 0 rgba(255,255,255,.25);}
.site-header .brand .glasses-logo svg{height:31px;}
.site-header .brand .bit-logo rect[fill="#8b6cf6"],.site-header .brand .bit-logo line{fill:#ece8ff;stroke:#ece8ff;}
.site-header .brand-name{font:700 22px/1 var(--sans);letter-spacing:-.03em;color:#ece8ff;}
/* Слоган у знака — плашка как в ZmNx·AI: моно, фиолетовый, при загрузке «расшифровывается» (site.js) */
.brand-tag{display:inline-block;margin-left:4px;padding:5px 12px;border:1px solid rgba(139,124,255,.35);border-radius:999px;background:rgba(139,124,255,.08);
  font:600 11px/1.2 var(--mono);letter-spacing:.02em;color:#a99cff;white-space:nowrap;}
.brand-tag b{font-weight:600;color:var(--violet2);}
@media (max-width:1199px){.brand-tag{display:none;}}
.meet-inka{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px;align-items:center;padding:24px 0 56px;}
.meet-inka-img{width:100%;max-width:340px;height:auto;justify-self:center;filter:drop-shadow(0 24px 50px rgba(0,0,0,.5));}
.cta-inka{display:block;width:240px;height:auto;margin:0 0 18px -10px;filter:drop-shadow(0 20px 40px rgba(0,0,0,.5));}
.page-head{display:flex;align-items:center;justify-content:space-between;gap:32px;}
.page-head-inka{width:210px;height:auto;flex-shrink:0;filter:drop-shadow(0 18px 40px rgba(0,0,0,.45));}
.prose img.sticker{max-width:100%;}
@media (max-width:900px){
  .brand-tag{display:none;}
  .meet-inka{grid-template-columns:minmax(0,1fr);gap:20px;}
  .meet-inka-img{max-width:230px;}
  .page-head{flex-direction:column;align-items:flex-start;gap:12px;}
  .page-head-inka{width:150px;align-self:center;order:-1;}
}

/* ИнКа — часть сцены, а не наклейка: чуть приглушена, с фиолетовым отсветом сайта */
.meet-inka-img,.page-head-inka,.cta-inka,.inka-404,.prose img.sticker{
  filter:brightness(.86) saturate(.88) contrast(1.02) drop-shadow(0 0 26px rgba(139,108,246,.22)) drop-shadow(0 18px 38px rgba(0,0,0,.5));}
/* «Скачать»: ИнКа выпрыгивает из карточки с Hermes — низ прячется за карточкой */
.page-head-inka.pop{position:relative;z-index:0;width:230px;margin:0 60px -70px 0;align-self:flex-end;}
.editions{position:relative;z-index:1;}
.editions .card{position:relative;}
@media (max-width:900px){.page-head-inka.pop{margin:0;width:150px;align-self:center;}}
/* Отражённая ИнКа: стоит справа, а показывать должна влево — на текст */
.mirror{transform:scaleX(-1);}
/* «Скачать» → «Живой голос ИнКи»: карточка с ИнКой справа */
.voice-pack{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end;}
.voice-pack-inka{width:150px;height:auto;margin:-10px 0 -18px;filter:drop-shadow(0 18px 40px rgba(0,0,0,.45));}
@media (max-width:760px){.voice-pack{grid-template-columns:minmax(0,1fr);} .voice-pack-inka{width:100px;order:-1;margin:0;}}
/* Телефон: высокая узкая ИнКа («Это ИнКа» на главной) занимала полтора экрана — ограничиваем по высоте */
@media (max-width:900px){.meet-inka-img{max-height:380px;width:auto;}}
.editions .edition-full{background:linear-gradient(180deg,#232760,#1d2050);}
/* v2: новые картинки ИнКи (зелёный фон, один стиль) */
.meet-inka-img{max-width:280px;}
.page-head-inka.pop{width:280px;margin:0 40px -2px 0;}
.inka-404{width:320px;transform:none;}
@media (max-width:900px){.page-head-inka.pop{width:220px;margin:0 auto -2px;} .inka-404{width:240px;}}
/* мягче край: чуть сильнее фиолетовое свечение вокруг ИнКи */
.meet-inka-img,.page-head-inka,.cta-inka,.inka-404{
  filter:brightness(.88) saturate(.9) drop-shadow(0 0 1.5px rgba(139,108,246,.55)) drop-shadow(0 0 28px rgba(139,108,246,.28)) drop-shadow(0 18px 38px rgba(0,0,0,.5));}

/* ---- утилиты «в браузере»: общие элементы (photo-clean, passphrase, secret-note) ---- */
.tool-ui{margin:8px 0 40px;display:grid;gap:16px;}
.tool-ui .panel{background:var(--card);border:1px solid var(--brd);border-radius:var(--r);padding:20px;display:grid;gap:14px;}
.tool-ui .row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
.tool-ui label.opt{display:inline-flex;align-items:center;gap:8px;color:var(--sub);font-size:15px;cursor:pointer;}
.tool-ui input[type=text],.tool-ui input[type=password],.tool-ui textarea,.tool-ui select{font:15px/1.4 var(--sans);color:var(--t);background:var(--bg2);border:1px solid var(--brd2);border-radius:10px;padding:10px 12px;}
.tool-ui input:focus-visible,.tool-ui textarea:focus-visible,.tool-ui select:focus-visible,.tool-ui button:focus-visible{outline:2px solid var(--violet2);outline-offset:2px;}
.tool-ui textarea{width:100%;min-height:140px;resize:vertical;box-sizing:border-box;font-family:var(--mono);font-size:13.5px;}
.tool-ui .grow{flex:1 1 240px;min-width:0;}
.tool-ui .btn{padding:11px 18px;font-size:15px;}
.tool-ui .btn[disabled]{opacity:.45;cursor:not-allowed;transform:none;}
.tool-ui .muted{color:var(--mute);font-size:14px;}
.tool-ui .msg{font-size:15px;border-radius:10px;padding:10px 14px;background:rgba(255,255,255,.04);border:1px solid var(--brd);}
.tool-ui .msg.ok{border-color:rgba(52,211,153,.5);background:rgba(52,211,153,.07);}
.tool-ui .msg.bad{border-color:rgba(248,113,113,.55);background:rgba(248,113,113,.07);}
.tool-ui .msg.warn{border-color:rgba(245,197,66,.5);background:rgba(245,197,66,.07);}
.tool-ui .drop{display:grid;place-items:center;gap:6px;text-align:center;min-height:170px;padding:24px;border:2px dashed var(--brd2);border-radius:var(--r);background:rgba(139,108,246,.05);cursor:pointer;transition:border-color .2s,background .2s;}
.tool-ui .drop:hover,.tool-ui .drop.over{border-color:var(--violet2);background:rgba(139,108,246,.1);}
.tool-ui .drop b{font:600 17px var(--display);color:var(--t);}
.tool-ui .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.tool-ui .tag{display:inline-block;font:500 12px/1 var(--mono);border-radius:6px;padding:5px 8px;border:1px solid var(--brd2);color:var(--sub);}
.tool-ui .tag.red{color:#fecaca;border-color:rgba(248,113,113,.6);background:rgba(248,113,113,.12);}
.tool-ui .tag.yellow{color:#fde68a;border-color:rgba(245,197,66,.55);background:rgba(245,197,66,.1);}
.tool-ui .tag.green{color:#a7f3d0;border-color:rgba(52,211,153,.55);background:rgba(52,211,153,.1);}
.tool-ui table{margin:0;display:table;width:100%;}
.tool-ui [hidden]{display:none!important;}
@media (max-width:640px){.tool-ui .panel{padding:16px;}}

/* Бета-тест: приветствие ИнКи при первом заходе (показывает beta.js до отрисовки) и стикер у логотипа */
/* margin:auto вместо place-items:center — если не влезает по высоте, верх не уезжает за экран, а прокручивается */
.beta-card{display:flex;align-items:flex-end;gap:8px;max-width:860px;width:100%;margin:auto;}
.beta-inka{flex:none;height:min(770px,calc(100vh - 32px));height:min(770px,calc(100dvh - 32px));width:auto;max-width:30vw;object-fit:contain;object-position:bottom;filter:drop-shadow(0 18px 40px rgba(0,0,0,.45));}
.beta-bubble{position:relative;align-self:center;background:var(--card);border:1px solid var(--brd2);border-radius:22px;padding:26px 28px;box-shadow:0 24px 60px rgba(0,0,0,.4);}
.beta-bubble::before{content:"";position:absolute;left:-11px;top:64px;width:20px;height:20px;background:var(--card);border-left:1px solid var(--brd2);border-bottom:1px solid var(--brd2);transform:rotate(45deg);}
.beta-kicker{display:inline-block;font:700 12px/1 var(--mono);text-transform:uppercase;letter-spacing:.14em;color:#131533;background:var(--violet2);border-radius:6px;padding:6px 9px;transform:rotate(-2deg);}
.beta-bubble h2{margin:14px 0 10px;font:700 clamp(26px,4vw,34px)/1.1 var(--display);}
.beta-bubble p{margin:0 0 10px;color:var(--sub);font-size:17px;line-height:1.5;}
.beta-go{margin-top:10px;font-size:16px;padding:14px 22px;}
.beta-small{margin:14px 0 0!important;font:400 12.5px/1.4 var(--mono)!important;opacity:.75;}
@keyframes beta-in{from{opacity:0}to{opacity:1}}
@keyframes beta-out{to{opacity:0}}
@media (max-width:640px){
  .beta-card{flex-direction:column;align-items:center;gap:0;}
  .beta-inka{height:min(385px,34vh);height:min(385px,34dvh);max-width:none;margin-bottom:-6px;position:relative;z-index:1;}
  .beta-bubble{padding:22px 20px;}
  .beta-bubble::before{left:50%;top:-11px;bottom:auto;margin-left:-10px;transform:rotate(135deg);}
  .beta-go{width:100%;}
}
/* «На тестировании» (build.py, TESTING_NOTE): ИнКа до пояса стоит за нижним краем карточки, справа её реплика */
.testing-note{position:relative;display:flex;gap:20px;align-items:center;max-width:780px;min-height:176px;margin:0 0 28px;padding:22px 24px 22px 0;overflow:hidden;
  background:linear-gradient(135deg,rgba(245,197,66,.16),rgba(245,197,66,.04) 45%,rgba(29,32,80,.72));border-color:rgba(245,197,66,.5);
  box-shadow:0 18px 50px rgba(245,197,66,.07),inset 0 1px 0 rgba(255,255,255,.05);}
.testing-note .tn-inka{flex:none;align-self:flex-end;width:118px;height:190px;margin:0 0 -22px 14px;object-fit:cover;object-position:top;filter:drop-shadow(0 10px 24px rgba(0,0,0,.4));}
.testing-note .eyebrow{margin-bottom:8px;}
.testing-note h3{margin:0 0 6px;}
.testing-note p{margin:0;}
@media (max-width:640px){.testing-note{gap:12px;min-height:0;padding:18px 16px 18px 0;}.testing-note .tn-inka{width:84px;height:150px;margin:0 0 -18px 8px;}}

/* Заглушка тех. окна (страницу рендерит zmnx-admin, стили — отсюда: CSP не пускает inline) */
.maint{min-height:100vh;display:grid;place-items:center;text-align:center;padding:32px 16px;}
.maint img{display:block;margin:0 auto;height:min(40vh,340px);width:auto;max-width:80vw;}
.maint h1{margin:18px 0 10px;}
.maint p{max-width:560px;margin:0 auto 10px;color:var(--sub);font-size:18px;line-height:1.5;}
.maint .maint-until{color:var(--yellow);font-family:var(--mono);font-size:15px;}
.maint .maint-note{font-family:var(--mono);font-size:13px;opacity:.7;margin-top:22px;}

/* «Скачать»: у каждой редакции своя лента поверх карточки. Обычная — золото с бликом, с агентом — неоновый жёлтый
   с полосами оцепления (агент — самая свежая часть, тестируем вместе). Текст стоит на месте: бегущий в разные стороны
   резал глаза (2026-10-07); живёт только блик, у неона — мягкое дыхание свечения. Ленты на разной высоте и под разным углом */
.editions.taped{margin-top:22px;}
.editions.taped > .edition{padding-top:50px;}
.tape{position:absolute;z-index:3;top:-17px;left:-7px;right:-7px;height:36px;display:flex;align-items:center;overflow:hidden;pointer-events:none;}
.tape-run{display:flex;width:max-content;}
.tape-run span{display:flex;align-items:center;white-space:nowrap;}
.tape b{font:800 11.5px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;padding:0 14px;}
.tape i{font-style:normal;font-size:9px;}
.tape::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.75) 48%,transparent 60%);
  background-size:300% 100%;background-position:120% 0;mix-blend-mode:soft-light;animation:tape-shine 7s ease-in-out infinite;}
.tape-gold{transform:rotate(-1.8deg);color:#2a1a00;
  background:linear-gradient(90deg,#a8740a,#ffd75e 14%,#fff2b3 26%,#f2b40c 44%,#ffe17a 62%,#c48e10 80%,#ffd75e 94%,#a8740a);
  box-shadow:inset 0 2px 0 rgba(255,250,215,.75),inset 0 -2px 0 rgba(110,70,0,.55),0 0 18px rgba(255,196,48,.55),0 0 44px rgba(255,170,0,.22),0 10px 22px rgba(0,0,0,.45);}
.tape-gold i{color:#8a5600;}
.tape-neon{top:-9px;transform:rotate(1.2deg);color:#141200;background:#ffe81a;
  border-top:5px solid transparent;border-bottom:5px solid transparent;
  border-image:repeating-linear-gradient(-45deg,#111 0 9px,#ffe81a 9px 18px) 5;
  box-shadow:0 0 14px rgba(255,236,26,.75),0 0 38px rgba(255,214,0,.4),0 0 80px rgba(255,200,0,.18),0 10px 22px rgba(0,0,0,.45);
  animation:tape-breathe 4.5s ease-in-out infinite;}
.tape-neon::after{animation-delay:3.5s;}
.tape-neon b{text-shadow:0 0 1px rgba(255,255,255,.6);}
.tape-neon i{color:#5b4b00;}
.editions.taped > .edition-full{padding-top:56px;}
@keyframes tape-shine{0%,60%{background-position:120% 0;}100%{background-position:-20% 0;}}
@keyframes tape-breathe{50%{box-shadow:0 0 8px rgba(255,236,26,.5),0 0 24px rgba(255,214,0,.25),0 0 50px rgba(255,200,0,.1),0 10px 22px rgba(0,0,0,.45);}}
@media (prefers-reduced-motion:reduce){.tape::after,.tape-neon{animation:none;}}
@media (max-width:640px){.tape{left:-6px;right:-6px;}}

/* Окно ИнКи перед скачиванием (site.js, inkaGate). Картинка и облачко — как у приветствия беты */
.inka-gate{position:fixed;inset:0;z-index:200;display:flex;padding:16px;overflow-y:auto;background:rgba(10,11,30,.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:beta-in .25s ease-out;}
.inka-gate[hidden]{display:none;}
.inka-gate .beta-card{max-width:940px;}
.inka-gate .beta-bubble{padding-top:30px;}
.inka-gate .beta-bubble p{font-size:16px;}
.beta-kicker.yellow{background:var(--yellow);color:#15152a;}
.gate-right{margin:14px 0 0!important;padding-top:14px;border-top:1px solid var(--brd);color:var(--t)!important;}
.gate-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;}
.gate-x{position:absolute;top:10px;right:12px;width:36px;height:36px;border:0;border-radius:10px;background:none;color:var(--sub);font-size:24px;line-height:1;cursor:pointer;}
.gate-x:hover{color:var(--t);background:rgba(255,255,255,.06);}
html.gate-open body{overflow:hidden;}
@media (max-width:640px){.gate-btns .btn{width:100%;}}

/* Страница утилиты: табличка, карточка скачивания, скриншоты и интерфейс — на всю ширину контейнера, как карточки
   на «Скачать»; абзацы, списки и заголовки остаются 780, чтобы строки читались */
.tool-download,.testing-note,.local-note{max-width:none;}
.prose.tool-body{max-width:none;}
.tool-body > *{max-width:780px;}
.tool-body > .tool-ui,.tool-body > p:has(> img:only-child),.tool-body > figure,.tool-body > img{max-width:none;}
/* Утилиты: раздел с ИнКой — две колонки (build.py, side_sections), ИнКа то справа, то слева */
.tool-body > p:has(> img:only-child:not(.sticker)),.tool-body > .tool-ui{clear:both;}
.tool-body > .tsec{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:0 44px;align-items:center;margin:40px 0 28px;}
.tool-body > .tsec.art-left{grid-template-columns:260px minmax(0,1fr);}
.tsec.art-left .tsec-art{order:-1;}
.tsec-text > :first-child{margin-top:0;}
.tsec-text > :last-child{margin-bottom:0;}
.tsec-art{display:grid;place-items:center;}
.prose.tool-body .tsec img.sticker.side{float:none;display:block;margin:0;width:230px;}
.prose.tool-body .tsec img.sticker.side.mid{width:200px;}
.prose.tool-body .tsec img.sticker.side.tall{width:150px;}
.tsec.art-right img.sticker.side{transform:rotate(3deg);} .tsec.art-left img.sticker.side{transform:rotate(-3deg);}
@media (max-width:760px){
  .tool-body > .tsec,.tool-body > .tsec.art-left{grid-template-columns:minmax(0,1fr);}
  .tsec.art-left .tsec-art{order:0;}
  .tsec-art{margin-top:18px;}
  .tool-body > .tsec{margin:28px 0 20px;}
  .prose.tool-body .tsec img.sticker.side{width:140px;} .prose.tool-body .tsec img.sticker.side.mid{width:120px;} .prose.tool-body .tsec img.sticker.side.tall{width:80px;}
}

/* Инструкции: предупреждение от ИнКи (install.md) — лента, ИнКа со щитом, облачко */
.inka-note{position:relative;display:grid;grid-template-columns:120px minmax(0,1fr);gap:14px;align-items:end;margin:22px 0 30px;}
.inka-note > img{width:120px;height:auto;margin:0 0 -4px;filter:drop-shadow(0 14px 30px rgba(0,0,0,.45));}
.inka-note .in-bubble{position:relative;background:var(--card);border:1px solid rgba(245,197,66,.45);border-radius:18px;padding:0 22px 18px;overflow:hidden;}
.inka-note .in-bubble::before{content:"";display:block;height:10px;margin:0 -22px 16px;background:repeating-linear-gradient(-45deg,#15152a 0 10px,var(--yellow) 10px 20px);}
.inka-note .in-kicker{display:inline-block;font:700 11.5px/1 var(--mono);text-transform:uppercase;letter-spacing:.14em;color:#15152a;background:var(--yellow);border-radius:6px;padding:6px 9px;transform:rotate(-2deg);margin-bottom:10px;}
.inka-note.test .in-bubble{border-color:rgba(167,139,250,.45);}
.inka-note.test .in-bubble::before{background:linear-gradient(90deg,var(--violet2),#7fb4ff);height:6px;}
.inka-note.test .in-kicker{background:linear-gradient(90deg,var(--violet2),#7fb4ff);}
.prose .inka-note p{margin:0 0 10px;font-size:16px;}
.prose .inka-note p:last-child{margin:0;}
@media (max-width:640px){.inka-note{grid-template-columns:1fr;justify-items:center;gap:0;} .inka-note > img{width:90px;}}
.prose .inka-note > img{border:0;border-radius:0;background:none;box-shadow:none;padding:0;}

/* ---------- Карточки утилит (build.py, tool_card): картинка сверху, «тестирование» лентой через угол ---------- */
.tgroup{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin:44px 0 16px;}
.tgroup h2{margin:0;font:700 clamp(22px,2.6vw,28px)/1.2 var(--display);}
.tgroup span{color:var(--mute);font:13px var(--mono);}
.tgrid{display:grid;gap:18px;}
.tgrid.dl{grid-template-columns:repeat(2,minmax(0,1fr));}
.tgrid.web{grid-template-columns:repeat(4,minmax(0,1fr));}
.tgrid.home{grid-template-columns:repeat(3,minmax(0,1fr));}
.tcard{position:relative;display:flex;flex-direction:column;overflow:hidden;border-radius:var(--r);background:var(--card);border:1px solid var(--brd);color:var(--t);
  transition:transform .2s,border-color .2s,box-shadow .2s;}
.tcard:hover{transform:translateY(-3px);border-color:rgba(167,139,250,.55);box-shadow:0 22px 50px rgba(0,0,0,.35),0 0 0 1px rgba(167,139,250,.15);color:var(--t);}
.tc-art{position:relative;aspect-ratio:16/9;overflow:hidden;flex:none;border-bottom:1px solid var(--brd);}
.tc-art img{display:block;transition:transform .35s ease;}
.tcard:hover .tc-art img{transform:scale(1.04);}
/* скриншот — окошком: край программы виден, фон карточки вокруг */
/* Окно программы целиком по ширине, низ растворяется: раньше увеличивали до 170% — и окно резалось посреди слова */
.tc-art.shot{background:radial-gradient(90% 90% at 20% 0%,rgba(139,108,246,.35),transparent 60%),#15183d;padding:22px 22px 0;}
.tc-art.shot img{width:100%;max-width:none;height:auto;border-radius:10px 10px 0 0;box-shadow:0 0 0 1px rgba(167,139,250,.18),0 14px 40px rgba(0,0,0,.5);transform-origin:50% 0;
  -webkit-mask-image:linear-gradient(180deg,#000 62%,transparent 98%);mask-image:linear-gradient(180deg,#000 62%,transparent 98%);}
.tcard:hover .tc-art.shot img{transform:scale(1.02);}
/* ИнКа — на цветном фоне, выглядывает снизу */
.tc-art.inka{display:grid;justify-items:center;align-items:end;background:radial-gradient(70% 90% at 50% 100%,hsl(var(--hh) 80% 60% / .45),transparent 70%),linear-gradient(160deg,hsl(var(--hh) 55% 22%),#15183d);}
.tc-art.inka::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1px);background-size:14px 14px;}
.tc-art.inka img{position:absolute;top:8%;left:50%;width:auto;height:auto;max-height:200%;max-width:92%;translate:-50% 0;filter:drop-shadow(0 14px 26px rgba(0,0,0,.5));transform-origin:50% 20%;}
.tc-art.inka.wide img{top:auto;bottom:0;height:94%;transform-origin:50% 100%;}
.tc-art.inka.half img{top:auto;bottom:0;max-height:94%;transform-origin:50% 100%;} /* по пояс — целиком, голова как у высоких */
.tc-art.h160{--hh:160;} .tc-art.h195{--hh:195;} .tc-art.h265{--hh:265;} .tc-art.h330{--hh:330;}
.tc-body{display:flex;flex-direction:column;gap:8px;padding:18px 20px 20px;flex:1;}
.tc-kind{display:flex;align-items:center;gap:7px;font:600 11.5px/1 var(--mono);text-transform:uppercase;letter-spacing:.1em;}
.tc-kind .ic{width:14px;height:14px;}
.tcard.web .tc-kind{color:var(--green);} .tcard.download .tc-kind{color:var(--blue);}
.tcard h3{margin:2px 0 0;font:700 20px/1.2 var(--display);text-wrap:balance;}
.tcard p{margin:0;color:var(--sub);font-size:15px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.tc-foot{margin-top:auto;padding-top:10px;display:flex;align-items:center;justify-content:space-between;gap:10px;}
.tc-tags{color:var(--mute);font:12.5px var(--mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tgrid.web .tc-tags,.tgrid.home .tc-tags{display:none;}
.tgrid.web .tc-foot,.tgrid.home .tc-foot{justify-content:flex-end;}
.tcard .more{flex:none;color:var(--violet2);font-size:14px;font-weight:600;}
/* лента «тестирование» через правый верхний угол */
.tc-tape{position:absolute;z-index:2;top:22px;right:-46px;width:190px;text-align:center;transform:rotate(35deg);pointer-events:none;
  font:800 10px/1 var(--mono);text-transform:uppercase;letter-spacing:.14em;color:#15152a;background:var(--yellow);padding:5px 0;
  border-top:4px solid transparent;border-bottom:4px solid transparent;border-image:repeating-linear-gradient(-45deg,#15152a 0 6px,var(--yellow) 6px 12px) 4;box-shadow:0 6px 16px rgba(0,0,0,.4);}
.tc-tape.draft{background:var(--violet2);}
/* широкая карточка — картинка справа */
.tcard.wide{grid-column:1/-1;flex-direction:row;}
.tcard.wide .tc-art{order:2;flex:1.25;aspect-ratio:auto;min-height:300px;border-bottom:0;border-left:1px solid var(--brd);}
.tcard.wide .tc-art.shot{padding:30px 0 0 30px;}
.tcard.wide .tc-art.shot img{width:112%;border-radius:10px 0 0 0;transform-origin:0 0;}
.tcard.wide .tc-body{flex:1;padding:30px 32px;justify-content:center;gap:12px;}
.tcard.wide h3{font-size:clamp(24px,2.6vw,32px);}
.tcard.wide p{font-size:16.5px;-webkit-line-clamp:5;}
.tcard.wide .tc-foot{margin-top:10px;}
@media (max-width:1100px){.tgrid.web{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:900px){.tgrid.home{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:760px){
  .tgrid.dl,.tgrid.web,.tgrid.home{grid-template-columns:minmax(0,1fr);}
  .tcard.wide{flex-direction:column;} .tcard.wide .tc-art{order:0;aspect-ratio:16/9;min-height:0;border-left:0;border-bottom:1px solid var(--brd);}
  .tcard.wide .tc-art.shot{padding:22px 22px 0;} .tcard.wide .tc-art.shot img{width:100%;border-radius:10px 10px 0 0;transform-origin:50% 0;}
  .tcard.wide .tc-body{padding:18px 20px 20px;}
}

/* ---- Утилиты: шапка с ИнКой и мелочи (2026-09-29) ---- */
.tools-head{align-items:flex-end;margin-bottom:8px;}
.tools-head .lead{max-width:640px;}
.tools-count{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin-top:20px;font:13px var(--mono);color:var(--mute);}
.tools-count b{font:700 15px var(--display);color:var(--t);font-variant-numeric:tabular-nums;}
.tools-count i{font-style:normal;color:var(--brd2);}
.tools-inka{position:relative;flex:none;width:220px;margin:0 8px -6px 0;display:flex;flex-direction:column;align-items:center;}
.tools-inka img{width:100%;height:auto;filter:brightness(.88) saturate(.9) drop-shadow(0 0 1.5px rgba(139,108,246,.55)) drop-shadow(0 0 28px rgba(139,108,246,.28)) drop-shadow(0 18px 38px rgba(0,0,0,.5));}
/* Реплика ИнКи — то же облачко, что в приветствии беты, только маленькое и с хвостиком вниз */
.say{position:relative;z-index:1;margin:0 0 14px;padding:12px 16px;max-width:270px;background:var(--card);border:1px solid var(--brd2);border-radius:16px;
  box-shadow:0 18px 40px rgba(0,0,0,.35);color:var(--t);font-size:14px;line-height:1.45;text-wrap:pretty;transform:rotate(-1.5deg);}
.say::after{content:"";position:absolute;left:50%;bottom:-8px;width:14px;height:14px;margin-left:-7px;background:var(--card);
  border-right:1px solid var(--brd2);border-bottom:1px solid var(--brd2);transform:rotate(45deg);}
.tgroup{scroll-margin-top:90px;}
.tcard:focus-visible{outline:2px solid var(--violet2);outline-offset:3px;}
.tool-download .kv dd{font-variant-numeric:tabular-nums;}
.lead,.tcard p,.prose p{text-wrap:pretty;}
.h1,h1,h2{text-wrap:balance;}
@media (max-width:900px){
  .tools-head{align-items:flex-start;}
  .tools-inka{width:100%;max-width:300px;align-self:center;order:0;margin:8px 0 -4px;}
  .tools-inka img{width:170px;}
  .say{font-size:13px;}
}
@media (max-width:640px){
  /* карточки идут в одну колонку — выравнивать высоту незачем, текст целиком */
  .tcard p,.tcard.wide p{display:block;-webkit-line-clamp:none;overflow:visible;}
  .tc-foot{flex-wrap:wrap;row-gap:6px;}
  .tc-tags{white-space:normal;}
}
@media (prefers-reduced-motion:reduce){.say{transform:none;}}

/* ---- /ai/: ИнКа встречает — выглядывает из-за окна приложения (2026-09-29) ---- */
.hero-visual{position:relative;padding-top:188px;}
.hero-visual .hero-shot{position:relative;z-index:1;}
.hero-inka{position:absolute;z-index:0;top:0;right:7%;width:262px;margin:0;}
.hero-inka img{display:block;width:100%;height:auto;
  filter:brightness(.9) saturate(.92) drop-shadow(0 0 1.5px rgba(139,108,246,.55)) drop-shadow(0 0 28px rgba(139,108,246,.28));}
.hero-inka .say{position:absolute;right:100%;top:34px;width:236px;margin:0 -10px 0 0;transform:rotate(-2deg);}
.hero-inka .say::after{left:auto;right:-8px;bottom:auto;top:26px;margin:0;transform:rotate(-45deg);}
.cta-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:end;}
.cta-grid .cta-inka{width:270px;margin:0 30px -90px 0;}
@media (max-width:960px){
  .hero-visual{padding-top:160px;}
  .hero-inka{right:4%;width:220px;}
  .hero-inka .say{width:200px;font-size:13px;}
}
@media (max-width:640px){
  .hero-visual{padding-top:128px;}
  .hero-inka{width:176px;right:0;}
  .hero-inka .say{width:176px;top:10px;font-size:13px;padding:10px 12px;}
  .say-more{display:none;}
  .cta-grid{grid-template-columns:minmax(0,1fr);gap:18px;}
  .cta-grid .cta-inka{width:190px;margin:0;order:-1;}
}
@media (prefers-reduced-motion:reduce){.hero-inka .say{transform:none;}}

/* ---- Страница утилиты: ИнКа — хозяйка страницы, мягкие панели вместо рамок (2026-09-29) ---- */
.h160{--hh:160;} .h195{--hh:195;} .h230{--hh:230;} .h265{--hh:265;} .h330{--hh:330;}
.tool-hero{position:relative;padding:36px 0 8px;overflow:hidden;}
.tool-hero::before{content:"";position:absolute;top:-160px;right:-120px;width:760px;height:620px;pointer-events:none;
  background:radial-gradient(closest-side,hsl(var(--hh) 75% 58% / .20),transparent);}
.tool-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px;align-items:end;}
.tool-hero .lead{max-width:640px;margin-bottom:0;}
.tool-hero .h1{margin-bottom:14px;}
.local-line,.testing-line{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;max-width:640px;margin:18px 0 0;color:var(--sub);font-size:14.5px;line-height:1.5;text-wrap:pretty;}
.local-line{flex-wrap:nowrap;align-items:flex-start;}
.local-line .ic{flex:none;width:18px;height:18px;margin-top:2px;color:var(--green);}
.tape-mini{flex:none;font:800 10.5px/1 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:#15152a;background:var(--yellow);padding:4px 9px;transform:rotate(-2deg);
  box-shadow:0 3px 10px rgba(0,0,0,.35);border-top:3px solid transparent;border-bottom:3px solid transparent;border-image:repeating-linear-gradient(-45deg,#15152a 0 4px,var(--yellow) 4px 8px) 3;}
.tape-mini.draft{background:var(--violet2);border-image:none;}
.tool-host{margin:0;display:flex;flex-direction:column;align-items:center;}
.tool-host .say{margin-bottom:10px;max-width:290px;}

/* «Круг»: ИнКа выглядывает из цветного круга оттенка утилиты — голова над кругом, низ срезан его дугой.
   Тот же приём в шапке и в разделах, тот же оттенок, что у карточки в каталоге. */
.spot{--d:210px;position:relative;flex:none;width:var(--d);height:calc(var(--d) * 1.3);padding-top:6px;box-sizing:border-box;
  border-radius:0 0 calc(var(--d) / 2) calc(var(--d) / 2);overflow:hidden;display:flex;justify-content:center;}
.spot::before{content:"";position:absolute;left:0;right:0;bottom:0;height:var(--d);border-radius:50%;
  background:radial-gradient(circle at 50% 28%,hsl(var(--hh,265) 85% 66% / .85),hsl(var(--hh,265) 70% 42% / .75) 55%,hsl(var(--hh,265) 60% 26% / .8));
  box-shadow:inset 0 0 0 1.5px hsl(var(--hh,265) 90% 75% / .35),inset 0 -22px 44px rgba(0,0,0,.28),0 20px 50px -20px hsl(var(--hh,265) 80% 50% / .45);}
.spot img,.prose.tool-body .spot img.sticker.side,.prose.tool-body .spot img.sticker.side.mid,.prose.tool-body .spot img.sticker.side.tall{
  position:relative;display:block;width:100%;height:100%;max-width:none;margin:0;object-fit:cover;object-position:50% 0;transform:none;
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.35));}
.spot.wide img,.prose.tool-body .spot.wide img.sticker.side{object-fit:contain;object-position:50% 100%;}
.spot.wide{--d:240px;height:calc(var(--d) * 1.08);}
.spot-lg{--d:270px;}

/* разделы: текст слева, ИнКа всегда справа, по верху раздела */
.tool-main{padding-top:36px;}
.tool-body > .tsec{grid-template-columns:minmax(0,1fr) 210px;gap:0 56px;align-items:start;margin:48px 0 20px;}
.tool-body > .tsec.art-left{grid-template-columns:210px minmax(0,1fr);}
.tsec.art-left .tsec-art{order:-1;}
.tsec-art{place-items:start center;padding-top:4px;}

/* панели без жёстких рамок: мягкий градиент, большое скругление, тень снизу */
.tool-ui .panel,.card.tool-download{border:0;border-radius:24px;
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.012) 60%),var(--card);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 30px 60px -34px rgba(0,0,0,.75);}
.tool-ui .panel{padding:26px;}
.card.tool-download{max-width:none;padding:26px 28px;}
.tool-ui input[type=text],.tool-ui input[type=password],.tool-ui textarea,.tool-ui select{border-radius:12px;}
.tool-ui .msg{border-radius:14px;}
@media (max-width:900px){
  .tool-hero-grid{grid-template-columns:minmax(0,1fr);gap:20px;}
  .tool-host{order:0;}
  .spot-lg{--d:210px;}
  .tool-body > .tsec,.tool-body > .tsec.art-left{grid-template-columns:minmax(0,1fr);}
  .tsec.art-left .tsec-art{order:0;}
  .tsec-art{margin-top:18px;place-items:center;}
  .spot{--d:170px;}
}
@media (max-width:640px){.tool-ui .panel{padding:18px;}.card.tool-download{padding:20px;}}
/* скриншоты в тексте утилиты — без рамки: скругление и тень, как окно на столе */
.prose.tool-body img:not(.sticker){border:0;border-radius:18px;box-shadow:0 0 0 1px rgba(167,139,250,.14),0 34px 70px -30px rgba(0,0,0,.8);}
.tool-ui table td,.tool-ui table th{border-color:rgba(167,139,250,.12);}
/* панель скачивания: слева версия/размер/сумма, справа кнопка — без пустой половины */
.card.tool-download{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 36px;align-items:center;}
.card.tool-download .kv{grid-row:1 / span 2;margin:0;}
.card.tool-download > .btn{justify-self:end;padding:14px 24px;font-size:16px;}
.card.tool-download > p{grid-column:1 / -1;margin:6px 0 0 !important;font-size:13px;}
.card.tool-download > p code{white-space:nowrap;}
/* две редакции (alt_* в шапке): подпись над версией и кнопкой, карточки одна под другой */
.card.tool-download + .card.tool-download{margin-top:-14px;}
.card.tool-download .dl-head{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-bottom:4px;}
.card.tool-download .dl-head b{font-size:17px;}
.card.tool-download .dl-head span{color:var(--sub);font-size:14px;}
@media (min-width:761px){.card.tool-download.has-head .kv{grid-row:2 / span 2;}}
/* плитки скачивания — как кнопки: нажать можно в любом месте плитки (site.js); в классическом виде фиолетовое свечение,
   в чёрном — золотое из ai-black.css. Две редакции (.dl-pair) — рядом, кнопка внизу во всю ширину */
.dl-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:32px;}
.dl-pair .card.tool-download{display:flex;flex-direction:column;align-items:stretch;gap:0;margin:0;position:relative;cursor:pointer;transition:transform .2s,box-shadow .3s;}
.dl-pair .card.tool-download .dl-head{display:block;margin:0 0 4px;}
.dl-pair .card.tool-download .dl-head b{display:block;font-size:19px;margin-bottom:6px;}
.dl-pair .card.tool-download .dl-head span{display:block;line-height:1.45;}
.dl-pair .card.tool-download .kv{margin:18px 0 0;gap:8px 16px;}
.dl-pair .card.tool-download .kv dd{font-size:12.5px;}
.dl-pair .card.tool-download > p{order:3;margin:14px 0 0 !important;}
.dl-pair .card.tool-download > p code{white-space:normal;word-break:normal;overflow-wrap:anywhere;}
.dl-pair .card.tool-download > .btn{order:2;align-self:stretch;justify-content:center;margin-top:auto;padding:15px 20px;}
.dl-pair .card.tool-download .kv{margin-bottom:22px;grid-template-columns:auto minmax(0,1fr);}
.dl-pair .card.tool-download + .card.tool-download{margin-top:0;}
.card.tool-download{position:relative;cursor:pointer;transition:transform .2s,box-shadow .3s;}
.card.tool-download:hover{transform:translateY(-3px);}
html:not(.zv-black) .card.tool-download{
  background:linear-gradient(180deg,rgba(46,40,120,.9),rgba(30,32,86,.9)) padding-box,
    linear-gradient(160deg,rgba(196,176,255,.55),rgba(124,93,255,.25) 45%,rgba(90,162,255,.45)) border-box;
  border:1px solid transparent;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 18px rgba(124,93,255,.18),0 26px 60px -30px rgba(0,0,0,.8);}
html:not(.zv-black) .card.tool-download:hover{
  background:linear-gradient(180deg,rgba(54,46,138,.95),rgba(34,36,98,.95)) padding-box,
    linear-gradient(160deg,#e3d8ff,#9d7bff 40%,#5aa2ff 80%,#a9e6ff) border-box;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),inset 0 0 26px rgba(139,108,246,.12),0 0 18px rgba(139,108,246,.55),0 0 60px -6px rgba(90,162,255,.5);}
html:not(.zv-black) .tool-download .btn-primary{animation:zvviolet 4.5s ease-in-out infinite;}
@keyframes zvviolet{0%,100%{box-shadow:0 8px 28px rgba(124,93,255,.45),0 0 0 rgba(167,139,250,0);}
  50%{box-shadow:0 10px 34px rgba(124,93,255,.6),0 0 30px rgba(167,139,250,.55);}}
@media (prefers-reduced-motion:reduce){.tool-download .btn-primary{animation:none !important;}.card.tool-download:hover{transform:none;}}
@media (max-width:760px){
  .dl-pair{grid-template-columns:minmax(0,1fr);gap:16px;}
  .card.tool-download{grid-template-columns:minmax(0,1fr);}
  .card.tool-download .kv{grid-row:auto;}
  .card.tool-download > .btn{justify-self:stretch;justify-content:center;}
  .card.tool-download > p code{white-space:normal;}
}

/* ---- Статьи: ИнКа на полях в круге, обложки карточек (2026-09-29) ---- */
/* Плавающий блок с отрицательным отступом больше своей ширины уходит на поле и не сужает строки текста */
.article{position:relative;}
.side-inka{margin:0;}
.side-inka .spot{--d:180px;}
.side-inka.right{float:right;width:180px;margin:6px -216px 10px 0;}
.side-inka.left{float:left;width:180px;margin:6px 0 10px -216px;}
.side-inka.center{clear:both;display:flex;justify-content:center;margin:36px 0 8px;}
.side-inka.center .spot{--d:220px;}
.article .spot img.sticker{float:none;display:block;width:100%;height:100%;max-width:none;margin:0;border:0;border-radius:0;
  object-fit:cover;object-position:50% 0;transform:none;filter:drop-shadow(0 10px 18px rgba(0,0,0,.35));}
.article .spot.wide img.sticker{object-fit:contain;object-position:50% 100%;}
/* полей нет — ИнКа заходит в колонку, текст обтекает её по кругу (а не полосой между абзацами), стороны чередуются */
@media (max-width:1240px){
  .side-inka.right,.side-inka.left{width:var(--sd);}
  .prose.article > ul,.prose.article > ol{display:flow-root;} /* рядом с ИнКой список — ровным блоком, точки не залезают под неё */
  .side-inka.right{--sd:150px;float:right;margin:4px 0 10px 22px;}
  .side-inka.left{--sd:150px;float:left;margin:4px 22px 10px 0;}
  .side-inka.right .spot,.side-inka.left .spot{--d:var(--sd);}
  .side-inka.center .spot{--d:180px;}
}
@media (max-width:560px){
  .side-inka.right,.side-inka.left{--sd:104px;}
  .side-inka.right{margin-left:14px;} .side-inka.left{margin-right:14px;}
}
/* читаемость статей: крупнее, просторнее, строка ~65 знаков */
.prose.article{max-width:720px;}
.prose.article > p,.prose.article > ul > li,.prose.article > ol > li,.prose.article > blockquote p{font-size:17.5px;line-height:1.75;}
.prose.article > p{margin:0 0 1.05em;}
.prose.article > ul > li,.prose.article > ol > li{margin:8px 0;}
.prose.article h2{font-size:25px;line-height:1.25;margin:52px 0 16px;}
.prose.article h3{font-size:19px;margin:32px 0 10px;}
.prose.article > p.lead{font-size:20px;line-height:1.6;margin-bottom:18px;}
/* то же на страницах утилит — текст разделов, не интерфейс самих утилит */
.prose.tool-body > p,.prose.tool-body > ul > li,.prose.tool-body > ol > li,
.tsec-text > p,.tsec-text > ul > li,.tsec-text > ol > li{font-size:17px;line-height:1.75;}
.prose.tool-body > h2,.tsec-text > h2{font-size:25px;line-height:1.25;}
.prose.tool-body > p,.tsec-text > p{margin:0 0 1em;}
@media (max-width:560px){
  .prose.article > p,.prose.article > ul > li,.prose.article > ol > li,
  .prose.tool-body > p,.prose.tool-body > ul > li,.prose.tool-body > ol > li,
  .tsec-text > p,.tsec-text > ul > li,.tsec-text > ol > li{font-size:16.5px;line-height:1.7;}
  .prose.article h2{font-size:22px;margin:40px 0 12px;}
}
/* карточки статей — как у утилит; обложка — иллюстрация статьи во всю ширину */
.tgrid.arts{grid-template-columns:repeat(3,minmax(0,1fr));}
/* /tools/: все утилиты одной сеткой по три, сверху переключатель «Все / Для Windows / В браузере» */
.tgrid.all{grid-template-columns:repeat(3,minmax(0,1fr));}
.tgrid.all .tc-tags{display:none;} .tgrid.all .tc-foot{justify-content:flex-end;}
.tgrid.all > [hidden]{display:none;}
.tgrid[data-shuffle] > [hidden]{display:none;}
.tfilter .tf-short{display:none;}
.tfilter{scroll-margin-top:96px;display:inline-flex;flex-wrap:wrap;gap:6px;margin-top:8px;padding:6px;border:1px solid var(--brd);border-radius:16px;background:rgba(255,255,255,.03);}
.tfilter button{display:inline-flex;align-items:center;gap:10px;padding:11px 18px;border:0;border-radius:11px;background:none;color:var(--sub);font:600 15px var(--sans,Inter,sans-serif);cursor:pointer;transition:background .2s,color .2s,box-shadow .2s;}
.tfilter button b{font:700 13px var(--mono);padding:2px 8px;border-radius:999px;background:rgba(255,255,255,.08);color:var(--t);}
.tfilter button:hover{color:var(--t);background:rgba(139,108,246,.12);}
.tfilter button[aria-pressed="true"]{color:#fff;background:linear-gradient(135deg,#7c5dff,#a78bfa);box-shadow:0 8px 24px rgba(124,93,255,.4);}
.tfilter button[aria-pressed="true"] b{background:rgba(255,255,255,.22);color:#fff;}
@media (max-width:900px){.tgrid.all{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:640px){.tgrid.all{grid-template-columns:minmax(0,1fr);}
  .tfilter{display:flex;gap:4px;padding:4px;} .tfilter button{flex:1 1 auto;justify-content:center;padding:10px 6px;font-size:13.5px;gap:5px;white-space:nowrap;}
  .tfilter button b{padding:1px 6px;font-size:12px;}
  .tfilter .tf-full{display:none;} .tfilter .tf-short{display:inline;}}
.tc-art.cover{background:#15183d;}
.tc-art.cover img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;}
.article-card .tc-kind{color:var(--mute);}
.tgrid.arts .tc-tags{display:inline;}
@media (max-width:900px){.tgrid.arts{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:640px){.tgrid.arts{grid-template-columns:minmax(0,1fr);}}

/* ---- Инструкции ZmNx·AI: ИнКа — хозяйка страницы, её реплики в тексте (2026-09-29) ---- */
.doc-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end;margin:0 0 30px;padding-bottom:22px;border-bottom:1px solid transparent;
  border-image:linear-gradient(90deg,rgba(167,139,250,.45),rgba(167,139,250,.12) 70%,transparent) 1;}
.doc-head h1{margin:6px 0 0;}
.doc-head .tool-host .say{max-width:260px;font-size:13.5px;}
.doc-head .spot{--d:150px;}
.prose.doc > .tsec{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:0 40px;align-items:start;margin:36px 0 18px;}
.prose.doc > .tsec.art-left{grid-template-columns:170px minmax(0,1fr);}
.prose.doc .tsec .spot{--d:170px;}
.inka-tip{display:flex;gap:14px;align-items:flex-start;margin:22px 0;}
/* Голова выглядывает из круга, как в .spot: макушка над кругом, низ срезан его дугой */
.tip-face{position:relative;flex:none;width:54px;height:60px;margin-top:-8px;border-radius:0 0 27px 27px;overflow:hidden;}
.tip-face::before{content:"";position:absolute;left:0;right:0;bottom:0;height:54px;border-radius:50%;
  background:radial-gradient(circle at 50% 30%,hsl(var(--hh,265) 80% 64% / .6),hsl(var(--hh,265) 60% 30% / .6));box-shadow:inset 0 0 0 1.5px hsl(var(--hh,265) 90% 75% / .35);}
.prose .tip-face img{position:relative;display:block;width:100%;height:auto;margin:0;border:0;border-radius:0;}  /* avatar.webp — голова целиком, фон прозрачный */
.prose .inka-tip p{position:relative;margin:4px 0 0;padding:12px 16px;border-radius:4px 16px 16px 16px;background:var(--card);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 16px 34px -20px rgba(0,0,0,.6);font-size:15.5px;}
.inka-tip b{color:var(--violet2);}
@media (max-width:760px){
  .doc-head{grid-template-columns:minmax(0,1fr);}
  .prose.doc > .tsec,.prose.doc > .tsec.art-left{grid-template-columns:minmax(0,1fr);}
}
/* правила .prose (отступы figure, моно-подпись, рамка у img) не для шапки и кругов ИнКи */
.prose .doc-head figure,.prose figure.tool-host{margin:0;}
.prose .tool-host figcaption.say{margin:0 0 10px;text-align:left;color:var(--t);font:14px/1.45 var(--sans);}
.prose .spot img,.prose .spot img.sticker{border:0;border-radius:0;margin:0;box-shadow:none;}
.doc-head{align-items:center;}
/* Банк промптов (/ai/bank/) */
.bank-tools{display:grid;gap:12px;margin-bottom:18px;}
.bank-search{width:100%;max-width:520px;font:inherit;color:inherit;background:rgba(255,255,255,.04);border:1px solid var(--brd2,#3b3f8f);border-radius:12px;padding:12px 16px;}
.bank-search:focus{outline:none;border-color:#a78bfa;}
.bank-chips{display:flex;flex-wrap:wrap;gap:8px;}
.bank-chips .chip{font:inherit;font-size:14px;color:inherit;background:rgba(255,255,255,.04);border:1px solid var(--brd2,#3b3f8f);border-radius:999px;padding:6px 14px;cursor:pointer;}
.bank-chips .chip.on{background:rgba(139,108,246,.22);border-color:#a78bfa;}
.bank-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start;}
.bank-card{display:grid;gap:10px;align-content:start;}
.bank-card[hidden]{display:none;}
.bank-card-head{display:flex;justify-content:space-between;gap:10px;align-items:baseline;}
.bank-cat{font:600 11px var(--mono,monospace);text-transform:uppercase;letter-spacing:.12em;color:#a78bfa;white-space:nowrap;}
.bank-card p{margin:0;}
.bank-tags{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;}
.chip-static{font:12px var(--mono,monospace);border:1px solid var(--brd2,#3b3f8f);border-radius:6px;padding:2px 8px;opacity:.85;}
.bank-card details summary{cursor:pointer;color:#a78bfa;font-size:14px;}
.bank-card pre{white-space:pre-wrap;font:13px/1.5 var(--mono,monospace);background:rgba(0,0,0,.18);border-radius:10px;padding:10px 12px;margin:6px 0 10px;}
.bank-label{display:block;margin-top:10px;font:600 11px var(--mono,monospace);text-transform:uppercase;letter-spacing:.1em;opacity:.7;}
.bank-copy{justify-self:start;}
@media (max-width:760px){.bank-grid{grid-template-columns:minmax(0,1fr);}}
.chip-static.need{color:#7fd1ff;border-color:rgba(90,162,255,.5);}
.bank-skill{border-color:rgba(90,162,255,.35);}

/* ---- /telegram/: канал, бот, стикеры ---- */
.tg-title{font:800 clamp(34px,5vw,56px)/1.08 var(--display);margin:0 0 18px;letter-spacing:-.01em;}
.tg-stage{position:relative;min-height:470px;display:flex;justify-content:center;align-items:center;}
.tg-phone{position:relative;z-index:1;width:min(340px,100%);border-radius:28px;padding:14px;background:linear-gradient(180deg,#1b1e4a,#141737);
  border:1px solid var(--brd2);box-shadow:0 30px 80px rgba(0,0,0,.5),0 0 0 6px rgba(139,108,246,.08);}
.tg-phone-head{display:flex;align-items:center;gap:10px;padding:4px 6px 12px;border-bottom:1px solid var(--brd);}
.tg-phone-head small,.tg-post-head small{display:block;font:12px var(--mono);color:var(--mute);}
.tg-ava{width:40px;height:40px;border-radius:50%;overflow:hidden;background:#2a2e78;flex:none;display:flex;align-items:flex-start;justify-content:center;}
.tg-ava img{width:120%;max-width:none;margin-top:-6%;}
.tg-ava.sm{width:30px;height:30px;}
.tg-chat{display:flex;flex-direction:column;gap:8px;padding:14px 4px 4px;min-height:330px;}
.tg-msg{max-width:84%;padding:9px 12px;border-radius:14px;font-size:14px;line-height:1.45;}
.tg-msg.in{align-self:flex-start;background:var(--card2);border:1px solid var(--brd);border-bottom-left-radius:4px;}
.tg-msg.out{align-self:flex-end;background:linear-gradient(135deg,#6d4fe6,#8b6cf6);color:#fff;border-bottom-right-radius:4px;}
.tg-msg-sticker{align-self:flex-start;width:120px;filter:drop-shadow(0 8px 16px rgba(0,0,0,.4));animation:tg-pop .6s cubic-bezier(.3,1.6,.5,1) both .4s;}
.tg-float{position:absolute;z-index:2;width:150px;filter:drop-shadow(0 18px 30px rgba(0,0,0,.45));animation:tg-bob 5s ease-in-out infinite;}
.tg-float.f1{left:0;top:0;width:132px;transform:rotate(-10deg);}
.tg-float.f2{right:0;bottom:2%;width:140px;animation-delay:-2.5s;}
@keyframes tg-bob{0%,100%{translate:0 0;}50%{translate:0 -12px;}}
@keyframes tg-pop{from{opacity:0;transform:scale(.4) rotate(-12deg);}to{opacity:1;transform:none;}}
.tg-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.tg-card h3{font:700 21px/1.25 var(--display);margin:0 0 8px;color:var(--t);}
.tg-card p{margin:0;color:var(--sub);}
.tg-ic{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.tg-ic.ch{background:rgba(90,162,255,.14);color:var(--blue);box-shadow:0 0 24px rgba(90,162,255,.25);}
.tg-ic.bot{background:rgba(52,211,153,.14);color:var(--green);box-shadow:0 0 24px rgba(52,211,153,.22);}
.tg-ic.stk{background:rgba(245,197,66,.14);color:var(--yellow);box-shadow:0 0 24px rgba(245,197,66,.22);}
.tg-post{display:flex;justify-content:center;}
.tg-post-card{width:min(380px,100%);border-radius:20px;padding:14px;background:var(--card);border:1px solid var(--brd2);box-shadow:0 24px 60px rgba(0,0,0,.4);transform:rotate(1.5deg);}
.tg-post-head{display:flex;align-items:center;gap:10px;margin-bottom:12px;}
.tg-post-head b{flex:1;}
.tg-post-img{width:100%;height:220px;object-fit:contain;border-radius:12px;background:radial-gradient(circle at 50% 30%,rgba(139,108,246,.35),transparent 70%),#151843;}
.tg-post-card p{margin:12px 2px 6px;font-size:14.5px;color:var(--sub);}
.tg-post-card p b{color:var(--t);}
.tg-post-meta{font:12px var(--mono);color:var(--mute);text-align:right;}
.tg-bot-art{display:flex;flex-direction:column;align-items:center;gap:0;}
.tg-bot-art img{width:min(280px,70%);filter:drop-shadow(0 24px 40px rgba(0,0,0,.5));order:2;}
.tg-say{order:1;max-width:320px;}
.tg-lead{max-width:760px;margin:12px 0 28px;}
.tg-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;}
.tg-st{margin:0;padding:14px 10px 10px;border-radius:var(--r);background:linear-gradient(180deg,rgba(35,39,96,.55),rgba(29,32,80,.55));border:1px solid var(--brd);
  display:flex;flex-direction:column;align-items:center;gap:8px;transition:transform .2s,border-color .2s,box-shadow .2s;}
.tg-st img{height:150px;width:auto;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(0,0,0,.4));transition:transform .25s cubic-bezier(.3,1.6,.5,1);}
.tg-st figcaption{font-size:20px;line-height:1;}
.tg-st:hover{border-color:var(--violet2);box-shadow:0 12px 32px rgba(124,93,255,.25);transform:translateY(-3px);}
.tg-st:hover img{transform:scale(1.08) rotate(-3deg);}
.tg-cheat{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px;}
.tg-pair{display:flex;gap:14px;align-items:center;padding:16px;}
.tg-pair img{width:84px;height:96px;object-fit:contain;flex:none;filter:drop-shadow(0 8px 14px rgba(0,0,0,.4));}
.tg-pair b{display:block;color:var(--t);}
.tg-pair p{margin:4px 0 0;color:var(--sub);font-size:14.5px;line-height:1.45;}
.tg-cta-st{max-width:260px;}
@media (max-width:960px){
  .tg-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
  .tg-cheat,.tg-three{grid-template-columns:minmax(0,1fr);}
}
@media (max-width:620px){
  .tg-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .tg-st img{height:130px;}
  .tg-stage{min-height:0;}
  .tg-float{display:none;}
}
@media (prefers-reduced-motion:reduce){.tg-float,.tg-msg-sticker{animation:none;}.tg-st,.tg-st img{transition:none;}}
.tg-strip{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:28px;align-items:center;padding:28px 32px;}
.tg-strip p{color:var(--sub);margin:0 0 12px;}
.tg-strip-more{color:var(--violet2);font-weight:600;}
.tg-strip-st{display:flex;justify-content:center;align-items:flex-end;}
.tg-strip-st img{height:140px;width:auto;margin:0 6px;filter:drop-shadow(0 12px 20px rgba(0,0,0,.45));transition:transform .25s cubic-bezier(.3,1.6,.5,1);}
.tg-strip-st img:nth-child(odd){transform:rotate(-6deg);} .tg-strip-st img:nth-child(even){transform:rotate(5deg) translateY(-8px);}
.tg-strip:hover .tg-strip-st img{transform:translateY(-10px) rotate(0);}
@media (max-width:760px){.tg-strip{grid-template-columns:minmax(0,1fr);padding:22px;}.tg-strip-st img{height:100px;}}

/* Шапка: заметная ссылка на /telegram/ */
.tg-pill{display:flex;align-items:center;gap:9px;flex:none;padding:4px 14px 4px 4px;border-radius:999px;color:var(--t);
  background:linear-gradient(var(--bg2),var(--bg2)) padding-box,linear-gradient(120deg,#5aa2ff,#8b6cf6,#f472b6) border-box;
  border:1.5px solid transparent;box-shadow:0 0 22px rgba(139,108,246,.28);transition:transform .2s,box-shadow .2s;}
.tg-pill:hover{color:var(--t);transform:translateY(-1px);box-shadow:0 0 30px rgba(139,108,246,.5);}
.tg-pill-ava{position:relative;width:34px;height:34px;border-radius:50%;background:#2a2e78;flex:none;}
.tg-pill-ava img{width:100%;height:100%;object-fit:cover;object-position:50% 8%;transform-origin:50% 90%;animation:tg-wave 3.2s ease-in-out infinite;}
.tg-pill-txt{display:flex;flex-direction:column;line-height:1.15;white-space:nowrap;}
.tg-pill-txt b{font-size:13.5px;font-weight:600;}
.tg-pill-txt small{font:11px var(--mono);color:var(--violet2);letter-spacing:.02em;}
@keyframes tg-wave{0%,70%,100%{transform:rotate(0);}76%{transform:rotate(-9deg);}82%{transform:rotate(7deg);}88%{transform:rotate(-5deg);}94%{transform:rotate(3deg);}}
@media (max-width:1100px){.tg-pill-txt small{display:none;}}
@media (max-width:760px){
  .tg-pill{order:1;margin-left:auto;padding:3px 11px 3px 3px;}
  .nav-toggle{order:2;margin-left:4px;}
  .tg-pill-ava{width:30px;height:30px;}
  .tg-pill-txt b{font-size:12.5px;}
}
.tg-pill-ava img{border-radius:50%;}
.tg-pill-plane{position:absolute;right:-3px;bottom:-3px;width:16px;height:16px;border-radius:50%;background:#2aa3e0;display:none;align-items:center;justify-content:center;box-shadow:0 0 0 2px var(--bg2);}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
@media (max-width:560px){
  .header-row{gap:12px;}
  .tg-pill{padding:3px;}
  .tg-pill-txt{display:none;}
  .tg-pill-plane{display:flex;}
}
@media (prefers-reduced-motion:reduce){.tg-pill-ava img{animation:none;}}
.nav-tg{display:none;}
@media (max-width:760px){.site-nav a.nav-tg{display:block;color:var(--violet2);}}
@media (max-width:380px){.tg-pill{display:none;} .nav-toggle{margin-left:auto;}}
@media (max-width:760px){.tg-strip-st{flex-wrap:wrap;gap:4px;} .tg-strip-st img{height:84px;margin:0;} .tg-strip>*{min-width:0;}}

/* Рассказ частями: оглавление серии и «Дальше» */
.series-box{margin:22px 0 30px;padding:16px 18px;border-radius:var(--r);border:1px solid var(--brd2);
  background:linear-gradient(180deg,rgba(139,108,246,.12),rgba(139,108,246,.03)),var(--card);}
.series-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:10px;}
.series-head .eyebrow{margin:0;}
.series-head b{font-family:var(--display);font-size:16px;}
.prose .series-box ol{list-style:none;padding:0;margin:0;display:grid;gap:2px;}
.prose .series-box li{margin:0;}
.series-box li a{display:flex;align-items:center;gap:12px;padding:7px 10px;border-radius:10px;color:var(--sub);}
.series-box li a:hover{background:rgba(255,255,255,.05);color:var(--t);}
.series-box li.on a{background:rgba(139,108,246,.18);color:var(--t);}
.sp-n{flex:none;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:600 12px var(--mono);
  background:var(--card2);border:1px solid var(--brd2);}
.series-box li.on .sp-n{background:var(--violet);border-color:var(--violet);color:#fff;}
.sp-t{flex:1;min-width:0;}
.sp-m{flex:none;font:12px var(--mono);color:var(--mute);}
.series-pager .pager-next{font-weight:600;}

/* ---- /ai/features/: Бит — дрон-помощник ИнКи (2026-10-06) ---- */
.meet-bit{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);padding-bottom:24px;}
.meet-bit-img{width:100%;max-width:250px;height:auto;justify-self:center;animation:bit-bob 3.2s ease-in-out infinite;
  filter:brightness(.92) drop-shadow(0 0 28px rgba(139,108,246,.3)) drop-shadow(0 18px 38px rgba(0,0,0,.5));}
.bit-moods{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;align-items:end;padding-bottom:40px;}
.bit-mood{margin:0;display:flex;flex-direction:column;align-items:center;}
.bit-mood .say{font-size:13px;max-width:100%;}
.bit-mood:nth-child(even) .say{transform:rotate(1.5deg);}
.bit-mood img{width:130px;height:auto;filter:brightness(.92) drop-shadow(0 0 20px rgba(139,108,246,.25)) drop-shadow(0 12px 26px rgba(0,0,0,.45));}
@keyframes bit-bob{50%{transform:translateY(-8px);}}
@media (max-width:900px){
  .meet-bit{grid-template-columns:minmax(0,1fr);}
  .meet-bit-img{order:-1;max-width:170px;}
  .bit-moods{grid-template-columns:repeat(2,minmax(0,1fr));}
  .bit-mood:last-child{grid-column:1/-1;}
  .bit-mood img{width:110px;}
}
@media (prefers-reduced-motion:reduce){.meet-bit-img{animation:none;}}

/* Бит — дрон ИнКи (site.js, bitBot): залетает с края экрана, кликам не мешает (кроме самого Бита — по нему выключается) */
.bitbot{position:fixed;z-index:150;pointer-events:none;display:flex;align-items:center;gap:12px;transform:translateY(-50%);}
.bitbot.right{right:22px;flex-direction:row-reverse;}
.bitbot.left{left:22px;}
.bitbot.peek.right{right:0;} .bitbot.peek.left{left:0;}
.bitbot .bit-img{display:block;max-width:none;pointer-events:auto;cursor:pointer;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 12px 18px rgba(0,0,0,.45));}
.bitbot .bit-img.flip{transform:scaleX(-1);}
.bitbot-float{flex:none;}
.bitbot.hover .bitbot-float{animation:bit-bob 2.4s ease-in-out infinite;}
.bitbot.peek.hover .bitbot-float{animation:none;}
.bitbot.right.in .bitbot-float{animation:bit-in-right 1.1s cubic-bezier(.2,.8,.2,1) both;}
.bitbot.left.in .bitbot-float{animation:bit-in-left 1.1s cubic-bezier(.2,.8,.2,1) both;}
.bitbot.right.out .bitbot-float{animation:bit-in-right 1.2s ease-in reverse both;}
.bitbot.left.out .bitbot-float{animation:bit-in-left 1.2s ease-in reverse both;}
.bitbot.peek.right.in .bitbot-float{animation:bit-peek-right .9s cubic-bezier(.2,.8,.2,1) both;}
.bitbot.peek.left.in .bitbot-float{animation:bit-peek-left .9s cubic-bezier(.2,.8,.2,1) both;}
.bitbot.peek.right.out .bitbot-float{animation:bit-peek-right .7s ease-in reverse both;}
.bitbot.peek.left.out .bitbot-float{animation:bit-peek-left .7s ease-in reverse both;}
@keyframes bit-bob{50%{transform:translateY(-6px);}}
@keyframes bit-in-right{from{transform:translate(160px,-40px) rotate(18deg);}70%{transform:translate(-6px,4px) rotate(-6deg);}to{transform:none;}}
@keyframes bit-in-left{from{transform:translate(-160px,-40px) rotate(-18deg);}70%{transform:translate(6px,4px) rotate(6deg);}to{transform:none;}}
@keyframes bit-peek-right{from{transform:translateX(105%);}}
@keyframes bit-peek-left{from{transform:translateX(-105%);}}
.bitbot-say{position:relative;max-width:260px;padding:10px 14px;border-radius:14px;background:var(--card2);border:1px solid var(--brd2);color:var(--t);
  font-size:14px;line-height:1.4;box-shadow:0 14px 30px -12px rgba(0,0,0,.55);animation:bit-say .3s cubic-bezier(.2,.8,.2,1) both;}
.bitbot-say[hidden]{display:none;}
.bitbot-say::after{content:"";position:absolute;top:50%;left:-6px;width:10px;height:10px;background:var(--card2);border-left:1px solid var(--brd2);border-bottom:1px solid var(--brd2);transform:translateY(-50%) rotate(45deg);}
.bitbot.right .bitbot-say::after{left:auto;right:-6px;transform:translateY(-50%) rotate(-135deg);}
@keyframes bit-say{from{opacity:0;transform:scale(.9);}}

/* Утилиты: «Выход в интернет» на видном месте, рядом Бит (build.py, net_box) */
.net-box{display:grid;grid-template-columns:auto minmax(0,1fr);gap:26px;align-items:center;margin:0 0 30px;padding:22px 28px 22px 22px;border-radius:var(--r);
  background:linear-gradient(135deg,rgba(52,211,153,.10),var(--card) 55%);border:1px solid rgba(52,211,153,.4);}
.net-box.warn{background:linear-gradient(135deg,rgba(245,197,66,.10),var(--card) 55%);border-color:rgba(245,197,66,.45);}
.net-bit{margin:0;display:flex;flex-direction:column;align-items:center;gap:10px;width:200px;}
.net-bit img{display:block;height:auto;filter:drop-shadow(0 12px 18px rgba(0,0,0,.45));animation:bit-bob 3.2s ease-in-out infinite;}
.net-bit .say{position:relative;margin:0;padding:9px 13px;border-radius:14px;background:var(--card2);border:1px solid var(--brd2);color:var(--t);font-size:13.5px;line-height:1.4;text-align:center;}
.net-bit .say::after{content:"";position:absolute;left:50%;bottom:-6px;width:10px;height:10px;margin-left:-5px;background:var(--card2);border-right:1px solid var(--brd2);border-bottom:1px solid var(--brd2);transform:rotate(45deg);}
.net-kicker{display:flex;align-items:center;gap:8px;font:700 12px/1 var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--green);}
.net-box.warn .net-kicker{color:var(--yellow);}
.net-kicker .ic{width:16px;height:16px;}
.net-text h2{margin:8px 0 10px;font:700 clamp(22px,2.4vw,28px)/1.2 var(--display);}
.net-text ul{margin:0;padding-left:20px;display:grid;gap:6px;color:var(--sub);font-size:15.5px;line-height:1.5;}
.net-text li b{color:var(--t);}
.net-text code{font:13px var(--mono);background:rgba(255,255,255,.06);padding:1px 5px;border-radius:5px;}
@media (max-width:720px){.net-box{grid-template-columns:1fr;padding:20px;} .net-bit{width:auto;flex-direction:row;} .net-bit .say::after{display:none;}}
@media (prefers-reduced-motion:reduce){.net-bit img{animation:none;}}
.tc-net{display:flex;align-items:center;gap:7px;font:600 12px/1.3 var(--mono);color:var(--green);}
.tc-net.warn{color:var(--yellow);}
.tc-net .ic{width:14px;height:14px;flex:none;}
.clean-list{margin:0;padding-left:20px;display:grid;gap:10px;color:var(--sub);font-size:15px;line-height:1.55;} .clean-list b{color:var(--t);}

/* Главная, шапка (2026-10-07): живой фон, переливающийся знак, плашки-разделы со своим цветом —
   иконка, счётчик, стрелка, подсветка под курсором (site.js hubSpot ставит --mx/--my) и бегущая по краю кайма */
.hero-live{position:relative;overflow:hidden;isolation:isolate;}
.hero-glow{position:absolute;inset:-10% -5% 0;z-index:-1;pointer-events:none;
  -webkit-mask:linear-gradient(180deg,#000 55%,transparent);mask:linear-gradient(180deg,#000 55%,transparent);}
.hero-glow::before{content:"";position:absolute;inset:0;opacity:.35;
  background-image:radial-gradient(rgba(167,139,250,.35) 1px,transparent 1.2px);background-size:26px 26px;
  -webkit-mask:radial-gradient(ellipse 70% 60% at 50% 40%,#000,transparent 75%);mask:radial-gradient(ellipse 70% 60% at 50% 40%,#000,transparent 75%);}
.hero-glow span{position:absolute;border-radius:50%;filter:blur(70px);opacity:.5;animation:glow-drift 18s ease-in-out infinite alternate;}
.hero-glow span:nth-child(1){width:520px;height:520px;left:-80px;top:-60px;background:radial-gradient(circle,#7c5dff,transparent 65%);}
.hero-glow span:nth-child(2){width:460px;height:460px;right:-60px;top:40px;background:radial-gradient(circle,#2fd3ff,transparent 65%);opacity:.32;animation-duration:22s;animation-delay:-6s;}
.hero-glow span:nth-child(3){width:380px;height:380px;left:38%;top:220px;background:radial-gradient(circle,#ff4fa3,transparent 65%);opacity:.22;animation-duration:26s;animation-delay:-11s;}
@keyframes glow-drift{to{transform:translate(60px,40px) scale(1.12);}}

.wm-shine{background:linear-gradient(100deg,#f3f0ff 0%,#f3f0ff 38%,#b9a6ff 46%,#7fe3ff 52%,#f3f0ff 60%,#f3f0ff 100%);
  background-size:260% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 6px 30px rgba(124,93,255,.35));animation:wm-sweep 7s ease-in-out infinite;}
@keyframes wm-sweep{0%,55%{background-position:100% 0;}100%{background-position:0 0;}}

.hero .lead b{color:var(--t);font-weight:600;}
.mk{color:var(--t);font-weight:600;background-repeat:no-repeat;background-size:100% .38em;background-position:0 88%;padding:0 .08em;}
.mk-ai{background-image:linear-gradient(90deg,rgba(139,108,246,.55),rgba(139,108,246,.25));}
.mk-tools{background-image:linear-gradient(90deg,rgba(52,211,153,.5),rgba(52,211,153,.2));}
.mk-art{background-image:linear-gradient(90deg,rgba(245,197,66,.55),rgba(245,197,66,.2));}

.hub-link{--ac:139,108,246;position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;
  overflow:hidden;isolation:isolate;transition:transform .25s cubic-bezier(.2,.8,.2,1),border-color .25s,box-shadow .25s;}
.hub-tools{--ac:52,211,153;} .hub-art{--ac:245,197,66;}
.hub-link::before{content:"";position:absolute;inset:0;z-index:-1;opacity:0;transition:opacity .3s;
  background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),rgba(var(--ac),.18),transparent 70%);}
.hub-link::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;opacity:0;transition:opacity .3s;
  background:conic-gradient(from var(--ang,0deg),transparent 0 70%,rgba(var(--ac),.95) 85%,transparent 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
  animation:hub-ring 3.2s linear infinite;}
@property --ang{syntax:"<angle>";initial-value:0deg;inherits:false;}
@keyframes hub-ring{to{--ang:360deg;}}
.hub-link:hover,.hub-link:focus-visible{transform:translateY(-3px);border-color:rgba(var(--ac),.45);
  box-shadow:0 18px 40px -18px rgba(var(--ac),.55),0 0 0 1px rgba(var(--ac),.12);}
.hub-link:hover::before,.hub-link:hover::after,.hub-link:focus-visible::before,.hub-link:focus-visible::after{opacity:1;}
.hub-ic{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;color:rgb(var(--ac));
  background:linear-gradient(145deg,rgba(var(--ac),.28),rgba(var(--ac),.06));border:1px solid rgba(var(--ac),.35);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 8px 24px -10px rgba(var(--ac),.7);transition:transform .35s cubic-bezier(.2,.8,.2,1);}
.hub-ic svg{width:26px;height:26px;}
.hub-link:hover .hub-ic{transform:rotate(-8deg) scale(1.08);}
.hub-txt{display:block;min-width:0;}
.hub-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px;}
.hub-top .eyebrow{margin:0;}
.hub-chip{font:600 11px/1 var(--mono);color:rgb(var(--ac));background:rgba(var(--ac),.12);border:1px solid rgba(var(--ac),.3);
  padding:4px 8px;border-radius:999px;letter-spacing:.02em;}
.hub-link p{font-size:14.5px;}
.hub-go{width:22px;height:22px;color:var(--sub);transition:transform .25s,color .25s;}
.hub-link:hover .hub-go{transform:translateX(4px);color:rgb(var(--ac));}
.hero-live .hub-link{animation:hub-in .6s cubic-bezier(.2,.8,.2,1) both;}
.hero-live .hub-link:nth-child(2){animation-delay:.08s;} .hero-live .hub-link:nth-child(3){animation-delay:.16s;}
@keyframes hub-in{from{opacity:0;transform:translateY(14px);}}
@media (max-width:560px){.hub-link{grid-template-columns:auto minmax(0,1fr);gap:12px;} .hub-go{display:none;} .hub-ic{width:44px;height:44px;border-radius:13px;}
  .hero-glow span:nth-child(1){width:340px;height:340px;} .hero-glow span:nth-child(2){width:300px;height:300px;}}
@media (prefers-reduced-motion:reduce){.hero-glow span,.wm-shine,.hub-link::after,.hero-live .hub-link{animation:none;}}

/* Схемы в статьях (figure.sch) — вёрсткой, не картинкой: читаются на телефоне, без инлайн-стилей (CSP) */
.prose figure.sch{margin:30px 0;padding:18px;border:1px solid var(--brd);border-radius:var(--r);background:linear-gradient(180deg,var(--card),var(--bg2));}
.prose .sch code{font-size:12.5px;}
.prose .sch figcaption{margin-top:14px;}
.sch-n{display:inline-grid;place-items:center;flex:none;width:22px;height:22px;border-radius:50%;background:var(--red);color:#1a0b14;font:700 12px/1 var(--mono);font-style:normal;box-shadow:0 0 0 3px rgba(248,113,113,.22);vertical-align:middle;}
.sch-k{color:var(--mute);font:12.5px var(--mono);}
.sch-y,.sch-x,.sch-h{font:700 13px var(--mono);white-space:nowrap;}
.sch-y{color:var(--green);} .sch-x{color:var(--red);} .sch-h{color:var(--yellow);}
.sch-y em,.sch-x em,.sch-h em{font:500 12.5px var(--sans);font-style:normal;color:var(--sub);margin-left:2px;}
.sch-h{white-space:normal;}
/* письмо */
.sch-mail-win{border:1px solid var(--brd2);border-radius:12px;background:#0f1130;overflow:hidden;}
.sch-mail-row{display:flex;align-items:center;gap:10px;padding:9px 14px;border-bottom:1px solid var(--brd);font-size:14.5px;}
.sch-mail-row > span:nth-child(2){flex:1;min-width:0;overflow-wrap:anywhere;}
.sch-mail-row .sch-k{width:44px;flex:none;}
.sch-mail-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:12px;}
.prose .sch-mail-body p{margin:0;font-size:14.5px;color:#cfd0ee;}
.sch-mark{background:rgba(248,113,113,.12);box-shadow:inset 0 -2px 0 rgba(248,113,113,.55);border-radius:3px;padding:0 2px;}
.sch-mail-btn{display:flex;align-items:center;gap:10px;}
.sch-btn{display:inline-block;padding:9px 18px;border-radius:9px;background:#3b6fd8;color:#fff;font-weight:600;font-size:14px;}
.sch-status{align-self:flex-start;margin-top:-6px;padding:4px 10px;border-radius:6px;background:rgba(0,0,0,.4);border:1px dashed rgba(248,113,113,.6);font-size:12.5px;color:var(--sub);overflow-wrap:anywhere;}
.sch-attach{display:flex;align-items:center;gap:10px;align-self:flex-start;padding:7px 12px;border:1px solid var(--brd2);border-radius:9px;background:var(--card);}
.sch-file{font:13px var(--mono);color:var(--t);} .sch-file b{color:var(--red);}
.prose .sch-legend{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px 16px;margin:16px 0 0;padding:0;list-style:none;counter-reset:sch;}
.prose .sch-legend li{counter-increment:sch;display:flex;gap:8px;margin:0;font-size:14px;line-height:1.45;}
.sch-legend li::before{content:counter(sch);flex:none;display:grid;place-items:center;width:20px;height:20px;margin-top:1px;border-radius:50%;background:var(--red);color:#1a0b14;font:700 11px/1 var(--mono);}
.sch-legend b{color:var(--t);}
/* двухфакторка */
.sch-scroll{overflow-x:auto;}
.sch-grid{display:grid;grid-template-columns:minmax(170px,1.3fr) repeat(4,minmax(110px,1fr));min-width:640px;}
.sch-grid > div{padding:11px 12px;border-bottom:1px solid var(--brd);display:flex;align-items:center;}
.sch-grid > div:nth-last-child(-n+5){border-bottom:0;}
.sch-gh{font:700 11px/1.35 var(--display);letter-spacing:.03em;text-transform:uppercase;color:var(--mute);align-items:flex-end!important;}
.sch-gr{flex-direction:column;align-items:flex-start!important;gap:6px;}
.sch-gr b{font-size:14.5px;color:var(--t);}
.sch-meter{display:flex;gap:3px;} .sch-meter i{width:22px;height:5px;border-radius:3px;background:rgba(255,255,255,.1);}
.sch-meter.m1 i:nth-child(-n+1){background:var(--red);} .sch-meter.m2 i:nth-child(-n+2){background:var(--yellow);}
.sch-meter.m3 i:nth-child(-n+3){background:#a3e635;} .sch-meter.m4 i{background:var(--green);}
/* фото */
.sch-photo{display:flex;align-items:center;gap:14px;padding-bottom:14px;border-bottom:1px solid var(--brd);}
.sch-photo-pic{display:grid;place-items:center;width:64px;height:64px;border-radius:14px;background:linear-gradient(135deg,#f472b6,#8b6cf6);color:#fff;flex:none;}
.sch-photo b{display:block;font:600 15px var(--mono);color:var(--t);} .sch-photo small{color:var(--sub);font-size:13px;}
.prose .sch-exif-list{list-style:none;margin:6px 0 0;padding:0;}
.prose .sch-exif-list li{display:grid;grid-template-columns:70px 1fr;gap:12px;align-items:baseline;margin:0;padding:10px 0;border-bottom:1px dashed var(--brd);}
.prose .sch-exif-list li:last-child{border-bottom:0;}
.sch-exif-list small{display:block;margin-top:3px;color:var(--mute);font-size:12.5px;}
.sch-exif-list li.hot .sch-k{color:var(--red);font-weight:700;}
.prose .sch-exif-list li.hot code{background:rgba(248,113,113,.14);color:#fecaca;}
.sch-send-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:11px 4px;border-bottom:1px solid var(--brd);}
.sch-send-row:last-of-type{border-bottom:0;}
.sch-send-row .sch-k{font:14.5px var(--sans);color:var(--t);}
.sch-send-row > span:last-child{text-align:right;}
/* порядок шагов */
.prose .sch-flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.prose .sch-flow li{position:relative;margin:0;padding:14px 14px 12px;border:1px solid var(--brd2);border-radius:12px;background:#0f1130;display:flex;flex-direction:column;gap:4px;}
.sch-flow li + li::before{content:"→";position:absolute;left:-12px;top:50%;transform:translate(-50%,-50%);color:var(--violet2);font:700 15px var(--mono);}
.sch-flow i{font:700 12px var(--mono);font-style:normal;color:var(--violet2);}
.sch-flow b{font:700 15px var(--display);color:var(--t);}
.prose .sch-flow span{font-size:13px;line-height:1.45;color:var(--sub);}
.sch-oops{margin-top:14px;display:flex;flex-direction:column;gap:6px;}
.prose .sch-oops p{margin:0;font-size:14px;}
@media (max-width:640px){
  .prose figure.sch{padding:14px;margin:24px -4px;}
  .prose .sch-flow{grid-template-columns:1fr 1fr;}
  .sch-flow li:nth-child(3)::before{display:none;}
  .sch-send-row{flex-direction:column;align-items:flex-start;gap:3px;}
  .sch-send-row > span:last-child{text-align:left;}
  /* двухфакторка: таблица -> карточки, у ответа своя подпись */
  .sch-grid{min-width:0;grid-template-columns:1fr 1fr;}
  .sch-gh{display:none!important;}
  .sch-grid > div{border-bottom:0;padding:6px 4px;}
  .sch-gr{grid-column:1/-1;padding-top:16px!important;border-top:1px solid var(--brd);}
  .sch-gr:first-of-type{border-top:0;padding-top:4px!important;}
  .sch-grid > div[data-l]{flex-direction:column;align-items:flex-start;gap:2px;}
  .sch-grid > div[data-l]::before{content:attr(data-l);font-size:12px;color:var(--mute);}
}

/* «Если уже случилось» (/sos/, 2026-10-07): плашка «положите трубку» и карточки бед с первыми шагами */
.sos-stop{display:flex;gap:16px;align-items:flex-start;margin:28px 0;padding:18px 20px;border-radius:var(--r);border:1px solid rgba(248,113,113,.45);background:linear-gradient(90deg,rgba(248,113,113,.14),rgba(248,113,113,.04));}
.sos-stop svg{flex:none;color:var(--red);margin-top:2px;}
.sos-stop b{display:block;font-size:17px;color:var(--t);margin-bottom:4px;}
.sos-stop span{color:var(--sub);font-size:15px;}
.sos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;}
.sos-card{display:flex;flex-direction:column;gap:10px;padding:22px 22px 18px;border-radius:var(--r);border:1px solid var(--brd);background:linear-gradient(180deg,rgba(35,39,96,.72),rgba(29,32,80,.72));color:var(--t);text-decoration:none;transition:border-color .2s,transform .2s;}
.sos-card:hover{border-color:var(--violet2);transform:translateY(-2px);}
.sos-card h3{margin:0;font-size:19px;line-height:1.3;}
.sos-card ol{margin:0;padding-left:20px;color:var(--sub);font-size:15px;}
.sos-card li{margin:5px 0;}
.sos-card .more{margin-top:auto;color:var(--violet2);font-weight:600;font-size:14.5px;}
.sos-tag{align-self:flex-start;font:600 11.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:5px 9px;border-radius:99px;background:rgba(84,224,255,.12);color:var(--cyan);}
.sos-tag.hot{background:rgba(248,113,113,.14);color:#fca5a5;}
.sos-after a{color:var(--violet2);}
@media (max-width:640px){ .sos-stop{flex-direction:column;gap:10px;} .sos-grid{grid-template-columns:1fr;} .sos-inka{display:none;} }

/* ===== Главная 2026-10: ИнКа и Бит ведут страницу (прототип) ===== */
.duo{padding:64px 0 40px;position:relative;overflow-x:clip;}  /* свечение .hero-glow плывёт за край — не давать ширину странице */
.duo-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;align-items:center;}
.duo-h1{font:800 clamp(40px,5.6vw,72px)/1.02 var(--display);letter-spacing:-.02em;margin:0 0 22px;}
.duo-bit{background:linear-gradient(90deg,var(--cyan),var(--violet2));-webkit-background-clip:text;background-clip:text;color:transparent;}
.duo .lead{margin-bottom:20px;max-width:560px;}
.duo .stamp{margin-bottom:28px;}
.btn-bit{display:inline-flex;align-items:center;gap:8px;border-color:rgba(84,224,255,.55);}
.btn-bit img{width:22px;height:auto;margin:-6px 0 -6px -4px;}
.duo-stage{position:relative;height:520px;}
.duo-spot{position:absolute;left:8%;bottom:4%;width:78%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(139,108,246,.45),rgba(84,224,255,.12) 55%,transparent 70%);filter:blur(4px);}
.duo-inka{position:absolute;left:4%;bottom:0;height:100%;width:auto;filter:drop-shadow(0 24px 50px rgba(0,0,0,.5));-webkit-mask-image:linear-gradient(180deg,#000 78%,transparent 99%);mask-image:linear-gradient(180deg,#000 78%,transparent 99%);}
.duo-bitbox{position:absolute;right:2%;top:6%;display:flex;flex-direction:column;align-items:center;gap:10px;animation:duoBob 4s ease-in-out infinite;}
.duo-bitimg{width:150px;height:auto;filter:drop-shadow(0 18px 26px rgba(0,0,0,.45));}
.duo-say{max-width:210px;padding:10px 14px;border-radius:16px 16px 4px 16px;background:#fff;color:#1d1f45;font:600 14px/1.35 var(--sans);box-shadow:0 12px 30px rgba(0,0,0,.35);}
@keyframes duoBob{50%{transform:translateY(-14px) rotate(2deg);}}
@media (prefers-reduced-motion:reduce){.duo-bitbox{animation:none;}}
.eyebrow.cyan{color:var(--cyan);}
.duo-ai .lead{margin:6px 0 14px;}
.bit-guard{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:40px;align-items:center;padding:36px;border-radius:24px;border:1px solid rgba(84,224,255,.3);background:linear-gradient(135deg,rgba(84,224,255,.08),rgba(139,108,246,.10) 60%,rgba(29,32,80,.6));}
.bit-cards{display:grid;gap:10px;margin-top:22px;}
.bit-card{display:flex;align-items:center;gap:14px;padding:12px 16px;border-radius:14px;border:1px solid var(--brd);background:rgba(15,17,48,.6);color:var(--t);text-decoration:none;transition:border-color .2s,transform .2s;}
.bit-card:hover{border-color:var(--cyan);transform:translateX(4px);}
.bit-card img{width:40px;height:auto;flex:none;}
.bit-card span{display:flex;flex-direction:column;color:var(--sub);font-size:14px;}
.bit-card b{color:var(--t);font-size:16px;}
.bit-chat{display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:22px;background:#0e1030;border:1px solid var(--brd2);box-shadow:0 30px 70px rgba(0,0,0,.45);}
.bc-head{display:flex;align-items:center;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--brd);}
.bc-head img{width:30px;height:auto;}
.bc-head span{margin-left:auto;font:12px var(--mono);color:var(--mute);}
.bc-msg{max-width:88%;padding:9px 13px;border-radius:14px;font-size:14px;line-height:1.45;}
.bc-msg.me{align-self:flex-end;background:#3a4bb0;color:#fff;border-bottom-right-radius:4px;overflow-wrap:anywhere;}
.bc-msg.bot{align-self:flex-start;background:#23275c;color:#e6e6fa;border-bottom-left-radius:4px;}
.sos-band{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1.6fr);gap:24px;align-items:center;padding:22px 28px;border-radius:22px;border:1px solid rgba(248,113,113,.45);background:linear-gradient(90deg,rgba(248,113,113,.16),rgba(248,113,113,.04));}
.sos-band-bit{width:72px;height:auto;}
.sos-band h2{margin:0 0 4px;font:700 24px var(--display);}
.sos-band p{margin:0;color:var(--sub);}
.sos-band-links{display:flex;flex-wrap:wrap;gap:8px;}
.sos-band-links a{padding:8px 12px;border-radius:99px;border:1px solid rgba(248,113,113,.4);color:#fecaca;text-decoration:none;font-size:14px;background:rgba(15,17,48,.5);}
.sos-band-links a:hover{border-color:#fca5a5;color:#fff;}
@media (max-width:900px){
  .duo-grid,.bit-guard{grid-template-columns:1fr;}
  .duo-stage{height:380px;order:-1;}
  .bit-guard{padding:22px;}
  .sos-band{grid-template-columns:auto 1fr;}
  .sos-band-links{grid-column:1/-1;}
}
@media (max-width:520px){ .duo-stage{height:320px;} .duo-bitimg{width:110px;} .duo-say{font-size:12.5px;max-width:160px;} }
/* манифест и мягкие ссылки вместо кнопок-призывов */
.duo-links{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:4px;}
.duo-links a{color:var(--t);text-decoration:none;border-bottom:1px solid rgba(167,139,250,.45);padding-bottom:2px;font-size:16px;}
.duo-links a:hover{border-color:var(--violet2);color:#fff;}
.duo-links a.sos{color:#fca5a5;border-color:rgba(252,165,165,.45);}
.manifest{padding:36px 40px;border-radius:24px;border:1px solid var(--brd);background:linear-gradient(180deg,rgba(35,39,96,.55),rgba(23,26,61,.4));}
.manifest-cols{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:6px;}
.manifest-cols p{margin:0;color:#cfd0ee;font-size:17px;line-height:1.65;}
.manifest-warn{margin:26px 0 0;padding:16px 20px;border-left:3px solid var(--yellow);background:rgba(245,197,66,.06);border-radius:0 12px 12px 0;color:var(--sub);font-size:16.5px;}
.manifest-warn b{color:var(--yellow);}
.manifest-asides{display:flex;flex-wrap:wrap;gap:14px 28px;margin-top:24px;}
.ma{display:flex;align-items:center;gap:12px;color:var(--sub);font-size:15px;}
.ma img{width:48px;height:auto;}
.ma b{color:var(--t);}
.duo-more{margin-top:20px;}
.duo-more a{color:var(--violet2);}
@media (max-width:760px){ .manifest{padding:24px 20px;} .manifest-cols{grid-template-columns:1fr;gap:14px;} }

/* Бит в шапке: наведи, щёлкни, не трогай */
.duo-stage[aria-hidden]{pointer-events:none;}
.duo-bitbox{pointer-events:auto;cursor:pointer;user-select:none;}
.duo-bitbox:hover{animation-play-state:paused;}
.duo-bitimg{transition:width .2s ease;-webkit-user-drag:none;}
.duo-say.pop{animation:sayPop .35s ease;}
@keyframes sayPop{0%{transform:scale(.85);opacity:.3;}100%{transform:none;opacity:1;}}
.duo-bitbox.roll .duo-bitimg{animation:bitRoll .9s cubic-bezier(.4,.1,.3,1);}
@keyframes bitRoll{0%{transform:none;}40%{transform:translateY(-40px) rotate(200deg);}100%{transform:rotate(360deg);}}
.duo-bitbox.asleep{animation-duration:9s;}
.duo-bitbox.asleep .duo-say{opacity:.75;font-style:italic;}
/* мысли автора — в финальном блоке, под «Мы ничего о тебе не знаем» */
.cta-why{max-width:640px;margin:18px 0 22px;}
.cta-why p{color:#cfd0ee;font-size:16.5px;line-height:1.65;margin:0 0 12px;}
.cta-why .cta-warn{padding:12px 16px;border-left:3px solid var(--yellow);background:rgba(245,197,66,.06);border-radius:0 12px 12px 0;color:var(--sub);}
.cta-why .cta-warn b{color:var(--yellow);}
.duo-say{position:relative;z-index:2;}

/* ---- /ai/: ИнКа выглядывает из-за скриншотов — как на первом экране, только меньше (2026-10-08) ---- */
.shot-host{position:relative;padding-top:96px;}
.shot-host .shot{position:relative;z-index:1;}
.shot-inka{position:absolute;z-index:0;top:0;right:9%;margin:0;}
.shot-inka img{display:block;height:300px;width:auto;
  filter:brightness(.9) saturate(.92) drop-shadow(0 0 1.5px rgba(139,108,246,.55)) drop-shadow(0 0 22px rgba(139,108,246,.26));}
.shot-inka .say{position:absolute;right:100%;top:6px;width:224px;margin:0 -6px 0 0;padding:10px 14px;font-size:13.5px;transform:rotate(-2deg);}
.shot-inka .say::after{left:auto;right:-8px;bottom:auto;top:20px;margin:0;transform:rotate(-45deg);}
.shot-host.left .shot-inka{right:auto;left:9%;}
.shot-host.left .shot-inka .say{right:auto;left:100%;margin:0 0 0 -6px;transform:rotate(2deg);}
.shot-host.left .shot-inka .say::after{right:auto;left:-8px;transform:rotate(135deg);}
@media (max-width:640px){
  .shot-host{padding-top:72px;}
  .shot-inka{right:4%;}
  .shot-host.left .shot-inka{left:4%;}
  .shot-inka img{height:220px;}
  .shot-inka .say{width:min(200px,52vw);font-size:13px;padding:9px 12px;}
}
@media (prefers-reduced-motion:reduce){.shot-inka .say{transform:none;}}
/* Совет дня на главной — тонкая строка над «Свежими утилитами» */
.tip-day{display:flex;gap:12px;align-items:center;margin:0 0 34px;padding:10px 0 14px;border-bottom:1px dashed var(--brd2);}
.tip-day[hidden]{display:none;}
.tip-day img{width:30px;height:auto;flex:none;}
.tip-h{flex:none;font:600 12px var(--mono);color:var(--cyan);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;}
.tip-day p{margin:0;color:var(--sub);font-size:15px;line-height:1.5;}
.tip-day a{white-space:nowrap;}
@media (max-width:640px){.tip-day{flex-wrap:wrap;gap:6px 10px;}.tip-day p{flex-basis:100%;}}
/* «Обзор» у кнопок ZmNx·AI на главной: еле заметное сияние по контуру */
.btn-glow{border-color:rgba(167,139,250,.55);animation:btnGlow 3.2s ease-in-out infinite;}
@keyframes btnGlow{0%,100%{box-shadow:0 0 0 0 rgba(167,139,250,0),0 0 6px rgba(167,139,250,.12);}50%{box-shadow:0 0 0 1px rgba(167,139,250,.35),0 0 16px rgba(167,139,250,.45);}}
@media (prefers-reduced-motion:reduce){.btn-glow{animation:none;box-shadow:0 0 10px rgba(167,139,250,.25);}}

/* Знак «Бит» (с 2026-10-10): глаза-экран следят и моргают, огонёк антенны дышит, при вводе текста — жмурится */
.bit-logo .eye{transform-box:fill-box;transform-origin:center;transition:transform .12s;}
.bit-logo.squint .eye{transform:scaleY(.3);}
.bit-logo.blink .eye,.bit-logo.closed .eye{transform:scaleY(.14);}
.bit-logo .antenna{transform-box:fill-box;transform-origin:center;animation:antennaGlow 3.6s ease-in-out infinite;}
@keyframes antennaGlow{0%,100%{opacity:.85;}50%{opacity:1;filter:drop-shadow(0 0 2.5px #ff8a7a);}}
.brand:hover .bit-logo .antenna{animation-duration:.9s;}
@media (prefers-reduced-motion:reduce){.bit-logo .antenna{animation:none;}}

/* Окно ИнКи перед скачиванием (2026-10-11, по скрину на 2553 px): широкая картинка «руки вверх» занимала почти всю
   карточку, облачку оставалось ~250 px — заголовок по слову в строке, текст уходил за экран. Теперь облачко
   не уже 440 px, а ИнКа — не больше 42% карточки и не выше экрана. */
@media (min-width:761px){
  .inka-gate .beta-card{max-width:1080px;align-items:center;}
  .inka-gate .beta-inka{max-width:42%;height:auto;max-height:min(720px,calc(100vh - 40px));max-height:min(720px,calc(100dvh - 40px));align-self:flex-end;}
  .inka-gate .beta-bubble{flex:1 1 440px;min-width:440px;}
}

/* 2026-10-14: крошки вместо «← Все …», соседние проекты в подвале, «Если случилось» на телефоне — по аудиту */
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;}
.crumbs span{color:var(--mute);}
.footer-sites{flex-basis:100%;display:flex;flex-wrap:wrap;gap:6px 22px;align-items:baseline;padding-top:14px;border-top:1px solid var(--brd);}
.footer-sites span{color:var(--mute);}
.footer-sites a{color:var(--sub);}
.footer-sites a b{color:var(--t);font-weight:600;}
.footer-sites a:hover{color:var(--t);}
.sos-pill{display:none;}
@media (max-width:760px){
  .sos-pill{display:inline-flex;align-items:center;order:1;margin-left:auto;padding:7px 11px;border-radius:999px;font-size:12.5px;font-weight:600;white-space:nowrap;
    color:#ffd2d2;background:rgba(248,113,113,.14);border:1px solid rgba(248,113,113,.55);}
  .sos-pill + .nav-toggle{order:3;}
  .sos-pill ~ .tg-pill{order:2;margin-left:6px;}
}
@media (max-width:400px){.sos-pill ~ .tg-pill .tg-pill-txt{display:none;}.sos-pill ~ .tg-pill{padding:3px;}}

/* «ИнКа, покажись»: кадры состояний в карточках */
.show-states .card img{display:block;width:100%;max-width:220px;height:auto;margin:0 auto 14px;}

/* «История программ» (2026-10-24): плитки «где сейчас» и лента */
.tl-now{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;margin-top:12px}
.tl-now a{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid var(--brd);border-radius:12px;background:rgba(255,255,255,.03);color:var(--t);text-decoration:none}
.tl-now a:hover{border-color:var(--violet2)}
.tl-now span{font:600 18px var(--mono);color:var(--violet2)}
.tl-now small{color:var(--mute);font-size:12px}
.tl{list-style:none;margin:28px 0 0;padding:0 0 0 22px;border-left:2px solid var(--brd2);display:flex;flex-direction:column;gap:18px}
.tl li{position:relative;display:grid;grid-template-columns:130px minmax(0,1fr);gap:14px}
.tl li::before{content:"";position:absolute;left:-30px;top:6px;width:14px;height:14px;border-radius:50%;background:var(--bg,#0f1130);border:3px solid var(--violet2)}
.tl li.tl-bug::before{border-color:#f87171}
.tl li.tl-grow::before{border-color:#34d399}
.tl time{font:12.5px var(--mono);color:var(--mute);padding-top:3px}
.tl b{font-size:16px}
.tl em{font-style:normal;font:11px var(--mono);text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:99px;margin-left:6px;background:rgba(139,108,246,.15);color:var(--violet2)}
.tl-bug em{background:rgba(248,113,113,.14);color:#f87171}
.tl-grow em{background:rgba(52,211,153,.14);color:#34d399}
.tl p{margin:6px 0 0;color:var(--sub)}
.tl .tl-say{color:var(--t);font-style:italic}
@media (max-width:640px){.tl li{grid-template-columns:1fr;gap:2px}.tl-now{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* /status/ (2026-10-24): сводка, карточки сервисов, происшествия */
.st-sum{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border-radius:14px;border:1px solid var(--brd2);margin-bottom:14px}
.st-sum b{font:700 22px var(--display)}
.st-sum span{color:var(--sub);font-size:14px}
.st-sum.ok{border-color:rgba(52,211,153,.5);background:rgba(52,211,153,.07)}
.st-sum.warn{border-color:rgba(245,197,66,.5);background:rgba(245,197,66,.07)}
.st-sum.down{border-color:rgba(248,113,113,.55);background:rgba(248,113,113,.08)}
.st-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.st-card{padding:14px 16px;border:1px solid var(--brd);border-radius:14px;background:var(--card)}
.st-card p{margin:4px 0 10px;font-size:13.5px}
.st-head{display:flex;align-items:center;gap:8px}
.st-head i{width:10px;height:10px;border-radius:50%;background:#f5c542;flex:none}
.st-card.ok .st-head i{background:#34d399;box-shadow:0 0 10px rgba(52,211,153,.6)}
.st-card.down .st-head i{background:#f87171;box-shadow:0 0 10px rgba(248,113,113,.6)}
.st-line{display:flex;justify-content:space-between;gap:10px;font:12.5px var(--mono);color:var(--mute);padding-top:4px}
.st-card.ok .st-line:first-of-type span:first-child{color:#34d399}
.st-card.warn .st-line:first-of-type span:first-child{color:#f5c542}
.st-card.down .st-line:first-of-type span:first-child{color:#f87171}
.st-inc{margin:0;padding-left:18px;color:var(--sub)}
.st-inc li{margin:4px 0}
/* Телефон: ленту разделов ZmNx·AI видно, что можно листать (гаснет у края); ссылки подвала и крошек — выше,
   чтобы попадать пальцем (были 17–22 px) */
@media (max-width:760px){
  .subnav-links{-webkit-mask-image:linear-gradient(90deg,#000 82%,transparent);mask-image:linear-gradient(90deg,#000 82%,transparent);padding-right:24px;}
  .footer-links a{display:inline-block;padding:9px 0;}
  .crumbs a{display:inline-block;padding:8px 0;}
}
/* Списки «ключ — пояснение» (Как устроен сайт, подпись, скачивание): пояснение рвалось по буквам («defa/ult-»,
   «ч/а/т») — word-break:break-all. Слова — целиком, длинное без пробелов (хэш, адрес) всё равно переносится.
   На телефоне ключ — над пояснением: в две колонки пояснению оставалась полоска в пару слов */
.kv-space dd{word-break:normal;overflow-wrap:anywhere;}
@media (max-width:640px){
  .kv-space{grid-template-columns:minmax(0,1fr);gap:2px;}
  .kv-space dt{overflow-wrap:anywhere;}
  .kv-space dd{margin-bottom:12px;}
}
/* раздел утилиты с ИнКой: строка текста не шире ~70 знаков, ИнКа у своего края */
@media (min-width:761px){
  .tool-body > .tsec{grid-template-columns:minmax(0,760px) 210px;justify-content:space-between;}
  .tool-body > .tsec.art-left{grid-template-columns:210px minmax(0,760px);justify-content:start;}
}
