/* ════════════════════════════════════════════════════════════════════
   Vacantrix Web · Редизайн 2026 · V4 «Гибрид»
   Нейтральный тёмный фон, hairline-границы, крупная выверенная типографика,
   красный только в акценте. Неон — специя (просыпается на hover).
   Токены — источник правды бренда; hex не хардкодим в компонентах.
   ════════════════════════════════════════════════════════════════════ */

/* ── Токены ─────────────────────────────────────────────────────────── */
:root{
  --bg:        #0a0a0c;                    /* near-black */
  --bg2:       #0d0d10;
  --panel:     #101014;                    /* карточка */
  --panel2:    #14141a;                    /* hover-поверхность */
  --line:      rgba(255,255,255,.07);      /* базовый hairline */
  --line2:     rgba(255,255,255,.11);      /* усиленный hairline */
  --line-soft: rgba(255,255,255,.045);
  --accent:    #e63946;
  --accent-b:  #ff5a67;
  --accent-d:  #a4161a;
  --accent-soft: rgba(230,57,70,.12);
  --accent-line: rgba(230,57,70,.34);
  --text:      #f2f2f6;
  --text2:     #9a9aa8;
  --text3:     #63636f;
  --live:      #58e08a;
  --beta:      #f5b34a;
  --glass:     rgba(11,11,14,.72);
  --glass2:    rgba(20,20,26,.7);          /* панели модалок/настроек (runtime) */
  --blur:      blur(16px);
  --shadow:    0 30px 80px -42px rgba(0,0,0,.9);
  /* неон-hover: деликатный красный ореол + hairline-обводка */
  --neon:      0 0 0 1px var(--accent-line), 0 18px 44px -22px rgba(230,57,70,.42);
  --r:         12px;
  --r2:        16px;
  --cont:      1120px;
  --f:         -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  /* ── совместимость с runtime-CSS (модалки/appdetail/apps/настройки) ── */
  --border:    rgba(255,255,255,.11);
  --border2:   rgba(255,255,255,.06);
  --radius:    14px;
}
/* угол бегущей рамки «ядра» (ток по контуру) */
@property --bd { syntax:'<angle>'; inherits:false; initial-value:0deg; }

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--f);
  background:
    radial-gradient(120% 62% at 50% -12%, rgba(230,57,70,.055), transparent 55%),
    var(--bg);
  color:var(--text);
  min-height:100vh;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  font-variant-numeric:tabular-nums;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button{font-family:inherit}

.wrap{width:100%;max-width:var(--cont);margin:0 auto;padding:0 28px}

/* ── Утилиты ────────────────────────────────────────────────────────── */
.hidden{display:none !important}
.spinner{width:36px;height:36px;border:3px solid var(--line2);border-top-color:var(--accent-b);
  border-radius:50%;animation:spin .8s linear infinite;margin:40px auto}
@keyframes spin{to{transform:rotate(360deg)}}
.empty-hint{color:var(--text3);text-align:center;padding:40px;font-size:14px}

/* eyebrow + заголовки */
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;
  letter-spacing:.15em;text-transform:uppercase;color:var(--text3)}
.eyebrow::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--accent);
  box-shadow:0 0 10px rgba(230,57,70,.7)}

/* ════════════════════════════════════════════════════════════════════
   ТОПБАР
   ════════════════════════════════════════════════════════════════════ */
.topbar{position:sticky;top:0;z-index:1200;display:flex;align-items:center;gap:6px;
  height:60px;padding:0 24px;background:var(--glass);backdrop-filter:var(--blur);
  border-bottom:1px solid var(--line)}

/* бренд «Vacantrix» + прыжок букв на hover */
.tp-brand{display:inline-block;font-size:19px;font-weight:800;letter-spacing:-.01em;
  margin-right:8px;cursor:pointer;color:#f6f6fb;white-space:nowrap;flex-shrink:0}
.tp-brand span{display:inline-block}
@keyframes brandHop{0%,100%{transform:translateY(0)}42%{transform:translateY(-7px)}}
.tp-brand:hover span{animation:brandHop .42s ease}
.tp-brand:hover span:nth-child(1){animation-delay:0s}
.tp-brand:hover span:nth-child(2){animation-delay:.05s}
.tp-brand:hover span:nth-child(3){animation-delay:.10s}
.tp-brand:hover span:nth-child(4){animation-delay:.15s}
.tp-brand:hover span:nth-child(5){animation-delay:.20s}
.tp-brand:hover span:nth-child(6){animation-delay:.25s}
.tp-brand:hover span:nth-child(7){animation-delay:.30s}
.tp-brand:hover span:nth-child(8){animation-delay:.35s}
.tp-brand:hover span:nth-child(9){animation-delay:.40s}

/* вкладки: скроллятся внутри, не распирают топбар */
.tp-tabs{display:flex;align-items:center;gap:2px;margin-left:14px;min-width:0;
  overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.tp-tabs::-webkit-scrollbar{display:none}
.tp-tab{position:relative;flex-shrink:0;display:inline-flex;align-items:center;gap:8px;
  background:transparent;border:none;color:var(--text2);font-size:14px;font-weight:600;
  padding:9px 13px;border-radius:10px;cursor:pointer;
  transition:color .2s ease,background .2s ease}
.tp-tab:hover{color:var(--text);background:rgba(255,255,255,.045)}
.tp-tab.active{color:var(--accent-b)}
.tp-ic{width:19px;height:19px;display:inline-grid;place-items:center;flex-shrink:0;
  transition:transform .25s ease,filter .25s ease}
.tp-ic svg{width:100%;height:100%;overflow:visible}
.tp-tab:hover .tp-ic{transform:scale(1.1);filter:drop-shadow(0 0 4px rgba(230,57,70,.55))}
.tp-tab.active .tp-ic{filter:drop-shadow(0 0 5px rgba(230,57,70,.65))}
/* подчёркивание scaleX из центра */
.tp-tab::after{content:'';position:absolute;left:12px;right:12px;bottom:3px;height:2px;
  border-radius:2px;background:linear-gradient(90deg,var(--accent),var(--accent-b));
  transform:scaleX(0);transform-origin:center;
  transition:transform .26s cubic-bezier(.5,1.6,.5,1)}
.tp-tab:hover::after,.tp-tab.active::after{transform:scaleX(1)}

/* пер-иконочные микро-анимации hover */
.tp-ic [class^="a"]{transform-box:fill-box;transform-origin:center}
@keyframes tpApulse{0%,100%{transform:scale(1)}45%{transform:scale(.62)}}
.tp-tab:hover .a1{animation:tpApulse .55s ease}
.tp-tab:hover .a2{animation:tpApulse .55s ease .07s}
.tp-tab:hover .a3{animation:tpApulse .55s ease .21s}
.tp-tab:hover .a4{animation:tpApulse .55s ease .14s}
.tag,.tagdot,.dot,.r1,.r2{transform-box:fill-box;transform-origin:center}
@keyframes tpSwing{0%,100%{transform:rotate(0)}30%{transform:rotate(-13deg)}65%{transform:rotate(7deg)}}
.tp-tab:hover .tag{animation:tpSwing .6s ease;transform-origin:78% 22%}
@keyframes tpDot{0%,100%{transform:scale(1)}50%{transform:scale(1.9)}}
.tp-tab:hover .dot{animation:tpDot .55s ease}
@keyframes tpMergeL{0%,100%{transform:translateX(0)}50%{transform:translateX(2.2px)}}
@keyframes tpMergeR{0%,100%{transform:translateX(0)}50%{transform:translateX(-2.2px)}}
.tp-tab:hover .r1{animation:tpMergeL .5s ease}
.tp-tab:hover .r2{animation:tpMergeR .5s ease}
@keyframes tpBob{0%,100%{transform:translateY(0) scale(1.1)}50%{transform:translateY(-2.5px) scale(1.1)}}
.tp-tab:hover .tp-ic-bob{animation:tpBob .6s ease}

.tp-actions{margin-left:auto;flex-shrink:0;display:flex;align-items:center;gap:10px}

/* чип пользователя + аватар (runtime: main.js/profile.js) */
.user-chip{display:inline-flex;align-items:center;gap:8px}
.avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;
  border-radius:50%;overflow:hidden;flex-shrink:0;
  background:linear-gradient(135deg,var(--accent),var(--accent-b));
  color:#fff;font-weight:700;text-transform:uppercase;user-select:none}
.avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.avatar img.hidden{display:none}
.avatar-fallback{line-height:1}
.avatar-fallback.hidden{display:none}
.avatar-sm{width:28px;height:28px;font-size:13px}
.avatar-lg{width:44px;height:44px;font-size:20px}
#user-info{font-size:13px;color:var(--text2)}

/* ── Кнопки ─────────────────────────────────────────────────────────── */
.btn,.btn-primary,.btn-outline,.btn-ghost,.btn-danger,.btn-store{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border:1px solid transparent;border-radius:10px;font-family:var(--f);
  font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;padding:9px 18px;
  transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease}
.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent-d));color:#fff;
  box-shadow:0 6px 22px -8px rgba(230,57,70,.7)}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 10px 28px -8px rgba(230,57,70,.85)}
