/* Робот-помощник — окно чата в стиле IRAKUSA (тёмное стекло, изумрудный неон).
   Панель всегда тёмная: это фирменный элемент, он не следует светлой теме страницы.
   Скрипт: /assets/js/robot-chat.js. Вставляется на страницы через nginx (sub_filter). */
.bt-root{--bt-bg-top:#04110b;--bt-bg-bottom:#010403;--bt-accent:#2ee59d;--bt-neon:#3dffa8;
  --bt-ink:#02150c;--bt-text:#eaf6ef;--bt-muted:#9db8aa;--bt-dim:#6a877a;
  --bt-line:rgba(110,255,185,.16);--bt-card:rgba(14,38,27,.72);--bt-warn:#f3c55b;
  --bt-display:Unbounded,Manrope,"Segoe UI",sans-serif;--bt-body:Manrope,"Segoe UI",system-ui,sans-serif;
  --bt-mono:"JetBrains Mono",ui-monospace,Consolas,monospace;
  position:fixed;right:max(18px,env(safe-area-inset-right,0px));
  bottom:calc(var(--ik-tabbar,0px) + 18px + env(safe-area-inset-bottom,0px));
  z-index:940;font:500 15px/1.5 var(--bt-body);color:var(--bt-text);-webkit-font-smoothing:antialiased}
.bt-root *,.bt-root *::before,.bt-root *::after{box-sizing:border-box}

/* ---------- пиксельный робот ---------- */
.bt-bot{display:block;shape-rendering:crispEdges;overflow:visible}
.bt-bot .k{fill:#2a3431}.bt-bot .g{fill:#8c9894}.bt-bot .l{fill:#c3ccc8}.bt-bot .s{fill:#06231a}
.bt-bot .e{fill:var(--bt-neon)}.bt-bot .d{fill:#5f6b67}
.bt-bot .arm{transform-box:fill-box;transform-origin:0% 100%;animation:bt-wave 2.6s ease-in-out infinite}
.bt-bot .bl{transform-box:fill-box;transform-origin:50% 50%;animation:bt-blink 4.8s steps(1) infinite}
.bt-bot .ant{animation:bt-ant 1.6s steps(1) infinite}
.bt-bot .r{fill:#ff4d5e}.bt-bot .h{fill:#ff6b81}.bt-bot .z{fill:#c3ccc8}.bt-bot .t{fill:#6cc4ff}

/* эмоции: у каждой детали свой класс f-<эмоция>, видна та, что в data-mood */
.bt-bot .x{display:none}
.bt-bot[data-mood=hello] .f-hello,.bt-bot[data-mood=think] .f-think,.bt-bot[data-mood=happy] .f-happy,
.bt-bot[data-mood=wink] .f-wink,.bt-bot[data-mood=love] .f-love,.bt-bot[data-mood=wow] .f-wow,
.bt-bot[data-mood=sad] .f-sad,.bt-bot[data-mood=angry] .f-angry,.bt-bot[data-mood=sleep] .f-sleep,
.bt-bot[data-mood=dizzy] .f-dizzy,.bt-bot[data-mood=laugh] .f-laugh,.bt-bot[data-mood=awkward] .f-awkward,
.bt-bot[data-mood=cool] .f-cool{display:inline}
.bt-bot[data-mood=angry] .s{fill:#2a070c}
.bt-bot[data-mood=sleep] .s{fill:#041810}
.bt-bot .fx{animation:bt-float 1.8s ease-in-out infinite}
.bt-bot .fx.spin{transform-box:fill-box;transform-origin:50% 50%;animation:bt-spin 1.4s linear infinite}
.bt-bot[data-mood=sleep] .fx{animation-duration:3.2s}
.bt-bot[data-mood=sad] .fx,.bt-bot[data-mood=laugh] .fx{animation:bt-tear 2.2s ease-in infinite}
.bt-bot[data-mood=laugh] .fx{animation-duration:1.1s}
.bt-bot[data-mood=awkward] .fx{animation:bt-tear 2.6s ease-in infinite}
.bt-bot[data-mood=cool] .fx{animation:bt-twinkle 1.6s steps(1) infinite}
.bt-bot.pop{animation:bt-pop .42s cubic-bezier(.3,1.6,.5,1)}
.bt-bot.pop[data-mood=angry]{animation:bt-shake .45s linear 2}
.bt-bot.pop[data-mood=sleep]{animation:none}
.bt-bot.pop[data-mood=laugh]{animation:bt-hop .32s ease-out 3}
@keyframes bt-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-1px)}}
@keyframes bt-spin{to{transform:rotate(360deg)}}
@keyframes bt-tear{0%{transform:translateY(-1px);opacity:0}25%{opacity:1}100%{transform:translateY(3px);opacity:0}}
@keyframes bt-pop{0%{transform:scale(.86)}100%{transform:scale(1)}}
@keyframes bt-hop{0%,100%{transform:translateY(0)}45%{transform:translateY(-3px)}}
@keyframes bt-twinkle{0%,60%{opacity:1}61%,80%{opacity:.25}81%,100%{opacity:1}}
@keyframes bt-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-2px)}75%{transform:translateX(2px)}}
@keyframes bt-wave{0%,55%,100%{transform:rotate(0)}62%{transform:rotate(-16deg)}70%{transform:rotate(10deg)}
  78%{transform:rotate(-16deg)}86%{transform:rotate(6deg)}}
