/* AiMe Chat Widget v1.0 — Sprint 10 — Design Token Integrated */
#aime-chat-fab{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:50%;background:var(--primary,#6366f1);color:#fff;border:none;font-size:24px;cursor:pointer;box-shadow:0 4px 16px rgba(99,102,241,.4);z-index:9999;transition:transform .2s,box-shadow .2s;display:flex;align-items:center;justify-content:center}
#aime-chat-fab:hover{transform:scale(1.1);box-shadow:0 6px 24px rgba(99,102,241,.6)}
#aime-chat-panel{position:fixed;bottom:92px;right:24px;width:380px;height:500px;background:var(--surface,#1e293b);border:1px solid var(--border,#334155);border-radius:12px;display:flex;flex-direction:column;z-index:9998;box-shadow:0 8px 32px rgba(0,0,0,.4);transition:opacity .2s,transform .2s;overflow:hidden}
#aime-chat-panel.aime-chat-closed{opacity:0;transform:translateY(20px) scale(.95);pointer-events:none}
.aime-chat-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg,#0f172a);border-bottom:1px solid var(--border,#334155)}
.aime-chat-header-left{display:flex;flex-direction:column;gap:4px}
.aime-chat-title{font-size:14px;font-weight:700;color:var(--text,#f8fafc)}
#aime-persona-select{background:var(--surface,#1e293b);color:var(--text-muted,#94a3b8);border:1px solid var(--border,#334155);border-radius:6px;padding:4px 8px;font-size:12px;cursor:pointer;outline:none}
#aime-persona-select:focus{border-color:var(--primary,#6366f1)}
#aime-chat-close{background:none;border:none;color:var(--text-muted,#94a3b8);font-size:22px;cursor:pointer;padding:0 4px;line-height:1}
#aime-chat-close:hover{color:var(--error,#ef4444)}
#aime-chat-messages{flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:8px}
.aime-chat-bubble{max-width:80%;padding:10px 14px;border-radius:12px;font-size:13px;line-height:1.5;word-wrap:break-word}
.aime-chat-user{align-self:flex-end;background:var(--primary,#6366f1);color:#fff;border-bottom-right-radius:4px}
.aime-chat-bot{align-self:flex-start;background:var(--bg,#0f172a);color:var(--text,#f8fafc);border:1px solid var(--border,#334155);border-bottom-left-radius:4px}
#aime-chat-typing{display:flex;gap:4px;padding:8px 16px;align-items:center}
#aime-chat-typing.aime-chat-hidden{display:none}
.aime-typing-dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted,#94a3b8);animation:aimeDotPulse 1.2s infinite}
.aime-typing-dot:nth-child(2){animation-delay:.2s}
.aime-typing-dot:nth-child(3){animation-delay:.4s}
@keyframes aimeDotPulse{0%,80%,100%{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}
.aime-chat-input-area{display:flex;align-items:center;gap:8px;padding:12px 16px;border-top:1px solid var(--border,#334155);background:var(--bg,#0f172a)}
#aime-chat-input{flex:1;background:var(--surface,#1e293b);color:var(--text,#f8fafc);border:1px solid var(--border,#334155);border-radius:8px;padding:8px 12px;font-size:13px;outline:none}
#aime-chat-input:focus{border-color:var(--primary,#6366f1)}
#aime-chat-input::placeholder{color:var(--text-dim,#64748b)}
#aime-chat-send{background:var(--primary,#6366f1);color:#fff;border:none;border-radius:8px;padding:8px 14px;font-size:16px;cursor:pointer;transition:background .2s}
#aime-chat-send:hover{background:#818cf8}
#aime-chat-messages::-webkit-scrollbar{width:6px}
#aime-chat-messages::-webkit-scrollbar-track{background:transparent}
#aime-chat-messages::-webkit-scrollbar-thumb{background:var(--border,#334155);border-radius:3px}
@media(max-width:480px){#aime-chat-panel{width:calc(100vw - 16px);height:calc(100vh - 120px);right:8px;bottom:80px}#aime-chat-fab{bottom:16px;right:16px}}