.btn-ghost{background:rgba(255,255,255,.03);color:var(--text2);border-color:var(--line2)}
.btn-ghost:hover{color:var(--text);border-color:var(--text3)}
.btn-outline{background:transparent;color:var(--text2);border-color:var(--line2)}
.btn-outline:hover{color:var(--text);border-color:var(--accent-b)}
.btn-danger{background:rgba(180,30,30,.2);color:#ff8080;border-color:rgba(200,30,30,.3)}
.btn-danger:hover{background:rgba(180,30,30,.35)}
.btn-store{background:rgba(255,255,255,.07);color:var(--text);border-color:rgba(255,255,255,.12)}
.btn-store:hover{background:rgba(255,255,255,.12)}
.btn-primary.sm,.btn-outline.sm,.btn-ghost.sm,.btn-danger.sm{padding:7px 14px;font-size:13px}
.input-sm{background:rgba(255,255,255,.06);border:1px solid var(--line2);border-radius:8px;
  color:var(--text);font-size:13px;padding:7px 12px;outline:none;transition:border-color .2s}
.input-sm:focus{border-color:var(--accent-b)}

/* ── Информационный баннер (runtime) ────────────────────────────────── */
#global-info{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);
  background:rgba(30,160,30,.92);color:#fff;padding:12px 24px;border-radius:10px;
  font-size:14px;z-index:1350;text-align:center;max-width:90vw;backdrop-filter:blur(8px);
  box-shadow:0 16px 40px -18px rgba(0,0,0,.7)}
#global-info.info-error{background:rgba(190,40,40,.94)}

/* ════════════════════════════════════════════════════════════════════
   ПАНЕЛИ (SPA) + reveal
   ════════════════════════════════════════════════════════════════════ */
.main-content{position:relative;z-index:1}
.tab-panel{display:none}
.tab-panel.active{display:block;animation:tabEnter .34s cubic-bezier(.22,.61,.36,1) both}
@keyframes tabEnter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}
.reveal.visible{opacity:1;transform:none}

/* раздел приложения (#tab-app) — appdetail.js кладёт .app-detail-panel напрямую */
#tab-app{padding:40px 24px 64px}

/* ════════════════════════════════════════════════════════════════════
   ГЕРОЙ — центральная композиция + «ток по трассам»
   ════════════════════════════════════════════════════════════════════ */
.hero{position:relative;overflow:hidden;text-align:center;padding:94px 0 40px}
.hero-inner{position:relative;z-index:1;max-width:840px;margin:0 auto}
.hero .eyebrow{justify-content:center}
.hero h1{font-size:clamp(38px,6vw,64px);line-height:1.04;font-weight:800;
  letter-spacing:-.035em;margin:20px auto;max-width:18ch;color:var(--text)}
.hero .sub{color:var(--text2);font-size:clamp(16px,2vw,19px);line-height:1.6;
  max-width:54ch;margin:0 auto 34px}
.hero-cta{display:flex;flex-direction:column;align-items:center;gap:18px}

/* фон-декор героя */
.hero-fx{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;
  -webkit-mask:linear-gradient(to bottom,#000 56%,transparent);
          mask:linear-gradient(to bottom,#000 56%,transparent)}
.hf-glow{position:absolute;left:50%;top:46%;width:540px;height:300px;transform:translate(-50%,-50%);
  border-radius:50%;background:radial-gradient(ellipse at center, rgba(230,57,70,.11), transparent 68%);
  animation:hfGlow 6.5s ease-in-out infinite}
@keyframes hfGlow{0%,100%{opacity:.5;transform:translate(-50%,-50%) scale(1)}
  50%{opacity:.8;transform:translate(-50%,-50%) scale(1.1)}}
.hf-orbit{position:absolute;left:50%;top:46%;border-radius:50%;border:1px solid rgba(230,57,70,.085);
  transform:translate(-50%,-50%)}
.hf-orbit-1{width:340px;height:340px;animation:hfSpin 26s linear infinite}
.hf-orbit-2{width:540px;height:540px;animation:hfSpin 40s linear infinite reverse}
.hf-orbit i{position:absolute;top:-3px;left:50%;width:6px;height:6px;margin-left:-3px;border-radius:50%;
  background:var(--accent-b);box-shadow:0 0 8px 1px rgba(230,57,70,.6)}
@keyframes hfSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.hf-trace{position:absolute;top:8px;bottom:20px;width:1px;overflow:hidden;
  background:repeating-linear-gradient(to bottom, rgba(230,57,70,.13) 0 4px, transparent 4px 12px)}
.hf-trace-l{left:17%} .hf-trace-r{right:17%}
.hf-trace::before{content:'';position:absolute;left:-1px;width:3px;height:38px;top:-38px;
  background:linear-gradient(to bottom, transparent, var(--accent-b), transparent);
  box-shadow:0 0 8px 1px rgba(230,57,70,.5);animation:hfPkt 5.5s linear infinite}
.hf-trace-r::before{animation-delay:2.6s;animation-duration:6.8s}
@keyframes hfPkt{0%{top:-38px}100%{top:100%}}
.hf-hz{position:absolute;left:-6%;right:-6%;height:1px;overflow:hidden;
  background:repeating-linear-gradient(to right, rgba(230,57,70,.1) 0 5px, transparent 5px 16px)}
.hf-hz-1{top:30%} .hf-hz-2{top:72%}
.hf-hz::before{content:'';position:absolute;top:-1px;width:46px;height:3px;left:-46px;
  background:linear-gradient(to right, transparent, var(--accent-b), transparent);
  box-shadow:0 0 8px 1px rgba(230,57,70,.5);animation:hfPktX 6s linear infinite}
.hf-hz-2::before{animation-duration:7.6s;animation-delay:3s}
@keyframes hfPktX{0%{left:-46px}100%{left:100%}}

/* кнопка скачивания (герой + apps.js) */
.btn-download{display:inline-flex;align-items:center;gap:14px;padding:15px 24px;
  border-radius:14px;border:none;cursor:pointer;text-align:left;position:relative;
  overflow:hidden;color:#fff;
  background:linear-gradient(135deg,var(--accent),var(--accent-d));
  box-shadow:0 10px 34px -10px rgba(230,57,70,.75);
  transition:transform .2s ease,box-shadow .2s ease}
.btn-download::before{content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,.10),transparent 55%)}
.btn-download:hover{transform:translateY(-2px);box-shadow:0 16px 42px -10px rgba(230,57,70,.9)}
.btn-download-lock{opacity:.72}
.btn-download-lock:hover{transform:none;box-shadow:0 10px 34px -10px rgba(230,57,70,.5)}
.dl-icon{font-size:24px;line-height:1;flex-shrink:0}
.dl-text{display:flex;flex-direction:column;gap:2px}
.dl-title{font-size:15px;font-weight:700;line-height:1.15}
.dl-sub{font-size:11.5px;opacity:.8;font-weight:500}
.dl-arrow{font-size:17px;font-weight:700;margin-left:4px;opacity:.9}
.hero-hint{color:var(--text3);font-size:14px;display:inline-flex;align-items:center;gap:8px}
.hero-hint::before{content:'';width:14px;height:1px;background:var(--line2)}

/* ════════════════════════════════════════════════════════════════════
   СЕКЦИИ (общие)
   ════════════════════════════════════════════════════════════════════ */
.section{padding:48px 0}
.section-head{margin-bottom:26px;max-width:640px}
.section-head h2{font-size:clamp(26px,3.4vw,38px);font-weight:800;letter-spacing:-.028em;
  line-height:1.1;margin:12px 0 10px;color:var(--text)}
.section-head p{color:var(--text2);font-size:15.5px;line-height:1.6}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center}
.head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;
  margin-bottom:26px;flex-wrap:wrap}
.head-row .section-head{margin-bottom:0}
.link-more{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:600;
  color:var(--text2);background:transparent;border:none;cursor:pointer;
  transition:color .18s ease,gap .18s ease}
.link-more:hover{color:var(--accent-b);gap:10px}
.divider{height:1px;background:var(--line);width:100%}

/* ── статус-бейджи (точка + подпись) ── */
.st{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:600;
  color:var(--text2);letter-spacing:.01em}
.st .d{width:6px;height:6px;border-radius:50%;flex-shrink:0}
.st.live .d{background:var(--live);box-shadow:0 0 8px rgba(88,224,138,.55)}
.st.beta .d{background:var(--beta);box-shadow:0 0 8px rgba(245,179,74,.45)}
.st.soon .d{background:var(--text3)}

/* ════════════════════════════════════════════════════════════════════
   ПРОДУКТЫ (главная): ядро-баннер + сетка инструментов
   ════════════════════════════════════════════════════════════════════ */
