/* Amica — AMMG's friendly host. Matches the AMMG brand (teal #0f766e, navy #10223b). */
#amica-launcher{
  position:fixed; right:22px; bottom:22px; z-index:9998;
  width:66px; height:66px; border-radius:50%; border:3px solid #fff;
  background:linear-gradient(135deg,#0f766e,#0f2e54);
  color:#fff; font-size:26px; font-weight:800; cursor:pointer;
  display:grid; place-items:center; overflow:hidden; padding:0;
  box-shadow:0 10px 28px rgba(15,118,110,.35);
  font-family:'Inter',ui-sans-serif,system-ui,sans-serif;
}
#amica-launcher img{width:100%; height:100%; object-fit:cover; border-radius:50%; display:block;}
#amica-badge{
  position:absolute; top:-4px; right:-4px; min-width:22px; height:22px;
  border-radius:11px; background:#dc2626; color:#fff; font-size:12px; font-weight:700;
  display:none; place-items:center; padding:0 6px; border:2px solid #fff; line-height:1;
}
#amica-badge.amica-show{display:grid;}
/* Voice bars: lively equalizer while she talks */
#amica-voicebars{display:none; align-items:flex-end; gap:2.5px; height:18px; margin-right:2px;}
#amica-voicebars.amica-on{display:flex;}
#amica-voicebars i{width:3px; background:#5eead4; border-radius:2px; transform-origin:bottom; animation:amica-bar .7s ease-in-out infinite;}
#amica-voicebars i:nth-child(1){height:60%; animation-delay:0s;}
#amica-voicebars i:nth-child(2){height:100%; animation-delay:.14s;}
#amica-voicebars i:nth-child(3){height:45%; animation-delay:.28s;}
#amica-voicebars i:nth-child(4){height:80%; animation-delay:.42s;}
#amica-voicebars i:nth-child(5){height:55%; animation-delay:.56s;}
@keyframes amica-bar{0%,100%{transform:scaleY(.35);}50%{transform:scaleY(1);}}

