/* ============================================================
   Website assistant (chat widget). Uses the tokens from site.css.
   ============================================================ */
.nka{position:fixed;right:22px;bottom:22px;z-index:95;display:flex;flex-direction:column;align-items:flex-end;gap:12px;font-family:var(--font-sans);pointer-events:none}
.nka > *{pointer-events:auto}
.nka-teaser,.nka-panel{order:1}
.nka-launch{order:2}
.nka-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

.nka-launch{
  display:flex;align-items:center;gap:10px;padding:12px 20px 12px 14px;border-radius:var(--radius-pill);
  background:var(--ink-950);color:#fff;font:600 14px/1 var(--font-sans);
  box-shadow:0 14px 34px -12px rgba(13,17,23,.55);transition:background-color .3s,transform .4s var(--ease-out);
}
.nka-launch:hover{background:var(--accent);transform:translateY(-2px)}
.nka-launch-ic{width:30px;height:30px;border-radius:50%;background:var(--accent);display:grid;place-items:center}
.nka-launch:hover .nka-launch-ic{background:var(--ink-950)}
.nka-launch-ic svg{width:17px;height:17px}
.nka.is-open .nka-launch-t{display:none}
.nka.is-open .nka-launch{padding:12px}

.nka-teaser{
  position:relative;max-width:290px;padding:18px 20px;border-radius:16px 16px 4px 16px;background:#fff;
  border:1px solid var(--border-light);box-shadow:var(--shadow-md);animation:nkaIn .5s var(--ease-out);
}
.nka-teaser p{font:var(--text-body-sm);color:var(--text-secondary-light);padding-right:12px}
.nka-teaser p strong{color:var(--text-primary-light)}
.nka-teaser-go{margin-top:12px;font:var(--text-caption);color:var(--accent)}
.nka-teaser-go:hover{text-decoration:underline}
.nka-teaser-x{position:absolute;top:6px;right:8px;width:26px;height:26px;font-size:20px;line-height:1;color:var(--text-muted-light)}

.nka-panel{
  width:380px;max-width:calc(100vw - 32px);height:min(600px,calc(100vh - 120px));
  display:flex;flex-direction:column;background:#fff;border-radius:18px;overflow:hidden;
  border:1px solid var(--border-light);box-shadow:0 30px 70px -20px rgba(13,17,23,.35);animation:nkaIn .4s var(--ease-out);
}
.nka-panel[hidden],.nka-teaser[hidden]{display:none}
@keyframes nkaIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}

.nka-head{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--ink-950);color:#fff}
.nka-head img{width:38px;height:38px;border-radius:50%;object-fit:cover;background:var(--ink-800)}
.nka-head div{flex:1;min-width:0}
.nka-title{font:600 15px/1.2 var(--font-sans)}
.nka-sub{font:12px/1.3 var(--font-sans);color:var(--text-muted-dark);display:flex;align-items:center;gap:6px;margin-top:3px}
.nka-sub .dot{width:6px;height:6px}
.nka-close{width:32px;height:32px;border-radius:8px;color:#fff;font-size:24px;line-height:1}
.nka-close:hover{background:var(--ink-800)}

.nka-log{flex:1;overflow-y:auto;padding:18px 16px;display:flex;flex-direction:column;gap:10px;background:var(--canvas-100);overscroll-behavior:contain}
.nka-msg{max-width:86%;padding:11px 14px;border-radius:14px;font:14px/1.5 var(--font-sans);word-wrap:break-word}
.nka-msg p + p,.nka-msg p + ul,.nka-msg ul + p{margin-top:.5em}
.nka-msg ul{padding-left:1.1em}
.nka-msg a{text-decoration:underline;text-underline-offset:2px}
.nka-msg--bot{align-self:flex-start;background:#fff;color:var(--text-primary-light);border:1px solid var(--border-light);border-bottom-left-radius:4px}
.nka-msg--bot a{color:var(--accent)}
.nka-msg--user{align-self:flex-end;background:var(--accent);color:#fff;border-bottom-right-radius:4px}
.nka-msg--err{border-color:#f3c5c0;background:#fff8f7}
.nka-typing{display:flex;gap:4px;padding:14px}
.nka-typing span{width:6px;height:6px;border-radius:50%;background:var(--text-muted-light);animation:nkaDot 1.2s infinite}
.nka-typing span:nth-child(2){animation-delay:.15s}
.nka-typing span:nth-child(3){animation-delay:.3s}
@keyframes nkaDot{0%,60%,100%{opacity:.3;transform:none}30%{opacity:1;transform:translateY(-3px)}}

.nka-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 16px;background:var(--canvas-100)}
.nka-chips:not(:empty){padding-bottom:12px}
.nka-chips button{font:500 13px/1.3 var(--font-sans);text-align:left;padding:8px 12px;border-radius:12px;background:#fff;border:1px solid var(--accent-soft);color:var(--accent);transition:background-color .2s,color .2s}
.nka-chips button:hover{background:var(--accent);color:#fff}

.nka-form{display:flex;align-items:flex-end;gap:8px;padding:12px;border-top:1px solid var(--border-light)}
.nka-form textarea{flex:1;resize:none;font:14px/1.45 var(--font-sans);padding:10px 12px;border-radius:12px;border:1px solid var(--canvas-200);max-height:120px;color:var(--text-primary-light)}
.nka-form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.nka-send{width:40px;height:40px;border-radius:12px;background:var(--ink-950);color:#fff;display:grid;place-items:center;flex:none}
.nka-send:hover{background:var(--accent)}
.nka-send:disabled{opacity:.5;cursor:wait}
.nka-send svg{width:18px;height:18px}
.nka-foot{padding:0 14px 12px;font:11.5px/1.4 var(--font-sans);color:var(--text-muted-light)}
.nka-foot a{color:var(--accent)}

@media (max-width:560px){
  .nka{right:14px;bottom:14px;left:14px}
  .nka-launch-t{display:none}
  .nka-launch{padding:12px}
  .nka-panel{width:100%;max-width:none;height:calc(100vh - 100px);height:calc(100dvh - 100px)}
  .nka-form textarea{font-size:16px}
  .nka-teaser{max-width:none}
  .nka.is-open{top:14px}
  .nka.is-open .nka-panel{flex:1;height:auto}
}
@media (prefers-reduced-motion:reduce){
  .nka-panel,.nka-teaser{animation:none}
  .nka-typing span{animation:none;opacity:.6}
}
@media print{ .nka{display:none} }