.core-banner{position:relative;display:flex;align-items:center;gap:20px;padding:22px 24px;
  margin-bottom:16px;border-radius:var(--r2);border:1px solid var(--line2);
  background:linear-gradient(120deg,rgba(230,57,70,.07),var(--panel) 60%);
  cursor:pointer;transition:border-color .22s ease,transform .22s ease,box-shadow .22s ease}
.core-banner::before{content:'';position:absolute;inset:0;border-radius:inherit;padding:1px;
  pointer-events:none;
  background:conic-gradient(from var(--bd), transparent 0 58%, var(--accent) 70%, var(--accent-b) 80%,
    #fff 84%, var(--accent-b) 88%, transparent 97%);
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
  opacity:.85;animation:bdSpin 5.2s linear infinite}
@keyframes bdSpin{to{--bd:360deg}}
.core-banner:hover{border-color:var(--accent-line);transform:translateY(-2px);box-shadow:var(--shadow)}
.core-banner:hover::before{opacity:1}
.core-ico{width:62px;height:62px;border-radius:16px;flex-shrink:0;overflow:hidden;
  display:grid;place-items:center;border:1px solid var(--accent-line);
  background:radial-gradient(130% 130% at 50% 0%,rgba(230,57,70,.28),var(--panel));
  box-shadow:0 12px 34px -14px rgba(230,57,70,.6)}
.core-ico img{width:74%;height:74%;object-fit:contain}
.core-txt{flex:1;min-width:0}
.core-txt .nm{font-size:18px;font-weight:800;letter-spacing:-.01em}
.core-txt .ds{color:var(--text2);font-size:14px;margin-top:4px;line-height:1.5}
.core-foot{display:flex;align-items:center;gap:16px;flex-shrink:0}
.core-arrow{color:var(--text3);font-size:20px;transition:transform .2s ease,color .2s ease}
.core-banner:hover .core-arrow{transform:translateX(4px);color:var(--accent-b)}

.prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.prod-card{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:12px;
  padding:18px;border-radius:var(--r);border:1px solid var(--line);background:var(--panel);
  cursor:pointer;
  transition:border-color .22s ease,transform .22s ease,box-shadow .22s ease,background .22s ease}
.prod-card::before{content:'';position:absolute;left:0;right:0;top:0;height:2px;transform:scaleX(0);
  transform-origin:left;background:linear-gradient(90deg,var(--accent),var(--accent-b));
  box-shadow:0 0 10px rgba(230,57,70,.6);transition:transform .3s ease}
.prod-card:hover{border-color:var(--accent-line);background:var(--panel2);transform:translateY(-3px);
  box-shadow:var(--neon)}
.prod-card:hover::before{transform:scaleX(1)}
.prod-card.is-soon{opacity:.72}
.prod-card.is-soon:hover{opacity:1}
.prod-card-more{justify-content:center;align-items:flex-start;background:transparent;border-style:dashed}
.prod-top{display:flex;align-items:center;gap:12px}
.prod-ico{width:42px;height:42px;border-radius:11px;flex-shrink:0;overflow:hidden;
  display:grid;place-items:center;font-size:18px;border:1px solid var(--line);
  background:var(--bg2);transition:box-shadow .22s ease,border-color .22s ease}
.prod-ico img{width:100%;height:100%;object-fit:cover}
.prod-card:hover .prod-ico{box-shadow:0 0 14px -2px rgba(230,57,70,.6);border-color:var(--accent-line)}
.prod-card.is-soon .prod-ico img{filter:grayscale(.5) brightness(.9)}
.prod-nm{font-size:15px;font-weight:700;letter-spacing:-.01em}
.prod-slogan{color:var(--text2);font-size:13px;line-height:1.5;flex:1;min-height:38px}
.prod-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding-top:12px;border-top:1px solid var(--line-soft)}
.prod-go{font-size:13px;font-weight:600;color:var(--text3);display:inline-flex;
  align-items:center;gap:5px;transition:color .18s ease,gap .18s ease}
.prod-card:hover .prod-go{color:var(--accent-b);gap:8px}

/* ════════════════════════════════════════════════════════════════════
   НОВОСТИ-превью (главная) + changelog-лента (вкладка Новости)
   ════════════════════════════════════════════════════════════════════ */
.news-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.np-card{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:12px;
  padding:20px;border-radius:var(--r);border:1px solid var(--line);background:var(--panel);
  cursor:pointer;
  transition:border-color .22s ease,transform .22s ease,background .22s ease,box-shadow .22s ease}
.np-card::before{content:'';position:absolute;left:0;right:0;top:0;height:2px;transform:scaleX(0);
  transform-origin:left;background:linear-gradient(90deg,var(--accent),var(--accent-b));
  box-shadow:0 0 10px rgba(230,57,70,.6);transition:transform .3s ease}
.np-card:hover{border-color:var(--accent-line);background:var(--panel2);transform:translateY(-3px);
  box-shadow:var(--neon)}
.np-card:hover::before{transform:scaleX(1)}
.np-meta{display:flex;align-items:center;gap:12px}
.np-date{font-size:12.5px;color:var(--text3);font-weight:500}
.np-card h4{font-size:15.5px;font-weight:700;line-height:1.35;letter-spacing:-.01em}
.np-card p{font-size:13.5px;color:var(--text2);line-height:1.55;flex:1}

/* тег типа записи (уппер, точка по типу) */
.tagpill{display:inline-flex;align-items:center;gap:7px;font-size:10.5px;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;color:var(--text2);
  border:1px solid var(--line2);border-radius:999px;padding:3px 10px}
.tagpill .d{width:6px;height:6px;border-radius:50%;flex-shrink:0}
.tagpill.releaz .d{background:var(--accent);box-shadow:0 0 8px rgba(230,57,70,.6)}
.tagpill.updatez .d{background:var(--beta)}
.tagpill.anonsz .d{background:var(--live)}

/* changelog-лента: дата слева на рельсе */
.changelog{max-width:820px}
.cl-entry{display:grid;grid-template-columns:150px 1fr;gap:0}
.cl-date{position:relative;padding:26px 26px 26px 0;text-align:right;color:var(--text3);
  font-size:13px;font-weight:600}
.cl-body{position:relative;padding:26px 0 26px 30px;border-left:1px solid var(--line)}
.cl-body::before{content:'';position:absolute;left:-5px;top:32px;width:9px;height:9px;
  border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--bg),0 0 10px rgba(230,57,70,.6)}
.cl-entry:first-child .cl-body{padding-top:6px}
.cl-entry:first-child .cl-date{padding-top:6px}
.cl-entry:first-child .cl-body::before{top:12px}
.cl-head{display:flex;align-items:center;gap:12px;margin-bottom:10px;flex-wrap:wrap}
.cl-body h3{font-size:19px;font-weight:800;letter-spacing:-.02em;line-height:1.2;margin-bottom:9px}
.cl-body p{color:var(--text2);font-size:14.5px;line-height:1.65;max-width:60ch}
.cl-link{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-size:13.5px;
  font-weight:600;color:var(--accent-b)}
.cl-link:hover{text-decoration:underline}

/* ════════════════════════════════════════════════════════════════════
   info-карточки (главная / поддержка / сотрудничество / интеграции / партнёр)
   ════════════════════════════════════════════════════════════════════ */
.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.info-grid.cols4{grid-template-columns:repeat(4,1fr)}
.info-card{position:relative;overflow:hidden;display:block;padding:22px;border-radius:var(--r);
  border:1px solid var(--line);background:var(--panel);color:inherit;
  transition:border-color .22s ease,transform .22s ease,background .22s ease,box-shadow .22s ease}
.info-card:hover{border-color:var(--accent-line);background:var(--panel2);transform:translateY(-3px);
  box-shadow:var(--neon)}
.ic-ic{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;
  margin-bottom:14px;border:1px solid var(--line);background:var(--bg2);color:var(--accent-b);
  transition:box-shadow .22s ease,border-color .22s ease}
.ic-ic svg{width:20px;height:20px}
.info-card:hover .ic-ic{box-shadow:0 0 14px -2px rgba(230,57,70,.55);border-color:var(--accent-line)}
.info-card h3{font-size:16px;font-weight:700;letter-spacing:-.01em;margin-bottom:8px}
.info-card p{color:var(--text2);font-size:13.5px;line-height:1.6}
.ic-link,.ic-cta{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:13px;
  font-weight:600;color:var(--text3);transition:color .18s ease,gap .18s ease}
.info-card:hover .ic-link,.info-card:hover .ic-cta{color:var(--accent-b);gap:9px}

/* «sec-head» — совместимость: partner.js рендерит .sec-head (алиас .section-head center) */
.sec-head{text-align:center;margin:0 auto 26px;max-width:640px}
.sec-head h2{font-size:clamp(24px,3.4vw,34px);font-weight:800;letter-spacing:-.026em;
  line-height:1.12;margin-bottom:10px;color:var(--text)}
