#nq-bot-launcher{position:fixed;right:22px;bottom:22px;z-index:1200;width:58px;height:58px;border:1px solid var(--line,#444);border-radius:50%;background:var(--fg,#f4f4f5);color:var(--bg,#101112);box-shadow:0 8px 30px #0005;display:grid;place-items:center;cursor:pointer;font:700 22px system-ui}#nq-bot-launcher:focus-visible,#nq-bot-send:focus-visible,#nq-bot-close:focus-visible,.nq-bot-chip:focus-visible{outline:3px solid var(--acc,#aaa);outline-offset:3px}#nq-bot-panel{position:fixed;right:22px;bottom:92px;z-index:1200;width:min(390px,calc(100vw - 28px));height:min(570px,calc(100dvh - 125px));display:none;flex-direction:column;overflow:hidden;border:1px solid var(--line,#333);border-radius:12px;background:var(--bg,#101112);color:var(--fg,#f4f4f5);box-shadow:0 18px 60px #0008;font:14px/1.5 "Instrument Sans",system-ui,sans-serif}#nq-bot-panel[aria-hidden="false"]{display:flex}.nq-bot-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;border-bottom:1px solid var(--line,#333);background:var(--card,#19191c)}.nq-bot-brand{font-weight:750;letter-spacing:.08em}.nq-bot-status{display:block;color:var(--mut,#aaa);font-size:11px;margin-top:2px}.nq-bot-head button{border:0;background:transparent;color:inherit;font-size:24px;cursor:pointer}.nq-bot-messages{flex:1;overflow:auto;padding:15px;display:flex;flex-direction:column;gap:10px;overscroll-behavior:contain}.nq-bot-msg{max-width:90%;padding:10px 12px;border:1px solid var(--line,#333);border-radius:9px;background:var(--card,#19191c);white-space:pre-wrap;overflow-wrap:anywhere}.nq-bot-msg.user{align-self:flex-end;background:var(--fg,#eee);color:var(--bg,#111);border-color:transparent}.nq-bot-links{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.nq-bot-links a,.nq-bot-chip{display:inline-flex;align-items:center;border:1px solid var(--line,#444);border-radius:5px;padding:7px 9px;color:var(--fg,#eee);text-decoration:none;font-size:12px;background:transparent}.nq-bot-links a:hover,.nq-bot-chip:hover{border-color:var(--acc,#aaa)}.nq-bot-topics{display:flex;flex-wrap:wrap;gap:7px;padding:0 14px 12px}.nq-bot-chip{cursor:pointer;font:500 12px "Instrument Sans",system-ui}.nq-bot-form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line,#333)}#nq-bot-input{flex:1;min-width:0;border:1px solid var(--line,#444);border-radius:6px;background:var(--card,#19191c);color:var(--fg,#eee);padding:11px 12px;font:inherit}#nq-bot-send{border:1px solid var(--fg,#eee);border-radius:6px;background:var(--fg,#eee);color:var(--bg,#111);padding:0 15px;font-weight:700;cursor:pointer}#nq-bot-send:disabled{opacity:.5;cursor:wait}.nq-bot-foot{padding:0 14px 10px;color:var(--mut,#aaa);font-size:10px}.nq-bot-foot a{color:inherit}@media(max-width:520px){#nq-bot-launcher{right:14px;bottom:14px;width:54px;height:54px}#nq-bot-panel{right:8px;bottom:78px;width:calc(100vw - 16px);height:min(600px,calc(100dvh - 95px))}}@media(prefers-reduced-motion:no-preference){#nq-bot-launcher{transition:transform .18s}#nq-bot-launcher:hover{transform:translateY(-2px)}}

/* Assistant typing indicator */
.nq-bot-typing{align-self:flex-start;display:flex;align-items:center;gap:5px;min-width:58px;padding:13px 14px;border:1px solid var(--line,#333);border-radius:9px;background:var(--card,#19191c)}
.nq-bot-typing span{width:6px;height:6px;border-radius:50%;background:var(--acc,#5cf2d6);opacity:.35;animation:nq-bot-dot 1.15s infinite ease-in-out}
.nq-bot-typing span:nth-child(2){animation-delay:.16s}
.nq-bot-typing span:nth-child(3){animation-delay:.32s}
@keyframes nq-bot-dot{0%,60%,100%{transform:translateY(0);opacity:.35}30%{transform:translateY(-5px);opacity:1}}
@media(prefers-reduced-motion:reduce){.nq-bot-typing span{animation:none;opacity:.8}}

/* NEXUS-Q assistant mascot */
#nq-bot-launcher{padding:0;overflow:hidden;background:var(--card,#19191c)}
#nq-bot-launcher img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}
.nq-bot-identity{display:flex;align-items:center;gap:11px;min-width:0}
.nq-bot-avatar{display:block;width:43px;height:43px;flex:0 0 43px;object-fit:cover;border-radius:50%;border:1px solid var(--line,#444);background:var(--bg,#101112)}
