/* ====================================================================
   KI-Assistent (Chat unten rechts)
   ==================================================================== */
#wmKi{position:fixed;right:22px;bottom:22px;z-index:9000;font-family:Inter,system-ui,sans-serif}
#wmKi:has(.wm-ki-panel.open){z-index:100001}

/* Schwebender Knopf */
.wm-ki-fab{width:58px;height:58px;border-radius:50%;border:0;cursor:pointer;display:grid;place-items:center;color:#fff;background:var(--grad);box-shadow:0 12px 30px -8px rgba(8,145,178,.65),0 0 0 0 rgba(20,184,166,.45);transition:transform .25s cubic-bezier(.2,.8,.2,1.4),box-shadow .25s,opacity .2s;animation:wmKiPuls 3.2s ease-out infinite}
.wm-ki-fab svg{width:26px;height:26px}
.wm-ki-fab:hover{transform:scale(1.07) rotate(-6deg)}
.wm-ki-fab.hidden-fab{opacity:0;transform:scale(.6);pointer-events:none}
@keyframes wmKiPuls{0%{box-shadow:0 12px 30px -8px rgba(8,145,178,.65),0 0 0 0 rgba(20,184,166,.45)}70%{box-shadow:0 12px 30px -8px rgba(8,145,178,.65),0 0 0 16px rgba(20,184,166,0)}100%{box-shadow:0 12px 30px -8px rgba(8,145,178,.65),0 0 0 0 rgba(20,184,166,0)}}

/* Fenster */
.wm-ki-panel{position:absolute;right:0;bottom:0;width:min(400px,calc(100vw - 32px));height:min(600px,calc(100vh - 120px));display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow-xl);overflow:hidden;opacity:0;transform:translateY(16px) scale(.96);transform-origin:bottom right;pointer-events:none;transition:opacity .22s ease,transform .3s cubic-bezier(.2,.8,.2,1)}
.wm-ki-panel.open{opacity:1;transform:none;pointer-events:auto}

.wm-ki-head{display:flex;align-items:center;gap:10px;padding:14px 12px 14px 16px;background:var(--grad);color:#fff}
.wm-ki-avatar{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.18)}
.wm-ki-avatar svg{width:20px;height:20px}
.wm-ki-titel{flex:1;display:flex;flex-direction:column;line-height:1.2}
.wm-ki-titel b{font-family:var(--font-head);font-size:.98rem;letter-spacing:-.01em}
.wm-ki-titel span{font-size:.72rem;opacity:.8}
.wm-ki-x{width:32px;height:32px;border:0;border-radius:10px;background:transparent;color:#fff;cursor:pointer;display:grid;place-items:center;opacity:.85;transition:background .15s,opacity .15s}
.wm-ki-x svg{width:17px;height:17px}
.wm-ki-x:hover{background:rgba(255,255,255,.18);opacity:1}

/* Nachrichten */
.wm-ki-msgs{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:var(--surface-2)}
.wm-ki-msg{max-width:88%;padding:10px 13px;border-radius:16px;font-size:.87rem;line-height:1.5;color:var(--text);position:relative;animation:wmKiIn .28s cubic-bezier(.2,.8,.2,1) both;word-wrap:break-word}
@keyframes wmKiIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.wm-ki-msg p{margin:0 0 6px}.wm-ki-msg p:last-of-type{margin-bottom:0}
.wm-ki-msg ul{margin:4px 0 6px;padding-left:18px;list-style:disc}
.wm-ki-msg li{margin:2px 0}
.wm-ki-msg.me{align-self:flex-end;background:var(--grad);color:#fff;border-bottom-right-radius:5px}
.wm-ki-msg.ai{align-self:flex-start;background:var(--surface);border:1px solid var(--border);border-bottom-left-radius:5px;box-shadow:var(--shadow-xs)}
.wm-ki-msg.err{border-color:rgba(220,38,38,.35);color:var(--danger)}
.wm-ki-copy{display:block;margin-top:6px;padding:0;border:0;background:none;color:var(--accent);font:650 .72rem Inter,sans-serif;cursor:pointer;opacity:.8}
.wm-ki-copy:hover{opacity:1;text-decoration:underline}
.wm-ki-msg.typing{display:flex;gap:4px;padding:13px 14px}
.wm-ki-msg.typing span{width:7px;height:7px;border-radius:50%;background:var(--accent);opacity:.4;animation:wmKiDot 1.1s infinite ease-in-out}
.wm-ki-msg.typing span:nth-child(2){animation-delay:.15s}.wm-ki-msg.typing span:nth-child(3){animation-delay:.3s}
@keyframes wmKiDot{0%,80%,100%{transform:translateY(0);opacity:.35}40%{transform:translateY(-5px);opacity:1}}

/* Begrüßung */
.wm-ki-welcome{margin:auto 0;text-align:center;color:var(--text-2);font-size:.86rem;padding:8px}
.wm-ki-welcome b{display:block;font-family:var(--font-head);font-size:1.1rem;color:var(--text);margin:10px 0 4px}
.wm-ki-welcome p{margin:0 0 14px}
.wm-ki-wicon{width:54px;height:54px;margin:0 auto;border-radius:18px;display:grid;place-items:center;color:#fff;background:var(--grad);box-shadow:var(--glow)}
.wm-ki-wicon svg{width:28px;height:28px}
.wm-ki-chips{display:flex;flex-direction:column;gap:7px}
.wm-ki-chip{padding:9px 12px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:600 .8rem Inter,sans-serif;text-align:left;cursor:pointer;transition:border-color .15s,background .15s,transform .15s}
.wm-ki-chip:hover{border-color:var(--accent);background:var(--accent-soft);transform:translateX(2px)}

/* Eingabe */
.wm-ki-form{display:flex;align-items:flex-end;gap:8px;padding:12px;border-top:1px solid var(--border);background:var(--surface)}
.wm-ki-form textarea{flex:1;resize:none;max-height:120px;padding:10px 12px;border-radius:14px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font:400 .88rem/1.4 Inter,sans-serif;outline:none;transition:border-color .15s,box-shadow .15s}
.wm-ki-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);background:var(--surface)}
.wm-ki-send{width:42px;height:42px;flex:0 0 42px;border:0;border-radius:13px;cursor:pointer;display:grid;place-items:center;color:#fff;background:var(--grad);box-shadow:var(--glow);transition:transform .15s,opacity .15s}
.wm-ki-send svg{width:18px;height:18px}
.wm-ki-send:hover{transform:translateY(-1px)}
.wm-ki-send:disabled{opacity:.45;cursor:wait;transform:none}
.wm-ki-foot{font-size:.68rem;color:var(--text-3);text-align:center;padding:0 12px 10px;background:var(--surface)}

/* Handy: über der unteren Navigation */
@media (max-width:768px){
  #wmKi{right:14px;bottom:84px}
  .wm-ki-fab{width:52px;height:52px}
  .wm-ki-panel{height:min(560px,calc(100vh - 160px))}
}