.sec-head p{color:var(--text2);font-size:15px;line-height:1.6}
.sec-head p b{color:var(--text);font-weight:700}

/* ════════════════════════════════════════════════════════════════════
   ТАРИФЫ (вкладка) — рендерит js/pricing.js
   ════════════════════════════════════════════════════════════════════ */
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch}
.price-card{display:flex;flex-direction:column;gap:18px;padding:26px 24px;border-radius:var(--r2);
  border:1px solid var(--line);background:var(--panel);position:relative;overflow:hidden;
  transition:border-color .22s ease,transform .22s ease,box-shadow .22s ease}
.price-card:hover{transform:translateY(-4px);border-color:var(--accent-line);box-shadow:var(--neon)}
.pc-badge{align-self:flex-start;font-size:10.5px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;padding:4px 11px;border-radius:999px;color:var(--text2);
  border:1px solid var(--line2);display:inline-flex;align-items:center;gap:6px}
.pc-badge .pt-ic{width:15px;height:15px;border-radius:4px}
.pc-name{font-size:15px;font-weight:700;color:var(--text2)}
.pc-price{font-size:34px;font-weight:900;line-height:1;letter-spacing:-.02em}
.pc-price span{font-size:15px;font-weight:600;color:var(--text2)}
.pc-note{font-size:13px;color:var(--text3);margin-top:-8px}
.pc-feats{list-style:none;display:flex;flex-direction:column;gap:0;flex:1}
.pc-feats li{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;color:var(--text2);
  padding:10px 0;border-bottom:1px solid var(--line-soft);line-height:1.5}
.pc-feats li:last-child{border-bottom:none}
.pc-feats .ck{color:var(--accent-b);font-weight:700;flex-shrink:0;margin-top:1px}
.pc-plat{margin-top:auto;padding-top:15px;border-top:1px solid var(--line-soft);
  font-size:12.5px;color:var(--text3);display:flex;align-items:center;gap:8px}
.pc-plat .pp-dot{color:var(--accent-b);font-size:9px}

/* ── блоки внутри вкладки Тарифы ── */
.pt-block{margin-top:44px}
.pt-blockhead{display:flex;align-items:baseline;justify-content:space-between;gap:12px 18px;
  flex-wrap:wrap;margin-bottom:16px}
.pt-blockhead h3{font-size:clamp(19px,2.4vw,23px);font-weight:800;letter-spacing:-.02em;
  color:var(--text);line-height:1.15;display:flex;align-items:center;gap:10px}
.pt-blockhead h3 .pt-ic{width:24px;height:24px;border-radius:7px}
.pt-blockhead .pt-sub{font-size:13px;color:var(--text3);font-weight:500}

/* продуктовые иконки в тарифах */
.pt-ic{width:20px;height:20px;border-radius:5px;flex-shrink:0;display:inline-block;
  vertical-align:middle;object-fit:cover}
.pt-ics{display:inline-flex;align-items:center;gap:4px;flex-shrink:0}