#amica-panel{
  position:fixed; right:22px; bottom:100px; z-index:9999;
  width:382px; max-width:calc(100vw - 32px); height:540px; max-height:calc(100vh - 140px);
  background:#fff; border:1px solid #e2e8f0; border-radius:18px;
  box-shadow:0 24px 70px rgba(16,34,59,.25);
  display:none; flex-direction:column; overflow:hidden;
  font-family:'Inter',ui-sans-serif,system-ui,sans-serif;
}
#amica-panel.amica-open{display:flex; animation:amica-rise .28s ease-out;}
@keyframes amica-rise{from{transform:translateY(14px); opacity:0;} to{transform:none; opacity:1;}}
#amica-head{
  background:linear-gradient(135deg,#0f766e,#0f2e54); color:#fff;
  padding:12px 14px; display:flex; align-items:center; gap:11px; flex-shrink:0;
}
#amica-avatar{
  width:44px; height:44px; border-radius:50%; border:2px solid rgba(255,255,255,.85);
  background:linear-gradient(135deg,#5eead4,#0f766e); color:#fff;
  display:grid; place-items:center; font-weight:800; font-size:19px; overflow:hidden; flex-shrink:0;
}
#amica-avatar img{width:100%; height:100%; object-fit:cover; display:block;}
#amica-head .amica-title{flex:1; min-width:0;}
#amica-head .amica-title b{font-size:15.5px; display:block; line-height:1.25;}
#amica-head .amica-title span{font-size:12px; color:#c9f5ec;}
#amica-head button{
  background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.25); color:#fff;
  width:32px; height:32px; border-radius:9px; cursor:pointer; font-size:15px;
  display:grid; place-items:center; flex-shrink:0;
}
#amica-head button:hover{background:rgba(255,255,255,.25);}
#amica-head button.amica-muted{opacity:.55;}
#amica-msgs{flex:1; overflow-y:auto; padding:16px 14px; display:flex; flex-direction:column; gap:10px; background:#f7f9fc;}
.amica-msg{max-width:86%; padding:10px 13px; border-radius:14px; font-size:14px; line-height:1.55; word-wrap:break-word;}
.amica-msg.amica-bot{background:#fff; border:1px solid #e2e8f0; border-bottom-left-radius:4px; color:#10223b; align-self:flex-start;}
.amica-msg.amica-user{background:#0f766e; color:#fff; border-bottom-right-radius:4px; align-self:flex-end;}
.amica-msg a{color:#0f766e; font-weight:600;}
.amica-msg.amica-user a{color:#a7f3d0;}
#amica-chips{display:flex; gap:8px; padding:10px 14px 4px; flex-wrap:wrap; background:#f7f9fc; flex-shrink:0;}
#amica-chips button{
  border:1px solid #99f6e4; background:#f0fdfa; color:#0f766e; border-radius:999px;
  padding:6px 13px; font-size:12.5px; font-weight:600; cursor:pointer; font-family:inherit;
}
#amica-chips button:hover{background:#ccfbf1;}
#amica-input{display:flex; gap:8px; padding:12px 14px; border-top:1px solid #e2e8f0; background:#fff; flex-shrink:0;}
#amica-input input{
  flex:1; padding:11px 13px; border:1px solid #cbd5e1; border-radius:10px;
  font-size:14px; font-family:inherit; color:#10223b;
}
#amica-input input:focus{outline:2px solid #5eead4; border-color:#0f766e;}
#amica-input button{
  background:#0f766e; color:#fff; border:0; border-radius:10px; padding:0 18px;
  font-size:14px; font-weight:700; cursor:pointer; font-family:inherit;
}
#amica-input button:hover{background:#0d655e;}
#amica-mic{
  padding:0 13px !important; font-size:17px !important; background:#f0fdfa !important;
  color:#0f766e !important; border:1px solid #99f6e4 !important;
}
#amica-mic:hover{background:#ccfbf1 !important;}
#amica-mic.amica-listening{
  background:#dc2626 !important; color:#fff !important; border-color:#dc2626 !important;
  animation:amica-micpulse 1.2s ease-in-out infinite;
}
@keyframes amica-micpulse{0%,100%{transform:scale(1);} 50%{transform:scale(1.12);}}
.amica-play{
  display:inline-grid; place-items:center; width:26px; height:26px; border-radius:50%;
  background:#f0fdfa; border:1px solid #99f6e4; color:#0f766e; font-size:12px;
  cursor:pointer; margin-left:8px; vertical-align:middle; padding:0;
}
.amica-play:hover{background:#ccfbf1;}
.amica-welcome-play{
  display:inline-block; margin-top:9px; border:1px solid #99f6e4; background:#f0fdfa;
  color:#0f766e; border-radius:999px; padding:6px 14px; font-size:12.5px; font-weight:700;
  cursor:pointer; font-family:inherit;
}
.amica-welcome-play:hover{background:#ccfbf1;}
#amica-typing{align-self:flex-start; background:#fff; border:1px solid #e2e8f0; border-radius:14px; border-bottom-left-radius:4px; padding:10px 14px; font-size:14px; color:#475569;}
#amica-typing i{display:inline-block; width:6px; height:6px; border-radius:50%; background:#0f766e; margin:0 2px; animation:amica-typingblink 1.2s infinite;}
#amica-typing i:nth-child(2){animation-delay:.2s;} #amica-typing i:nth-child(3){animation-delay:.4s;}
@keyframes amica-typingblink{0%,60%,100%{opacity:.25;} 30%{opacity:1;}}

@media (max-width:480px){
  #amica-panel{right:8px; left:8px; bottom:92px; width:auto; max-width:none; height:62vh; max-height:62vh;}
  #amica-launcher{right:14px; bottom:14px; width:58px; height:58px;}
}
