/* Виджет AIfa: цвета берутся из переменных сайта --aifa-a (акцент) и --aifa-b (второй акцент). */
#aifa{--aifa-bg:#0b1020;--aifa-fg:#eef2ff;--aifa-mute:#a9b3d6;font-family:inherit}
.aifa-fab{position:fixed;right:clamp(12px,3vw,28px);bottom:clamp(12px,3vw,28px);z-index:900;display:flex;align-items:center;gap:12px;
  padding:6px 18px 6px 6px;border:1px solid color-mix(in srgb,var(--aifa-a) 55%,transparent);border-radius:999px;cursor:pointer;
  background:color-mix(in srgb,var(--aifa-bg) 88%,transparent);backdrop-filter:blur(12px);color:var(--aifa-fg);
  box-shadow:0 0 0 0 color-mix(in srgb,var(--aifa-a) 60%,transparent),0 12px 40px rgba(0,0,0,.45);animation:aifaPulse 3.2s ease-out infinite;
  min-height:56px;transition:transform .2s ease}
.aifa-fab:hover{transform:translateY(-2px)}
.aifa-fab:focus-visible{outline:3px solid var(--aifa-b);outline-offset:3px}
.aifa-fab video{width:52px;height:52px;border-radius:50%;object-fit:cover;object-position:50% 18%;background:#000;
  box-shadow:0 0 18px color-mix(in srgb,var(--aifa-a) 70%,transparent)}
.aifa-fab-label{font-weight:600;font-size:15px;letter-spacing:.01em}
@keyframes aifaPulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--aifa-a) 55%,transparent),0 12px 40px rgba(0,0,0,.45)}
  70%{box-shadow:0 0 0 16px transparent,0 12px 40px rgba(0,0,0,.45)}100%{box-shadow:0 0 0 0 transparent,0 12px 40px rgba(0,0,0,.45)}}
.aifa-panel{position:fixed;right:clamp(8px,3vw,28px);bottom:clamp(80px,12vh,104px);z-index:901;width:min(420px,calc(100vw - 16px));
  max-height:min(720px,calc(100dvh - 120px));display:flex;flex-direction:column;border-radius:22px;overflow:hidden;color:var(--aifa-fg);
  background:linear-gradient(180deg,color-mix(in srgb,var(--aifa-bg) 96%,var(--aifa-a)),var(--aifa-bg));
  border:1px solid color-mix(in srgb,var(--aifa-a) 40%,transparent);box-shadow:0 30px 80px rgba(0,0,0,.6);animation:aifaIn .22s ease-out}
.aifa-panel[hidden]{display:none}
@keyframes aifaIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
.aifa-head{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:14px 14px 12px;
  border-bottom:1px solid rgba(255,255,255,.08)}
.aifa-portrait{position:relative;width:96px;height:128px;border-radius:16px;overflow:hidden;background:#000;
  box-shadow:0 0 30px color-mix(in srgb,var(--aifa-a) 45%,transparent)}
.aifa-face{width:100%;height:100%;object-fit:cover;object-position:50% 15%}
.aifa-sound{position:absolute;left:4px;right:4px;bottom:4px;font:600 11px/1.2 inherit;padding:6px 4px;border-radius:10px;cursor:pointer;
  border:0;background:color-mix(in srgb,var(--aifa-a) 85%,#000);color:#fff;min-height:28px}
.aifa-sound:focus-visible,.aifa-x:focus-visible,.aifa-send:focus-visible,.aifa-quick button:focus-visible,.aifa-cta a:focus-visible{outline:3px solid var(--aifa-b);outline-offset:2px}
.aifa-titles{display:flex;flex-direction:column;gap:4px;min-width:0}
.aifa-titles strong{font-size:16px}
.aifa-titles span{font-size:13px;color:var(--aifa-mute)}
.aifa-x{width:44px;height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:transparent;color:var(--aifa-fg);
  font-size:24px;cursor:pointer;align-self:start}
.aifa-log{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;min-height:160px;scroll-behavior:smooth}
.aifa-msg{max-width:88%;padding:10px 13px;border-radius:14px;font-size:15px;line-height:1.5;word-wrap:break-word}
.aifa-ai{align-self:flex-start;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08)}
.aifa-me{align-self:flex-end;background:color-mix(in srgb,var(--aifa-a) 78%,#000);color:#fff}
.aifa-msg a{color:var(--aifa-b);text-decoration:underline;word-break:break-all}
.aifa-wait{opacity:.75;font-style:italic}
.aifa-quick{display:flex;flex-wrap:wrap;gap:8px;padding:0 14px 10px}
.aifa-quick button{font:500 13px/1.3 inherit;padding:8px 12px;border-radius:999px;cursor:pointer;color:var(--aifa-fg);min-height:36px;
  background:transparent;border:1px solid color-mix(in srgb,var(--aifa-a) 50%,transparent)}
.aifa-quick button:hover{background:color-mix(in srgb,var(--aifa-a) 18%,transparent)}
.aifa-form{display:flex;gap:8px;padding:10px 14px;border-top:1px solid rgba(255,255,255,.08)}
.aifa-form textarea{flex:1;resize:none;min-height:44px;max-height:140px;padding:11px 12px;border-radius:12px;font:16px/1.4 inherit;
  color:var(--aifa-fg);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16)}
.aifa-form textarea:focus{outline:2px solid var(--aifa-a);outline-offset:1px}
.aifa-send{min-width:88px;min-height:44px;border-radius:12px;border:0;cursor:pointer;font:600 15px inherit;color:#fff;
  background:linear-gradient(135deg,var(--aifa-a),var(--aifa-b))}
.aifa-send:disabled{opacity:.5;cursor:wait}
.aifa-cta{display:flex;gap:8px;padding:0 14px 14px}
.aifa-cta a{flex:1;text-align:center;padding:10px;border-radius:12px;font-weight:600;font-size:14px;text-decoration:none;min-height:44px;
  display:flex;align-items:center;justify-content:center;color:var(--aifa-fg);border:1px solid rgba(255,255,255,.16)}
.aifa-cta a:first-child{background:color-mix(in srgb,var(--aifa-b) 22%,transparent);border-color:var(--aifa-b)}
.aifa-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:520px){.aifa-panel{right:8px;left:8px;width:auto;bottom:76px}.aifa-fab-label{display:none}.aifa-fab{padding:6px}}
@media (prefers-reduced-motion:reduce){.aifa-fab{animation:none}.aifa-panel{animation:none}}