/* «Бесплатно у каждого» */
.pt-free{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.pt-free-item{padding:20px 22px;border:1px solid var(--line);border-radius:var(--r2);
  background:var(--panel);transition:background .22s ease,border-color .22s ease}
.pt-free-item:hover{border-color:var(--accent-line);background:var(--panel2)}
.pt-free-item .fi-top{display:flex;align-items:center;gap:9px;margin-bottom:8px}
.pt-free-item .ck{color:var(--accent-b);font-weight:800;flex-shrink:0}
.pt-free-item .fi-nm{font-size:15px;font-weight:700;letter-spacing:-.01em}
.pt-free-item .fi-val{font-size:13.5px;color:var(--text2);line-height:1.5}
.pt-free-item .fi-val b{color:var(--text);font-weight:700}

/* таблица подписок HH / Авито / Комбо */
.pt-scrollhint{display:none;align-items:center;gap:8px;margin-bottom:10px;
  font-size:12.5px;font-weight:600;color:var(--accent-b)}
.pt-tablewrap{position:relative;border:1px solid var(--line);border-radius:var(--r2);
  background:var(--panel);overflow:hidden}
.pt-scroll{overflow-x:auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.pt-table{width:100%;border-collapse:collapse;min-width:800px}
.pt-table th,.pt-table td{padding:22px 12px 13px;text-align:center;
  border-bottom:1px solid var(--line-soft);border-left:1px solid var(--line-soft);white-space:nowrap}
.pt-table tbody td,.pt-table tbody th{padding:15px 12px}
.pt-table th:first-child,.pt-table td:first-child{border-left:none;text-align:left}
.pt-table tr:last-child td,.pt-table tr:last-child th{border-bottom:none}
.pt-table thead th{position:relative;vertical-align:bottom;background:var(--bg2);
  font-size:13.5px;font-weight:800;color:var(--text)}
.pt-table thead .pt-plan{display:block;margin-top:4px;font-size:10.5px;font-weight:600;
  color:var(--text3);letter-spacing:.005em;line-height:1.28;white-space:normal}
.pt-corner{font-size:11.5px;letter-spacing:.11em;text-transform:uppercase;
  color:var(--text3);font-weight:700}
.pt-rowh{background:var(--bg2);font-size:14.5px;font-weight:700;letter-spacing:-.01em;color:var(--text)}
.pt-rowh .pt-plan{display:block;margin-top:2px;font-size:11px;font-weight:600;color:var(--text3)}
.pt-rowh .rh{display:inline-flex;align-items:center;gap:8px}
.pt-rowh .rh .pt-ic{width:22px;height:22px;border-radius:6px}
.pt-table tbody td{font-size:18px;font-weight:800;color:var(--text);letter-spacing:-.015em;
  transition:background .18s ease,color .18s ease,box-shadow .18s ease}
.pt-pop{background:var(--accent-soft)}
.pt-table thead th.pt-pop{background:linear-gradient(180deg,rgba(230,57,70,.22),var(--accent-soft));
  border-top:2px solid var(--accent)}
.pt-popbadge{position:absolute;top:6px;left:50%;transform:translateX(-50%);
  font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#fff;
  background:linear-gradient(135deg,var(--accent),var(--accent-d));padding:3px 9px;
  border-radius:999px;white-space:nowrap;box-shadow:0 5px 14px -5px rgba(230,57,70,.75)}
.pt-table tr.pt-combo td,.pt-table tr.pt-combo th{background:var(--accent-soft);
  border-top:1px solid var(--accent-line)}
.pt-table tr.pt-combo .pt-rowh{color:var(--text)}
.pt-table tr.pt-combo td{color:var(--accent-b)}
.pt-table tr.pt-combo .pt-pop{background:rgba(230,57,70,.2)}
.pt-table tbody tr:hover th.pt-rowh{color:var(--accent-b)}
.pt-table tbody td:hover{background:var(--panel2);color:var(--accent-b);
  box-shadow:inset 0 0 0 1px var(--accent-line)}
.pt-table tr.pt-combo td:hover{background:rgba(230,57,70,.26)}
.pt-legend{margin-top:12px;font-size:13px;color:var(--text3);display:flex;
  align-items:center;gap:9px;line-height:1.5}
.pt-legend .lg-swatch{width:13px;height:13px;border-radius:4px;flex-shrink:0;
  background:var(--accent-soft);border:1px solid var(--accent-line)}

/* карточки Publisher Pro / Tasks Pro */
.pt-pro-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;align-items:stretch}

/* «Скоро в экосистеме» */
.pt-soon{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.pt-soon-card{display:flex;align-items:center;gap:12px;padding:16px 18px;min-width:0;
  border:1px dashed var(--line);border-radius:var(--r2);background:transparent;
  transition:border-color .22s ease,background .22s ease}
.pt-soon-card:hover{border-color:var(--accent-line);background:var(--panel)}
.pt-soon-card .pt-ic{width:30px;height:30px;border-radius:8px;opacity:.8}
.pt-soon-card .sc-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.pt-soon-card .sc-txt b{font-size:14.5px;font-weight:700;letter-spacing:-.01em}
.pt-soon-card .sc-txt span{font-size:12.5px;color:var(--text3);line-height:1.4}
.pt-soon-card .sc-badge{margin-left:auto;flex-shrink:0;font-size:10.5px;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;color:var(--text3);
  border:1px solid var(--line);border-radius:999px;padding:4px 10px}

/* примечание тарифов */
.pt-foot-note{margin-top:34px;text-align:center;font-size:13px;color:var(--text3)}

/* ════════════════════════════════════════════════════════════════════
   ФУТЕР
   ════════════════════════════════════════════════════════════════════ */
.site-footer{border-top:1px solid var(--line);margin-top:24px;position:relative;z-index:1}
.site-footer .wrap{padding-top:30px;padding-bottom:34px}
.foot-links{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;justify-content:center;
  color:var(--text3);font-size:13px}
.foot-links a{color:var(--text2);transition:color .18s ease}
.foot-links a:hover{color:var(--accent-b)}
.foot-links .sep{color:var(--line2)}

/* ════════════════════════════════════════════════════════════════════
   МОБИЛЬНАЯ НИЖНЯЯ НАВИГАЦИЯ (≤760)
   ════════════════════════════════════════════════════════════════════ */
.mnav{display:none}

/* ════════════════════════════════════════════════════════════════════
   МОДАЛКИ + ФОРМЫ (runtime: auth.js/main.js) — одеты в стиль V4
   ════════════════════════════════════════════════════════════════════ */
.modal-overlay{position:fixed;inset:0;z-index:1400;background:rgba(0,0,0,.72);
  backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:20px}
.modal{background:var(--panel);border:1px solid var(--line2);border-radius:20px;padding:32px;
  width:100%;max-width:420px;position:relative;box-shadow:var(--shadow)}
.modal h2{font-size:22px;margin-bottom:20px;letter-spacing:-.01em}
.modal-close{position:absolute;top:16px;right:16px;background:none;border:none;
  color:var(--text2);font-size:22px;cursor:pointer}
.modal-close:hover{color:var(--text)}
.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.form-group label{font-size:13px;color:var(--text2)}
.form-input{background:rgba(255,255,255,.05);border:1px solid var(--line2);border-radius:10px;
  padding:11px 14px;color:var(--text);font-size:14px;transition:border-color .2s;outline:none;width:100%}
.form-input:focus{border-color:var(--accent)}
.form-check{display:flex;align-items:center;gap:10px;margin-bottom:16px;font-size:13px;color:var(--text2)}
.form-check input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px;cursor:pointer}
.form-error{font-size:13px;color:#ff6060;min-height:20px}
.form-actions{display:flex;flex-direction:column;gap:10px}
.form-actions .btn-primary{width:100%;justify-content:center;padding:12px}
.form-switch{font-size:13px;color:var(--text2);text-align:center;cursor:pointer}
.form-switch:hover{color:var(--accent-b)}

/* ── Быстрый вход (Яндекс ID / VK ID) — фирменные плашки провайдеров ── */
.social-auth{display:flex;flex-direction:column;gap:10px;margin:2px 0 18px}
.social-auth.hidden{display:none}
.btn-social{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;
  padding:12px 16px;border:none;border-radius:12px;font-family:inherit;font-size:14.5px;
  font-weight:700;color:#fff;cursor:pointer;
  transition:filter .18s ease,transform .18s ease,box-shadow .18s ease}
.btn-social:hover{filter:brightness(1.08);transform:translateY(-1px)}
.btn-social:active{transform:none;filter:brightness(.96)}
.btn-social .so-ic{width:20px;height:20px;display:inline-grid;place-items:center;flex-shrink:0}
.btn-social .so-ic svg{width:100%;height:100%}
.btn-ya{background:#fc3f1d}
.btn-ya:hover{box-shadow:0 6px 18px -6px rgba(252,63,29,.55)}
.btn-vk{background:#07f}
.btn-vk:hover{box-shadow:0 6px 18px -6px rgba(0,119,255,.55)}
/* ── «Пульс» навигации: полоска прогресса перехода (как у YouTube) ── */
#nav-progress{position:fixed;top:0;left:0;height:2.5px;width:0;z-index:2000;
  background:linear-gradient(90deg,var(--accent-d),var(--accent),var(--accent-b));
  box-shadow:0 0 8px rgba(230,57,70,.6);opacity:0;pointer-events:none}
#nav-progress.run{opacity:1;width:70%;transition:width .18s ease,opacity .1s ease}
#nav-progress.done{width:100%;opacity:0;transition:width .2s ease,opacity .32s ease .1s}
@media (prefers-reduced-motion: reduce){#nav-progress{display:none}}

.social-legal{font-size:11.5px;color:var(--text3);line-height:1.5;margin:-2px 0 0;text-align:center}
.social-legal a{color:var(--text2)}
.social-legal a:hover{color:var(--accent-b)}
.social-div{display:flex;align-items:center;gap:12px;margin-top:6px;color:var(--text3);font-size:12.5px}
.social-div::before,.social-div::after{content:'';flex:1;height:1px;background:var(--line)}

/* ── Подтверждение входа в приложение (device-flow) ── */
.device-text{font-size:14.5px;color:var(--text2);line-height:1.6;margin-bottom:14px}
.device-text b{color:var(--text)}
.device-code{display:flex;justify-content:center;letter-spacing:.18em;font-size:26px;font-weight:800;
  color:var(--accent-b);background:var(--panel);border:1px solid var(--accent-line);border-radius:12px;
  padding:14px 10px;margin-bottom:12px;user-select:all}
.device-hint{font-size:12.5px;color:var(--text3);line-height:1.55;margin-bottom:10px}
@media (prefers-reduced-motion: reduce){.btn-social{transition:none}.btn-social:hover{transform:none}}
@keyframes overlayIn{from{opacity:0}to{opacity:1}}
@keyframes modalSlide{from{opacity:0;transform:scale(.92) translateY(16px)}to{opacity:1;transform:none}}
.modal-overlay:not(.hidden){animation:overlayIn .22s ease}
.modal-overlay:not(.hidden) .modal{animation:modalSlide .3s cubic-bezier(.16,1,.3,1)}

/* ── Лайтбокс ── */
#lightbox{position:fixed;inset:0;z-index:1400;background:rgba(0,0,0,.92);backdrop-filter:blur(8px);
  display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px}
#lb-img{max-width:90vw;max-height:80vh;border-radius:12px;display:block}
.lb-controls{display:flex;align-items:center;gap:20px}
.lb-btn{background:var(--glass2);border:1px solid var(--line2);color:var(--text);width:44px;height:44px;
  border-radius:50%;font-size:20px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}
.lb-btn:hover{background:var(--accent);border-color:var(--accent)}
#lb-counter{color:var(--text2);font-size:14px;min-width:60px;text-align:center}

/* ── Гид по установке ── */
.install-guide-modal{max-width:460px;padding:28px}
.ig-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}
.ig-app-icon{width:52px;height:52px;border-radius:14px;flex-shrink:0;
  background:linear-gradient(135deg,var(--accent),var(--accent-d));
  display:flex;align-items:center;justify-content:center;font-size:26px;color:#fff}
.ig-header h2{font-size:20px;font-weight:800;margin-bottom:4px}
.ig-header p{font-size:13px;color:var(--text2)}
.ig-steps{display:flex;flex-direction:column;gap:0;margin-bottom:20px}
.ig-step{display:flex;align-items:flex-start;gap:0;opacity:.38;transition:opacity .4s}
.ig-step.active{opacity:1}
.ig-step.done{opacity:1}
.ig-step-left{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:36px}
.ig-num{width:28px;height:28px;border-radius:50%;flex-shrink:0;background:var(--glass2);
  border:1px solid var(--line2);display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:700;color:var(--text2);transition:all .35s}
.ig-step.active .ig-num{background:var(--accent);border-color:var(--accent);color:#fff;
  box-shadow:0 0 12px rgba(230,57,70,.5)}
.ig-step.done .ig-num{background:rgba(30,160,80,.25);border-color:rgba(30,160,80,.5);color:#5de08a}
.ig-line{width:2px;flex:1;min-height:20px;background:var(--line);margin:4px 0}
.ig-step-body{padding:4px 12px 20px;flex:1}
.ig-step-body strong{display:block;font-size:14px;font-weight:700;margin-bottom:4px}
.ig-step-body span{font-size:13px;color:var(--text2);line-height:1.5}
.ig-step-body kbd,.ig-hint kbd{background:var(--glass2);border:1px solid var(--line2);
  border-radius:5px;padding:1px 6px;font-size:12px;font-family:monospace;color:var(--text)}
.ig-check,.ig-spinner{display:none;flex-shrink:0;padding-top:4px}
.ig-step.done .ig-check{display:block;color:#5de08a;font-size:16px;font-weight:700}
.ig-step.active .ig-spinner{display:block;width:16px;height:16px;border:2px solid var(--line2);
  border-top-color:var(--accent-b);border-radius:50%;animation:spin .7s linear infinite;margin-top:6px}
.ig-hint{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:10px;
  background:rgba(255,255,255,.04);border:1px solid var(--line);font-size:13px;color:var(--text2)}

/* ════════════════════════════════════════════════════════════════════
   ПРИЛОЖЕНИЯ (runtime: apps.js рендерит #apps-content)
   ════════════════════════════════════════════════════════════════════ */
.apps-single{display:flex;flex-direction:column;gap:28px}
.app-full{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:32px;
  display:flex;flex-direction:column;gap:24px;cursor:pointer;
  transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease}
.app-full:hover{border-color:var(--accent-line);transform:translateY(-3px);box-shadow:var(--neon)}
.app-full-hero{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px}
.app-full-left{display:flex;align-items:center;gap:20px}
.app-icon-large{width:80px;height:80px;border-radius:20px;object-fit:cover;flex-shrink:0;border:1px solid var(--line2)}
.app-icon-placeholder{width:80px;height:80px;border-radius:20px;
  background:linear-gradient(135deg,var(--accent),var(--accent-d));
  display:flex;align-items:center;justify-content:center;font-size:36px;font-weight:900;color:#fff;flex-shrink:0}
.app-title{font-size:28px;font-weight:800;margin-bottom:6px;letter-spacing:-.02em}
.app-tagline{color:var(--text2);font-size:15px}
.app-cta-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.app-description{color:var(--text2);font-size:15px;line-height:1.7;border-left:3px solid var(--accent);padding-left:16px}
.app-features{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.app-features li{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--text2);line-height:1.5}
.feat-check{color:var(--accent-b);font-weight:700;flex-shrink:0;margin-top:2px}
.app-screenshots{display:flex;flex-direction:column;gap:12px}
.screenshots-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;
  scrollbar-width:thin;scrollbar-color:var(--accent-d) transparent;padding-bottom:4px}
.screenshots-track::-webkit-scrollbar{height:4px}
.screenshots-track::-webkit-scrollbar-thumb{background:var(--accent-d);border-radius:2px}
.screenshot-item{flex-shrink:0;scroll-snap-align:start;border-radius:12px;overflow:hidden;
  border:1px solid var(--line);cursor:zoom-in;transition:all .2s;width:clamp(220px,40%,380px)}
.screenshot-item:hover{border-color:var(--accent-line);transform:scale(1.01)}
.screenshot-item img{width:100%;display:block}
.screenshots-nav{display:flex;gap:6px;justify-content:center}
.dot{width:8px;height:8px;border-radius:50%;background:var(--line2);border:none;cursor:pointer;transition:all .2s}
.dot.active{background:var(--accent-b);width:20px;border-radius:4px}
.app-video-wrap{border-radius:12px;overflow:hidden;border:1px solid var(--line)}
.app-video{width:100%;display:block}
.apps-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.app-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:24px;
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;cursor:pointer;
  transition:border-color .22s ease,transform .22s ease,box-shadow .22s ease,background .22s ease}
.app-card:hover{border-color:var(--accent-line);background:var(--panel2);transform:translateY(-4px);box-shadow:var(--neon)}
.app-card-icon{width:64px;height:64px;border-radius:16px;object-fit:cover}
.app-card-icon-ph{width:64px;height:64px;border-radius:16px;
  background:linear-gradient(135deg,var(--accent),var(--accent-d));
  display:flex;align-items:center;justify-content:center;font-size:28px;color:#fff;font-weight:800}
.app-card-name{font-size:18px;font-weight:700}
.app-card-tagline{font-size:13px;color:var(--text2)}
.app-card-btns{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}

/* ════════════════════════════════════════════════════════════════════
   РАЗДЕЛ ПРИЛОЖЕНИЯ (#tab-app → .ad-*) — appdetail.js
   ════════════════════════════════════════════════════════════════════ */
.app-detail-panel{position:relative;width:100%;max-width:1000px;margin:0 auto;
  animation:adRise .26s cubic-bezier(.2,.7,.3,1)}
@keyframes adRise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.ad-back{display:inline-flex;align-items:center;gap:8px;margin-bottom:22px;padding:9px 15px;
  border-radius:10px;cursor:pointer;font-family:inherit;font-size:13.5px;font-weight:600;color:var(--text2);
  background:rgba(255,255,255,.05);border:1px solid var(--line2);
  transition:color .18s,border-color .18s,background .18s,transform .18s}
.ad-back:hover{color:#fff;border-color:var(--accent-line);background:rgba(230,57,70,.14);transform:translateX(-2px)}
.ad-back:focus-visible{outline:2px solid var(--accent-b);outline-offset:2px}
.app-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:start}
.ad-main{min-width:0}
.ad-hero{display:flex;align-items:center;gap:18px;padding:2px 0 22px;margin-bottom:22px;border-bottom:1px solid var(--line)}
.ad-hero-ico{width:68px;height:68px;border-radius:18px;flex-shrink:0;overflow:hidden;display:grid;place-items:center;
  font-size:30px;background:linear-gradient(140deg,rgba(230,57,70,.2),rgba(0,0,0,.3));border:1px solid var(--accent-line);
  box-shadow:0 10px 32px -12px rgba(230,57,70,.6)}
.ad-hero-ico img{width:100%;height:100%;object-fit:cover}
.ad-status{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  padding:3px 8px;border-radius:6px;margin-bottom:7px}
.ad-status.live{color:var(--live);background:rgba(46,204,113,.12);border:1px solid rgba(46,204,113,.3)}
.ad-status.soon{color:var(--text3);background:rgba(255,255,255,.05);border:1px solid var(--line2)}
.ad-status.beta{color:var(--beta);background:rgba(245,179,74,.12);border:1px solid rgba(245,179,74,.32)}
.ad-beta-note{margin:14px 0 2px;padding:12px 14px;border-radius:12px;background:rgba(245,179,74,.08);
  border:1px solid rgba(245,179,74,.28);color:var(--text2);font-size:13.5px;line-height:1.55}
.ad-beta-note::before{content:'🛠 '}
.ad-name{font-size:clamp(22px,3vw,28px);font-weight:800;line-height:1.12;letter-spacing:-.02em}
.ad-tagline{color:var(--accent-b);font-size:13.5px;font-weight:600;margin-top:5px;line-height:1.4}
.ad-video{border-radius:16px;overflow:hidden;border:1px solid var(--line);margin-bottom:22px;background:#000;aspect-ratio:16/9}
.ad-video video{width:100%;height:100%;object-fit:cover;display:block}
.ad-section{margin-bottom:22px}
.ad-section h3{font-size:16px;font-weight:700;color:var(--text);margin-bottom:12px;display:flex;align-items:center;gap:10px}
.ad-section h3::before{content:'';flex-shrink:0;width:3px;height:15px;border-radius:2px;
  background:linear-gradient(var(--accent-b),var(--accent-d))}
.ad-section>p{color:var(--text2);font-size:14.5px;line-height:1.65}
.ad-list{list-style:none;display:flex;flex-direction:column;gap:11px}
.ad-list li{position:relative;padding-left:28px;color:var(--text2);font-size:14px;line-height:1.55}
.ad-list li::before{content:'✓';position:absolute;left:0;top:1px;width:18px;height:18px;border-radius:50%;
  display:grid;place-items:center;font-size:11px;font-weight:700;color:var(--accent-b);
  background:rgba(230,57,70,.12);border:1px solid var(--line)}
.ad-steps{list-style:none;counter-reset:adstep;display:flex;flex-direction:column;gap:12px}
.ad-steps li{position:relative;padding-left:40px;color:var(--text2);font-size:14px;line-height:1.55;
  counter-increment:adstep;min-height:26px}
.ad-steps li::before{content:counter(adstep);position:absolute;left:0;top:-1px;width:27px;height:27px;
  border-radius:8px;display:grid;place-items:center;font-size:12.5px;font-weight:700;color:#fff;
  background:linear-gradient(135deg,var(--accent),var(--accent-d))}
.ad-shots{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.ad-shot{border-radius:12px;overflow:hidden;border:1px solid var(--line);cursor:zoom-in;aspect-ratio:16/10;width:auto;min-width:0}
.ad-shot img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}
.ad-shot:hover img{transform:scale(1.05)}
.ad-rail{display:flex;flex-direction:column;gap:14px;position:sticky;top:76px}
.ad-rail-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:20px}
.ad-rail-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-b);margin-bottom:12px}
.ad-price-free{font-size:24px;font-weight:900;color:var(--text)}
.ad-price-sub{color:var(--text2);font-size:13px;line-height:1.5;margin-top:6px}
.ad-plan-list{display:flex;flex-direction:column;gap:11px}
.ad-plan{display:flex;align-items:baseline;justify-content:space-between;gap:10px;
  padding-bottom:11px;border-bottom:1px solid rgba(255,255,255,.05)}
.ad-plan:last-child{padding-bottom:0;border-bottom:none}
.ad-plan-name{font-size:13.5px;color:var(--text2)}
.ad-plan-price{font-size:17px;font-weight:800;color:var(--text);white-space:nowrap}
.ad-plan-price small{font-size:12px;font-weight:600;color:var(--text3)}
.ad-soon-badge{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  padding:4px 10px;border-radius:7px;margin-bottom:10px;color:var(--text3);background:rgba(255,255,255,.05);border:1px solid var(--line2)}
.ad-rail-soon p{color:var(--text2);font-size:13.5px;line-height:1.55}
.ad-cta{display:block;width:100%;margin-top:16px;padding:13px 16px;text-align:center;border:none;
  border-radius:12px;font-family:inherit;font-size:15px;font-weight:700;color:#fff;cursor:pointer;text-decoration:none;
  background:linear-gradient(135deg,var(--accent),var(--accent-d));box-shadow:0 8px 26px -8px rgba(230,57,70,.6);
  transition:filter .18s ease,transform .18s ease}
.ad-cta:hover{filter:brightness(1.08);transform:translateY(-1px)}
.ad-cta:focus-visible{outline:2px solid var(--accent-b);outline-offset:3px}
.ad-passport h4{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text3);margin-bottom:14px}
.ad-pass-row{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.ad-pass-row .k{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text3)}
.ad-pass-row .v{display:inline-block;align-self:flex-start;max-width:100%;padding:5px 11px;border-radius:9px;
  font-size:13px;line-height:1.45;color:var(--text);background:var(--glass2);border:1px solid var(--line)}
.ad-features{list-style:none;display:flex;flex-direction:column;gap:9px}
.ad-features li{position:relative;padding-left:26px;font-size:13px;color:var(--text2);line-height:1.5}
.ad-features li::before{content:'✓';position:absolute;left:0;top:0;width:17px;height:17px;border-radius:50%;
  display:grid;place-items:center;font-size:10px;font-weight:700;color:var(--accent-b);
  background:rgba(230,57,70,.12);border:1px solid var(--line)}
.ad-rail>.ad-rail-card:first-child{position:relative;overflow:hidden;border-color:var(--accent-line);
  background:linear-gradient(160deg,rgba(230,57,70,.10),var(--panel) 58%)}
.ad-rail>.ad-rail-card:first-child::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--accent-d),var(--accent-b))}
/* «Рекомендации по работе» (.ad-tips) */
.ad-tips{background:rgba(230,57,70,.05);border:1px solid var(--line);border-left:3px solid var(--accent);
  border-radius:14px;padding:16px 18px;gap:13px}