@keyframes bt-blink{0%,93%{transform:scaleY(1)}94%,97%{transform:scaleY(.15)}98%{transform:scaleY(1)}}
@keyframes bt-ant{0%,50%{fill:var(--bt-neon)}51%,100%{fill:#1c7a52}}

/* ---------- кнопка запуска ---------- */
.bt-launch{position:relative;display:flex;align-items:center;gap:10px;height:64px;padding:0 18px 0 8px;
  border:1px solid rgba(61,255,168,.42);border-radius:20px;cursor:pointer;color:var(--bt-text);
  background:linear-gradient(180deg,rgba(14,38,27,.94),rgba(3,12,8,.96));
  box-shadow:0 10px 34px rgba(0,0,0,.45),0 0 0 1px rgba(0,0,0,.4),0 0 26px rgba(61,255,168,.18);
  font:700 13px/1.15 var(--bt-display);letter-spacing:.02em;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.bt-launch:hover{transform:translateY(-2px);border-color:var(--bt-neon);
  box-shadow:0 14px 38px rgba(0,0,0,.5),0 0 34px rgba(61,255,168,.32)}
.bt-launch:focus-visible{outline:2px solid var(--bt-neon);outline-offset:3px}
.bt-launch .bt-bot{width:50px;height:50px}
.bt-launch small{display:block;margin-top:3px;font:500 11px/1 var(--bt-mono);letter-spacing:.14em;
  text-transform:uppercase;color:var(--bt-neon);text-shadow:0 0 10px rgba(61,255,168,.55)}
.bt-launch::after{content:"";position:absolute;top:9px;right:9px;width:8px;height:8px;border-radius:50%;
  background:var(--bt-neon);box-shadow:0 0 10px var(--bt-neon);animation:bt-pulse 2.4s ease-in-out infinite}
@keyframes bt-pulse{0%,100%{opacity:1}50%{opacity:.35}}
.bt-root.is-open .bt-launch{display:none}
/* первая плашка «Светлая или тёмная?» (theme.js) стоит в том же углу — пока она на экране, кнопку не показываем */
body:has(.ik-ask) .bt-root:not(.is-open){visibility:hidden}

/* ---------- панель ---------- */
.bt-panel{position:absolute;right:0;bottom:0;display:flex;flex-direction:column;
  width:min(400px,calc(100vw - 36px));height:min(620px,calc(100vh - 36px - var(--ik-tabbar,0px)));height:min(620px,calc(100dvh - 36px - var(--ik-tabbar,0px)));
  border:1px solid var(--bt-line);border-radius:22px;overflow:hidden;
  background:radial-gradient(120% 60% at 50% -10%,rgba(46,229,157,.17),transparent 60%),
    linear-gradient(180deg,var(--bt-bg-top),var(--bt-bg-bottom));
  box-shadow:0 24px 70px rgba(0,0,0,.6),0 0 0 1px rgba(0,0,0,.5),0 0 40px rgba(61,255,168,.12);
  animation:bt-rise .26s cubic-bezier(.2,.8,.2,1) backwards}
.bt-panel[hidden]{display:none}
.bt-panel::before{content:"";position:absolute;left:18%;right:18%;top:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--bt-neon),transparent);opacity:.8}
@keyframes bt-rise{from{opacity:0;transform:translateY(14px) scale(.98)}}

.bt-head{display:flex;align-items:center;gap:12px;padding:14px 14px 12px 16px;border-bottom:1px solid var(--bt-line)}
.bt-head .bt-bot{width:48px;height:48px;flex:none}
.bt-head b{display:block;font:700 16px/1.2 var(--bt-display);letter-spacing:.04em}
.bt-head span{display:block;margin-top:3px;font:500 11px/1.3 var(--bt-mono);letter-spacing:.08em;color:var(--bt-muted)}
.bt-head span i{font-style:normal;color:var(--bt-neon)}
.bt-close{margin-left:auto;flex:none;width:38px;height:38px;border:1px solid var(--bt-line);border-radius:12px;
  background:rgba(255,255,255,.03);color:var(--bt-muted);cursor:pointer;display:grid;place-items:center}
.bt-close:hover{color:var(--bt-text);border-color:rgba(61,255,168,.4)}
.bt-close:focus-visible{outline:2px solid var(--bt-neon);outline-offset:2px}
.bt-close svg{width:16px;height:16px;stroke:currentColor;stroke-width:2;fill:none}

.bt-log{flex:1;overflow-y:auto;padding:16px 14px 8px;display:flex;flex-direction:column;gap:10px;
  scrollbar-width:thin;scrollbar-color:rgba(61,255,168,.25) transparent;overscroll-behavior:contain}
.bt-msg{max-width:88%;padding:10px 13px;border-radius:16px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14.5px}
.bt-msg.bot{align-self:flex-start;background:var(--bt-card);border:1px solid var(--bt-line);border-bottom-left-radius:6px}
.bt-msg.user{align-self:flex-end;background:linear-gradient(180deg,#34f0a6,#22c985);color:var(--bt-ink);
  border-bottom-right-radius:6px;font-weight:600}
.bt-msg.note{align-self:center;max-width:100%;padding:4px 10px;border-radius:999px;font:500 11.5px/1.4 var(--bt-mono);
  color:var(--bt-muted);background:rgba(255,255,255,.03);border:1px dashed var(--bt-line)}
.bt-msg.warn{border-color:rgba(243,197,91,.35)}
.bt-msg a{color:var(--bt-neon);text-decoration:underline;text-underline-offset:2px}
.bt-think{display:flex;align-items:center;gap:10px;color:var(--bt-muted);font-size:13px}
.bt-think i{display:inline-block;width:6px;height:6px;margin-right:3px;background:var(--bt-neon);
  animation:bt-dot 1s steps(1) infinite}
.bt-think i:nth-child(2){animation-delay:.2s}.bt-think i:nth-child(3){animation-delay:.4s}
@keyframes bt-dot{0%,49%{opacity:1}50%,100%{opacity:.15}}

/* значок темы у ответа: стеклянная плитка, внутри пиксельная картинка 12×12 */
.bt-row{align-self:flex-start;display:flex;align-items:flex-start;gap:8px;max-width:94%}
.bt-row .bt-msg{max-width:none;min-width:0}
.bt-ic{position:relative;flex:none;width:32px;height:32px;display:grid;place-items:center;border-radius:10px;
  border:1px solid rgba(61,255,168,.42);overflow:hidden;
  background:linear-gradient(160deg,rgba(61,255,168,.3),rgba(16,74,48,.55) 55%,rgba(4,22,14,.85));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 0 14px rgba(61,255,168,.16);
  animation:bt-pop .42s cubic-bezier(.3,1.6,.5,1) backwards}
.bt-ic::before{content:"";position:absolute;left:3px;right:3px;top:2px;height:42%;border-radius:8px 8px 14px 14px;
  background:linear-gradient(180deg,rgba(255,255,255,.2),transparent)}
.bt-ic svg{position:relative;width:24px;height:24px;shape-rendering:crispEdges}

.bt-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 10px}
.bt-chips[hidden]{display:none}
.bt-chips button{padding:7px 11px;border:1px solid rgba(61,255,168,.3);border-radius:999px;cursor:pointer;
  background:rgba(46,229,157,.07);color:var(--bt-text);font:600 12.5px/1.2 var(--bt-body)}
.bt-chips button:hover{border-color:var(--bt-neon);background:rgba(46,229,157,.14)}
.bt-chips button:focus-visible{outline:2px solid var(--bt-neon);outline-offset:2px}

.bt-form{position:relative;display:flex;align-items:flex-end;gap:8px;padding:10px 12px 8px;border-top:1px solid var(--bt-line);
  background:rgba(0,0,0,.18)}
.bt-form textarea{flex:1;min-height:44px;max-height:120px;resize:none;padding:11px 13px;border-radius:14px;
  border:1px solid var(--bt-line);background:rgba(255,255,255,.04);color:var(--bt-text);
  font:500 15px/1.4 var(--bt-body)}
.bt-form textarea::placeholder{color:var(--bt-dim)}
.bt-form textarea:focus{outline:none;border-color:rgba(61,255,168,.55);box-shadow:0 0 0 3px rgba(61,255,168,.12)}
.bt-send{flex:none;width:46px;height:46px;border:0;border-radius:14px;cursor:pointer;display:grid;place-items:center;
  background:linear-gradient(180deg,#3dffa8,#1ccb84);color:var(--bt-ink);box-shadow:0 6px 20px rgba(46,229,157,.3)}
.bt-send svg{width:20px;height:20px;fill:currentColor}
.bt-send:disabled{opacity:.45;cursor:default;box-shadow:none}
.bt-send:focus-visible{outline:2px solid var(--bt-text);outline-offset:2px}
.bt-trap{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.bt-foot{display:flex;justify-content:space-between;gap:10px;padding:0 14px 10px;font:500 11px/1.4 var(--bt-body);color:var(--bt-dim)}
.bt-foot .bt-count{font-family:var(--bt-mono);white-space:nowrap}
.bt-foot .bt-count.over{color:var(--bt-warn)}

.bt-vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

@media (max-width:560px){
  .bt-root{right:max(12px,env(safe-area-inset-right,0px));bottom:calc(var(--ik-tabbar,0px) + 12px + env(safe-area-inset-bottom,0px))}
  .bt-launch{height:58px;padding:0 6px;border-radius:18px}
  .bt-launch .bt-label{display:none}
  .bt-launch .bt-bot{width:44px;height:44px}
  .bt-root.is-open{left:8px;right:8px;top:max(8px,env(safe-area-inset-top,0px));bottom:max(8px,env(safe-area-inset-bottom,0px))}
  .bt-panel{position:relative;width:100%;height:100%;border-radius:20px}
  .bt-form textarea{font-size:16px}           /* без автозума iOS */
}
@media (prefers-reduced-motion:reduce){
  .bt-bot .arm,.bt-bot .bl,.bt-bot .ant,.bt-bot .fx,.bt-bot .fx.spin,.bt-ic,
  .bt-bot.pop,.bt-launch::after,.bt-panel,.bt-think i{animation:none!important}
  .bt-launch{transition:none}
}
@media print{.bt-root{display:none}}
