/* ВЫШКА · ЖИВАЯ СИСТЕМА (vyshka-life.css) — единый цветовой закон + пульсация
   Подключается на всех сервисах. Всё аддитивно, ничего не ломает вёрстку.
   Уважает prefers-reduced-motion. Версия: 20260828-life1 */

:root{
  --vy-bg:#f6f8fc; --vy-surface:#ffffff; --vy-ink:#0f172a; --vy-mut:#5b6b83;
  --vy-accent:#1a56db; --vy-accent-2:#0ea86a; --vy-warn:#f59e0b; --vy-danger:#e11d48;
  --vy-live:#12b76a;
}
html{scroll-behavior:smooth}
body{position:relative}
/* дыхание фона: медленный живой градиент позади всего контента */
body::before{
  content:"";position:fixed;inset:-20%;z-index:-1;pointer-events:none;
  background:
    radial-gradient(38% 32% at 18% 12%, rgba(26,86,219,.075), transparent 60%),
    radial-gradient(34% 30% at 84% 22%, rgba(14,168,106,.06), transparent 60%),
    radial-gradient(40% 36% at 50% 95%, rgba(26,86,219,.05), transparent 65%);
  animation:vy-breathe 16s ease-in-out infinite;
}
@keyframes vy-breathe{
  0%,100%{transform:translate3d(0,0,0) scale(1);opacity:.85}
  50%{transform:translate3d(1.5%,-1.5%,0) scale(1.06);opacity:1}
}
/* живое свечение ссылок-кнопок и карточек */
a[class*="btn"]:not([disabled]),button[class*="btn"]:not([disabled]),.btn,.button{
  transition:transform .18s ease,box-shadow .25s ease,filter .18s ease;
}
a[class*="btn"]:hover:not([disabled]),button[class*="btn"]:hover:not([disabled]),.btn:hover,.button:hover{
  transform:translateY(-1px);
}
.card,.svc,.pos,article{transition:transform .2s ease,box-shadow .25s ease}
.card:hover,.svc:hover,article:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(15,23,42,.09)}
/* пульс живых бейджей/тегов */
.tag,.badge,.st,[class*="live" i],[class*="LIVE"]{position:relative}
.tag::before,.badge::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;
  background:var(--vy-live);margin-right:6px;vertical-align:1px;
  box-shadow:0 0 0 0 rgba(18,183,106,.55);animation:vy-pulse 2.2s ease-out infinite}
@keyframes vy-pulse{
  0%{box-shadow:0 0 0 0 rgba(18,183,106,.5)}
  70%{box-shadow:0 0 0 8px rgba(18,183,106,0)}
  100%{box-shadow:0 0 0 0 rgba(18,183,106,0)}
}
/* аврора-заголовки: градиент, который медленно переливается */
h1 span[data-vy-accent],h1 em,.vy-accent-text{
  background:linear-gradient(100deg,#1a56db,#0ea86a,#1a56db);
  background-size:220% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;
  animation:vy-flow 9s ease-in-out infinite;
}
@keyframes vy-flow{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
/* появление блоков при прокрутке (класс вешает vyshka-life.js) */
.vy-reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
.vy-reveal.vy-in{opacity:1;transform:none}
/* чип «система жива» — рисует vyshka-life.js */
#vy-life-chip{position:fixed;left:14px;bottom:14px;z-index:2147482000;display:flex;gap:8px;align-items:center;
  background:rgba(255,255,255,.92);backdrop-filter:blur(6px);border:1px solid #e6ebf3;border-radius:999px;
  padding:7px 13px;font:600 12.5px/1 -apple-system,'Segoe UI',Roboto,Arial,sans-serif;color:var(--vy-ink);
  text-decoration:none;box-shadow:0 8px 24px rgba(15,23,42,.12);transition:transform .18s ease}
#vy-life-chip:hover{transform:translateY(-2px)}
#vy-life-chip .vy-dot{width:8px;height:8px;border-radius:50%;background:var(--vy-live);
  box-shadow:0 0 0 0 rgba(18,183,106,.5);animation:vy-pulse 2.2s ease-out infinite}
@media(max-width:560px){#vy-life-chip{left:10px;bottom:10px;padding:6px 10px;font-size:11.5px}}
/* уважение к reduced-motion */
@media(prefers-reduced-motion:reduce){
  body::before{animation:none}
  .vy-reveal{opacity:1;transform:none;transition:none}
  .tag::before,.badge::before,#vy-life-chip .vy-dot{animation:none}
  h1 span[data-vy-accent],h1 em,.vy-accent-text{animation:none}
}