.ad-tips li{padding-left:30px}
.ad-tips li::before{content:'';top:1px;left:2px;width:18px;height:18px;border:none;border-radius:0;background:var(--accent-b);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6'/%3E%3Cpath d='M10 21h4'/%3E%3Cpath d='M12 3a6 6 0 0 0-4 10.5c.7.7 1.1 1.5 1 2.5h6c-.1-1 .3-1.8 1-2.5A6 6 0 0 0 12 3z'/%3E%3C/svg%3E") center / 18px no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6'/%3E%3Cpath d='M10 21h4'/%3E%3Cpath d='M12 3a6 6 0 0 0-4 10.5c.7.7 1.1 1.5 1 2.5h6c-.1-1 .3-1.8 1-2.5A6 6 0 0 0 12 3z'/%3E%3C/svg%3E") center / 18px no-repeat}

/* ════════════════════════════════════════════════════════════════════
   НАСТРОЙКИ (runtime: main.js рендерит #settings-content)
   ════════════════════════════════════════════════════════════════════ */
.settings-locked{display:flex;flex-direction:column;align-items:center;gap:16px;padding:60px 20px;text-align:center}
.settings-lock-icon{font-size:52px}
.settings-locked h3{font-size:22px;font-weight:700}
.settings-locked p{color:var(--text2);font-size:15px;max-width:340px}
.settings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.settings-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;
  padding:24px;display:flex;flex-direction:column;gap:16px}
