.kc-assistant { --kc-surface:#202126; --kc-text:#f5f5f7; --kc-muted:#b8b9c3; position:fixed; bottom:max(18px, env(safe-area-inset-bottom)); left:50%; transform:translateX(-50%); width:min(540px, calc(100% - 24px)); z-index:1100; color:var(--kc-text); font-family:inherit; }
.kc-assistant *, .kc-assistant *::before { box-sizing:border-box; }
.kc-assistant [hidden] { display:none!important; }
.kc-dock { display:flex; align-items:center; gap:8px; }
.kc-form { display:flex; align-items:center; flex:1; min-width:0; padding:5px 8px; border:1px solid #393a43; border-radius:999px; background:var(--kc-surface); box-shadow:0 8px 35px #0005; }
.kc-assistant input { width:100%; min-width:0; padding:10px; border:0; background:transparent; color:var(--kc-text); font:inherit; font-size:16px; outline:none; }
.kc-assistant input::placeholder { color:var(--kc-muted); }
.kc-form:focus-within { border-color:#8ee5db; }
.kc-assistant button { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; min-width:44px; min-height:44px; padding:8px; border:0; border-radius:50%; background:transparent; color:var(--kc-text); cursor:pointer; font:inherit; transition:background .18s; }
.kc-assistant button:hover { background:#ffffff16; }
.kc-assistant button:disabled { opacity:.4; cursor:default; }
.kc-assistant :focus-visible:not(input) { outline:2px solid #8ee5db; outline-offset:3px; }
.kc-assistant svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.kc-assistant .kc-toggle { width:56px; height:56px; border:1px solid #393a43; background:var(--kc-surface); box-shadow:0 8px 35px #0005; }
.kc-panel { margin-bottom:12px; overflow:hidden; background:#181a20; border:1px solid #393a43; border-radius:24px; box-shadow:0 16px 60px #0008; }
.kc-heading { display:flex; align-items:center; justify-content:space-between; padding:12px 16px; border-bottom:1px solid #ffffff14; }
.kc-heading strong { display:block; font-size:15px; }.kc-heading small { color:var(--kc-muted); font-size:12px; }
.kc-log { padding:18px; overflow-y:auto; max-height:min(380px, calc(100dvh - 285px)); overscroll-behavior:contain; display:flex; flex-direction:column; gap:12px; }
.kc-message { margin:0; padding:12px 14px; max-width:94%; border-radius:16px; background:#262930; font-size:14px; line-height:1.8; white-space:pre-wrap; overflow-wrap:anywhere; }
.kc-message.user { align-self:flex-end; background:#164640; }.kc-message.error { color:#ffb7b7; }
.kc-suggestions { display:flex; flex-wrap:wrap; gap:6px; padding:0 18px 12px; }
.kc-assistant .kc-suggestions button { border:1px solid #41434c; border-radius:14px; font-size:12px; padding:8px 12px; }
.kc-foot { display:flex; justify-content:space-between; gap:8px; padding:10px 18px; border-top:1px solid #ffffff14; font-size:11px; color:var(--kc-muted); }.kc-foot a { color:#9ee9df; }
body:has(.kc-assistant) { padding-bottom:96px; }
body:has(.modal.active) .kc-assistant, body:has(.cart-sidebar.active) .kc-assistant, body:has(.admin-portal:not([hidden])) .kc-assistant { visibility:hidden; }
@media(max-width:480px) { .kc-log { padding:12px; }.kc-foot { font-size:10px; }.kc-assistant { bottom:max(12px, env(safe-area-inset-bottom)); } }
@media(prefers-reduced-motion:reduce) { .kc-assistant button { transition:none; } }
