/* ==========================================================================
   ИИ-консультант «Нейросмена» — виджет чата
   Дизайн-система сайта bizness-ai.ru (Vodafone-система, V12):
   алый #e60000 (единственный акцент) · ink #25282b · canvas #fff · soft #f2f2f2
   кнопки-таблетки · чипы 32px · карточки 6px · без теней, глубина = полярность
   ========================================================================== */
:root{
  --nc-red:#e60000; --nc-red-deep:#c20000; --nc-ink:#25282b; --nc-canvas:#fff;
  --nc-soft:#f2f2f2; --nc-body:#7e7e7e; --nc-mute:#bebebe; --nc-line:rgba(37,40,43,.16);
  --nc-radius:6px; --nc-chip:32px; --nc-pill:60px;
  --nc-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Ubuntu,"Helvetica Neue",Arial,sans-serif;
  --nc-ease:cubic-bezier(.16,1,.3,1);
}
#nc-root{position:fixed;right:22px;bottom:calc(22px + var(--nc-extra,0px));z-index:2147483000;font-family:var(--nc-font);font-size:16px;line-height:1.5;color:var(--nc-ink)}
#nc-root *{box-sizing:border-box}

/* ---- Кнопка-лаунчер ---- */
.nc-launcher{
  width:var(--nc-pill);height:var(--nc-pill);border-radius:50%;border:0;cursor:pointer;
  background:var(--nc-red);color:#fff;display:flex;align-items:center;justify-content:center;
  transition:background-color .15s,transform .15s var(--nc-ease);
}
.nc-launcher:hover{background:var(--nc-red-deep)}
.nc-launcher:active{transform:scale(.96)}
.nc-launcher svg{width:26px;height:26px}
.nc-launcher.nc-hidden{display:none}
.nc-launcher::after{
  content:"";position:absolute;width:var(--nc-pill);height:var(--nc-pill);border-radius:50%;
  box-shadow:0 0 0 0 rgba(230,0,0,.45);animation:nc-pulse 2.6s ease-out infinite;pointer-events:none;
}
@keyframes nc-pulse{0%{box-shadow:0 0 0 0 rgba(230,0,0,.4)}70%{box-shadow:0 0 0 16px rgba(230,0,0,0)}100%{box-shadow:0 0 0 0 rgba(230,0,0,0)}}
@media (prefers-reduced-motion:reduce){.nc-launcher::after{animation:none}}
.nc-launcher .nc-dot{position:absolute;top:2px;right:2px;width:13px;height:13px;border-radius:50%;background:#fff;border:3px solid var(--nc-ink)}

/* ---- Панель ---- */
.nc-panel{
  position:absolute;right:0;bottom:78px;width:420px;max-width:calc(100vw - 32px);
  height:min(78vh,660px);
  /* окно никогда не вылезает за верх экрана, даже если снизу висит cookie-плашка */
  max-height:calc(100vh - 112px - var(--nc-extra,0px));
  padding:0;margin:0;
  background:var(--nc-canvas);border:1px solid var(--nc-line);border-radius:var(--nc-radius);
  display:flex;flex-direction:column;overflow:hidden;
  opacity:0;transform:translateY(14px) scale(.98);pointer-events:none;
  transition:opacity .22s var(--nc-ease),transform .22s var(--nc-ease);
}
.nc-panel.nc-open{opacity:1;transform:none;pointer-events:auto}

/* шапка — ink-полоса */
.nc-head{background:var(--nc-ink);color:#fff;padding:15px 18px;display:flex;align-items:center;gap:11px;flex:none}
.nc-orb{width:26px;height:26px;border-radius:var(--nc-radius);background:var(--nc-red);position:relative;flex:none}
.nc-orb::after{content:"";position:absolute;inset:7px;background:#fff;clip-path:polygon(0 100%,100% 0,100% 100%)}
.nc-head .nc-t{flex:1;min-width:0}
.nc-head b{display:block;font-weight:800;font-size:15px;letter-spacing:.04em;text-transform:uppercase}
.nc-head b i{font-style:normal;color:#ff5346;text-shadow:0 0 8px rgba(230,0,0,.8),0 0 24px rgba(230,0,0,.45)}
.nc-head span{display:block;font-size:12.5px;color:rgba(255,255,255,.68);margin-top:2px}
.nc-close{background:transparent;border:0;color:#fff;cursor:pointer;padding:6px;border-radius:var(--nc-chip);opacity:.8}
.nc-close:hover{opacity:1;background:rgba(255,255,255,.12)}
.nc-close svg{width:18px;height:18px;display:block}

/* лента сообщений */
.nc-log{flex:1;min-height:0;overflow-y:auto;padding:18px 16px;display:flex;flex-direction:column;gap:10px;background:var(--nc-canvas)}
.nc-log::-webkit-scrollbar{width:8px}
.nc-log::-webkit-scrollbar-thumb{background:var(--nc-line);border-radius:8px}
.nc-msg{max-width:84%;padding:11px 14px;border-radius:12px;font-size:15px;white-space:pre-wrap;word-wrap:break-word}
.nc-msg.nc-bot{background:var(--nc-soft);color:var(--nc-ink);border-bottom-left-radius:4px;align-self:flex-start}
.nc-msg.nc-user{background:var(--nc-red);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}
.nc-msg.nc-note{align-self:center;max-width:92%;background:transparent;border:1px dashed var(--nc-line);color:var(--nc-body);font-size:13.5px;text-align:center;border-radius:var(--nc-radius)}
.nc-msg a{color:inherit;font-weight:600}

/* индикатор набора */
.nc-typing{align-self:flex-start;display:flex;gap:5px;padding:13px 15px;background:var(--nc-soft);border-radius:12px;border-bottom-left-radius:4px}
.nc-typing i{width:7px;height:7px;border-radius:50%;background:var(--nc-mute);animation:nc-blink 1.2s infinite}
.nc-typing i:nth-child(2){animation-delay:.2s}
.nc-typing i:nth-child(3){animation-delay:.4s}
@keyframes nc-blink{0%,60%,100%{opacity:.35}30%{opacity:1}}

/* чипы быстрых вопросов */
.nc-chips{display:flex;gap:8px;flex-wrap:wrap;padding:0 16px 10px;background:var(--nc-canvas)}
.nc-chips button{
  border:1px solid var(--nc-line);background:#fff;color:var(--nc-ink);cursor:pointer;
  height:var(--nc-chip);padding:0 14px;border-radius:var(--nc-chip);font-size:13.5px;font-family:inherit;
  transition:border-color .15s,color .15s;
}
.nc-chips button:hover{border-color:var(--nc-red);color:var(--nc-red)}

/* ---- Ввод: поле растянуто по всей ширине окна ---- */
.nc-foot{position:relative;border-top:1px solid var(--nc-line);padding:12px;background:#fff;flex:none}
.nc-input{
  display:block;width:100%;resize:none;border:1px solid var(--nc-line);border-radius:var(--nc-radius);
  padding:13px 64px 13px 14px;font-family:inherit;font-size:15px;line-height:1.45;
  min-height:96px;max-height:min(44vh,400px);color:var(--nc-ink);overflow-y:auto;
}
.nc-input:focus{outline:none;border-color:var(--nc-red)}
.nc-send{
  position:absolute;right:22px;bottom:22px;width:44px;height:44px;
  border:0;border-radius:50%;background:var(--nc-red);color:#fff;cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:background-color .15s;
}
.nc-send:hover{background:var(--nc-red-deep)}
.nc-send:disabled{background:var(--nc-mute);cursor:default}
.nc-send svg{width:20px;height:20px}
.nc-disclaim{padding:0 16px 12px;font-size:11.5px;color:var(--nc-mute);text-align:center;background:#fff;flex:none}

@media (max-width:480px){
  #nc-root{right:14px;bottom:calc(14px + var(--nc-extra,0px))}
  .nc-panel{right:-4px;width:calc(100vw - 24px);height:min(80vh,660px);bottom:74px;max-height:calc(100vh - 100px - var(--nc-extra,0px))}
  .nc-input{min-height:88px}
}