.settings-card.danger-card{border-color:rgba(200,30,30,.28)}
.settings-card-header{display:flex;align-items:center;gap:10px}
.settings-card-header h3{font-size:16px;font-weight:700}
.settings-icon{font-size:20px}
.settings-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;
  border-bottom:1px solid var(--line-soft);gap:12px}
.settings-item:last-child{border-bottom:none}
.settings-label{font-size:13px;color:var(--text2);flex-shrink:0}
.settings-value{font-size:14px;font-weight:500;color:var(--text);word-break:break-all;text-align:right}
.settings-sub{font-size:12px;color:var(--text2);line-height:1.5}
.settings-row{display:flex;justify-content:space-between;align-items:center;gap:12px}
.settings-row-info .settings-label{font-size:14px;color:var(--text);font-weight:500;display:block}
.settings-row-info .settings-sub{font-size:12px;color:var(--text2);margin-top:2px}

/* ════════════════════════════════════════════════════════════════════
   ЛИЧНЫЙ КАБИНЕТ V4 (runtime: main.js _renderSettings)
   ════════════════════════════════════════════════════════════════════ */
.settings-head{margin-bottom:22px}
.settings-head h2{font-size:clamp(24px,3vw,30px);font-weight:800;letter-spacing:-.02em;margin-top:8px}
.cab{display:flex;flex-direction:column;gap:16px;max-width:760px}
.cab-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r2);
  padding:22px 24px;transition:border-color .25s ease,box-shadow .25s ease}
.cab-card:hover{border-color:var(--line2)}
.cab-card > h3{font-size:14px;font-weight:700;display:flex;align-items:center;gap:9px}
.cab-card > h3 .settings-icon{font-size:18px}
.cab-card-sub{font-size:12.5px;color:var(--text3);margin:6px 0 16px;line-height:1.5}

/* профиль-хедер */
.cab-profile{display:flex;align-items:center;gap:18px}
.cab-avatar-xl{width:72px;height:72px;border-radius:50%;flex-shrink:0;display:inline-grid;
  place-items:center;font-size:30px;font-weight:800;color:#fff;text-transform:uppercase;
  box-shadow:0 12px 30px -16px rgba(0,0,0,.85);position:relative;overflow:hidden;user-select:none}
.cab-avatar-xl img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%}
.cab-avatar-xl img.hidden{display:none}
.cab-avatar-fallback.hidden{display:none}
.cab-id{min-width:0;flex:1}
.cab-name-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cab-name-row.hidden{display:none}
.cab-name{font-size:20px;font-weight:800;letter-spacing:-.01em;word-break:break-word}
.cab-name.muted{color:var(--text3);font-weight:600}
.cab-editbtn{background:none;border:none;color:var(--text3);cursor:pointer;padding:5px;
  border-radius:8px;display:inline-grid;place-items:center;transition:color .18s,background .18s}
.cab-editbtn:hover{color:var(--accent-b);background:rgba(255,255,255,.05)}
.cab-editbtn svg{width:15px;height:15px}
.cab-name-edit{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.cab-name-edit.hidden{display:none}
.cab-name-edit .form-input{max-width:240px;padding:9px 12px;margin:0}
.cab-email{font-size:13.5px;color:var(--text2);margin-top:5px;word-break:break-all;
  display:flex;align-items:center;gap:8px;flex-wrap:wrap}

/* бейдж способа входа */
.method-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;
  padding:3px 9px;border-radius:999px;border:1px solid var(--line2);color:var(--text2);
  background:rgba(255,255,255,.04);white-space:nowrap}
.method-badge.ya{color:#ff7a4d;border-color:rgba(252,63,29,.4);background:rgba(252,63,29,.1)}
.method-badge .d{width:6px;height:6px;border-radius:50%;background:currentColor}

/* разделитель + строка внутри карточки */
.cab-line{height:1px;background:var(--line-soft);margin:16px 0}
.cab-row{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.cab-row-info{min-width:0;flex:1}
.cab-row-info .k{font-size:14px;font-weight:600;color:var(--text);display:block}
.cab-row-info .s{font-size:12.5px;color:var(--text2);margin-top:2px;line-height:1.5}
.cab-row-val{font-size:13.5px;color:var(--text);font-weight:600;text-align:right;word-break:break-word}
.cab-row-val.on{color:var(--live)}
.cab-row-val.off{color:var(--text3)}
.cab-links{display:flex;flex-direction:column;gap:0}

/* инлайн-поле (смена email) */
.cab-inline{display:none;margin-top:12px;gap:8px;flex-wrap:wrap;align-items:center}
.cab-inline.open{display:flex}
.cab-inline .form-input{flex:1;min-width:180px;padding:9px 12px;margin:0}
.cab-inline-note{font-size:12px;color:var(--text3);margin-top:2px;line-height:1.5;width:100%}

/* тумблер рассылки */
.tgl{position:relative;display:inline-block;width:44px;height:26px;flex-shrink:0;cursor:pointer}
.tgl input{position:absolute;opacity:0;width:0;height:0}
.tgl .track{position:absolute;inset:0;border-radius:999px;background:rgba(255,255,255,.1);
  border:1px solid var(--line2);transition:background .22s ease,border-color .22s ease}
.tgl .knob{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;
  background:var(--text2);transition:transform .22s cubic-bezier(.5,1.6,.5,1),background .22s ease}
.tgl input:checked ~ .track{background:var(--accent-soft);border-color:var(--accent-line)}
.tgl input:checked ~ .knob{transform:translateX(18px);background:var(--accent-b)}
.tgl input:focus-visible ~ .track{box-shadow:0 0 0 3px rgba(230,57,70,.25)}

/* опасная зона */
.cab-card.danger-zone{border-color:rgba(200,30,30,.3)}
.cab-card.danger-zone:hover{border-color:rgba(200,30,30,.45)}
.cab-card.danger-zone > h3{color:#ff8080}
.danger-note a{color:var(--accent-b)}
.danger-note a:hover{text-decoration:underline}
.del-warn{background:rgba(180,30,30,.12);border:1px solid rgba(200,30,30,.3);border-radius:12px;
  padding:14px 16px;font-size:13px;color:#ffb0b0;line-height:1.6;margin-bottom:18px}

/* индикатор надёжности пароля */
.pw-strength{margin:0 0 14px}
.pw-strength .track{height:5px;border-radius:3px;background:rgba(255,255,255,.08);overflow:hidden}
.pw-strength .bar{height:100%;width:0;border-radius:3px;background:var(--text3);
  transition:width .28s ease,background .28s ease}
.pw-strength .lbl{font-size:11.5px;color:var(--text3);margin-top:6px;display:block;min-height:14px}
.pw-strength[data-lvl="1"] .bar{width:34%;background:#e5484d}
.pw-strength[data-lvl="2"] .bar{width:67%;background:var(--beta)}
.pw-strength[data-lvl="3"] .bar{width:100%;background:var(--live)}

/* поле пароля с «глазом» (свой контрол; прячем нативный eye Edge/IE) */
.form-input::-ms-reveal,.form-input::-ms-clear{display:none}
.pw-field{position:relative}
.pw-field .form-input{padding-right:46px}
.pw-eye{position:absolute;top:50%;right:8px;transform:translateY(-50%);background:none;border:none;
  color:var(--text3);cursor:pointer;padding:6px;border-radius:8px;display:inline-grid;
  place-items:center;transition:color .18s}
.pw-eye:hover{color:var(--text)}
.pw-eye.on{color:var(--accent-b)}
.pw-eye svg{width:18px;height:18px}

/* инлайн-ссылка (забыли пароль / нет пароля) */
.link-inline{background:none;border:none;color:var(--accent-b);font-size:12.5px;font-weight:600;
  cursor:pointer;padding:0;font-family:inherit;text-align:center}
.link-inline:hover{text-decoration:underline}
.auth-forgot-row{display:flex;justify-content:flex-end;margin:-8px 0 14px}

/* ════════════════════════════════════════════════════════════════════
   ПОД-СТРАНИЦЫ: Интеграции + Партнёрская программа (partner.js)
   ════════════════════════════════════════════════════════════════════ */
.integrations-page{max-width:900px;margin:0 auto}
.integrations-page .ad-back{text-decoration:none}
.integrations-page .ad-hero{margin-top:2px}
.integrations-page .ad-hero-ico svg{width:34px;height:34px}
.integrations-page .info-grid{grid-template-columns:repeat(2,1fr);max-width:720px;margin-top:2px}
.integrations-note{margin:6px 0 0;padding:14px 16px;border-radius:12px;background:var(--glass2);
  border:1px solid var(--line);color:var(--text2);font-size:13.5px;line-height:1.6}
.integrations-cta{max-width:420px;margin:30px auto 0;text-align:center}
.integrations-cta-alt{margin-top:14px;color:var(--text3);font-size:13px}
.integrations-cta-alt a{color:var(--accent-b);font-weight:600}
.integrations-cta-alt a:hover{text-decoration:underline}

.partner-page{max-width:900px;margin:0 auto}
.partner-page .ad-back{text-decoration:none;display:inline-block;margin-bottom:6px}
.pp-check{display:flex;gap:10px;align-items:flex-start;margin:9px 0;cursor:pointer;
  font-size:13.5px;color:var(--text2);line-height:1.5}
.pp-check input{margin-top:3px;flex-shrink:0}
.pp-check a{color:var(--accent-b)}
.pp-msg{font-size:13px;color:var(--text3);margin:6px 0}
.pp-msg.err{color:#ff6b6b}
.pp-linkrow{display:flex;gap:8px;align-items:center}
.pp-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:720px;margin:20px auto 0}
.pp-stat{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px 12px;text-align:center}
.pp-stat .v{font-size:22px;font-weight:800;color:var(--text);line-height:1.1}
.pp-stat .k{font-size:12px;color:var(--text2);margin-top:5px}
.pp-stat.accent{border-color:var(--accent-line);box-shadow:0 0 0 1px rgba(230,57,70,.18)}
.pp-stat.accent .v{color:var(--accent-b)}
.pp-cards2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;max-width:720px;margin:18px auto 0}

/* ════════════════════════════════════════════════════════════════════
   АДАПТИВ: шкала 1080 / 920 / 760 / 600 / 420
   ════════════════════════════════════════════════════════════════════ */
@media (max-width:1080px){
  .prod-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:920px){
  .topbar{padding:0 16px;gap:4px}
  .tp-tabs{margin-left:8px;gap:0}
  .tp-lbl{display:none}
  .tp-tab{padding:9px 11px}
  .info-grid.cols4{grid-template-columns:repeat(2,1fr)}
  .app-detail-grid{grid-template-columns:1fr}
  .ad-rail{position:static;flex-direction:row;flex-wrap:wrap}
  .ad-rail-card{flex:1;min-width:240px}
}
@media (max-width:760px){
  .wrap{padding:0 18px}
  .tp-tabs{display:none}
  body{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}
  #global-info{bottom:calc(76px + env(safe-area-inset-bottom,0px))}
  .hero{padding:64px 0 18px}
  .hf-orbit,.hf-hz{display:none}
  .hf-glow{opacity:.55}
  .section{padding:40px 0}
  .prod-grid{grid-template-columns:repeat(2,1fr)}
  .news-preview{grid-template-columns:1fr}
  .info-grid,.info-grid.cols4{grid-template-columns:1fr}
  .integrations-page .info-grid{grid-template-columns:1fr}
  .price-grid{grid-template-columns:1fr}
  .pt-pro-grid{grid-template-columns:1fr}
  .pt-scrollhint{display:flex}
  .core-banner{flex-wrap:wrap}
  .core-foot{width:100%;justify-content:space-between}
  #tab-app{padding:28px 16px 60px}
  .ad-shots{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
  .pp-stats{grid-template-columns:repeat(2,1fr)}
  .pp-cards2{grid-template-columns:1fr}
  .cab{max-width:none}
  .cab-card{padding:20px 18px}
  .cab-profile{gap:14px}
  .cab-avatar-xl{width:60px;height:60px;font-size:26px}
  .cab-name-edit .form-input{max-width:none;flex:1 1 100%}

  /* фиксированная нижняя навигация */
  .mnav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:1300;gap:2px;
    padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px));
    background:var(--glass);backdrop-filter:var(--blur);border-top:1px solid var(--line)}
  .mnav-btn{flex:1 1 0;min-width:0;min-height:50px;display:flex;flex-direction:column;
    align-items:center;justify-content:center;gap:4px;padding:6px 2px;border:none;
    border-radius:11px;background:transparent;color:var(--text2);font-size:10px;
    font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent;
    transition:color .2s ease,background .2s ease}
  .mnav-ic{width:23px;height:23px;display:grid;place-items:center;transition:transform .2s ease,filter .2s ease}
  .mnav-ic svg{width:100%;height:100%}
  .mnav-lbl{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mnav-btn:active{background:rgba(255,255,255,.05)}
  .mnav-btn.active{color:var(--accent-b)}
  .mnav-btn.active .mnav-ic{transform:translateY(-1px);filter:drop-shadow(0 0 5px rgba(230,57,70,.7))}
}
@media (max-width:600px){
  .prod-grid{grid-template-columns:repeat(2,1fr)}
  .hero h1{font-size:clamp(28px,7vw,38px)}
  #user-info{display:none}
  .pt-table th,.pt-table td{padding:18px 10px 11px}
  .pt-table tbody td,.pt-table tbody th{padding:13px 10px}
  .pt-table tbody td{font-size:16px}
  .cl-entry{grid-template-columns:1fr}
  .cl-date{text-align:left;padding:0;font-size:12.5px;order:-1}
  .cl-body{padding:20px 0;border-left:none}
  .cl-body::before{display:none}
  .cl-entry:not(:first-child) .cl-body{border-top:1px solid var(--line)}
  .cl-entry:first-child .cl-date{padding-top:0}
  .cl-head{margin-top:12px}
  .head-row{flex-direction:column;align-items:flex-start;gap:14px}
  .pp-stats{grid-template-columns:1fr}
  .ad-hero-ico{width:56px;height:56px;border-radius:15px}
}
@media (max-width:420px){
  .prod-grid{grid-template-columns:1fr}
  .tp-brand{font-size:17px}
  .btn{padding:9px 14px}
  .ad-name{font-size:21px}
}
@media (max-width:380px){
  .tp-actions .btn-primary{padding:9px 13px}
}

/* ── prefers-reduced-motion: всё статично ── */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important;transition:none !important}
  html{scroll-behavior:auto}
  .reveal{opacity:1 !important;transform:none !important}
  .tab-panel.active{animation:none}
  .tp-brand:hover span{animation:none}
  .core-banner::before{background:linear-gradient(135deg,var(--accent-line),transparent 60%)}
}
