:root{
  --aac-bg:#0f172a;
  --aac-panel:#0b1220;
  --aac-border:rgba(255,255,255,.12);
  --aac-text:rgba(255,255,255,.92);
  --aac-muted:rgba(255,255,255,.65);
  --aac-accent:#38bdf8;
  --aac-bubble:#121c2f;
}
#aac-chat-root{position:fixed; right:18px; bottom:18px; z-index:999999; font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial;}
.aac-fab{
  width:54px; height:54px; border-radius:999px;
  background:linear-gradient(135deg, rgba(56,189,248,.95), rgba(99,102,241,.95));
  color:#041018;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; box-shadow:0 10px 30px rgba(0,0,0,.35);
  user-select:none;
}
.aac-panel{
  width:360px; height:520px; border-radius:16px;
  background:rgba(11,18,32,.98);
  border:1px solid var(--aac-border);
  box-shadow:0 22px 60px rgba(0,0,0,.5);
  position:absolute; right:0; bottom:68px;
  display:none; overflow:hidden;
  backdrop-filter: blur(10px);
}
.aac-panel.open{display:flex; flex-direction:column;}
.aac-header{
  padding:12px 12px;
  display:flex; align-items:center; justify-content:space-between;
  border-bottom:1px solid var(--aac-border);
}
.aac-title{color:var(--aac-text); font-weight:700; letter-spacing:.2px;}
.aac-actions{display:flex; gap:8px;}
.aac-small{
  border:1px solid var(--aac-border);
  background:transparent; color:var(--aac-text);
  padding:6px 10px; border-radius:10px; cursor:pointer;
}
.aac-small:hover{border-color:rgba(255,255,255,.22);}
.aac-suggest{
  padding:10px 12px;
  border-bottom:1px solid var(--aac-border);
}
.aac-suggest-title{font-size:12px; color:var(--aac-muted); margin-bottom:8px;}
.aac-suggest-row{display:flex; gap:8px; flex-wrap:wrap;}
.aac-chip{
  border:1px solid var(--aac-border);
  background:rgba(255,255,255,.04);
  color:var(--aac-text);
  padding:6px 10px; border-radius:999px; cursor:pointer;
  font-size:12px;
}
.aac-chip:hover{border-color:rgba(255,255,255,.22);}
.aac-body{
  flex:1;
  padding:12px;
  overflow:auto;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.aac-msg{display:flex;}
.aac-msg.user{justify-content:flex-end;}
.aac-msg.ai,.aac-msg.agent{justify-content:flex-start;}
.aac-bubble{
  max-width:86%;
  padding:10px 12px;
  border-radius:14px;
  color:var(--aac-text);
  border:1px solid var(--aac-border);
  background:var(--aac-bubble);
  line-height:1.35;
  font-size:13px;
}
.aac-msg.user .aac-bubble{
  background:rgba(56,189,248,.12);
  border-color:rgba(56,189,248,.25);
}
.aac-msg.agent .aac-bubble{
  background:rgba(34,197,94,.10);
  border-color:rgba(34,197,94,.22);
}
.aac-bubble a{color:var(--aac-accent); text-decoration:none;}
.aac-bubble a:hover{text-decoration:underline;}
.aac-footer{
  display:flex; gap:8px;
  padding:10px 12px;
  border-top:1px solid var(--aac-border);
  background:rgba(255,255,255,.02);
}
.aac-footer input{
  flex:1;
  padding:10px 10px;
  border-radius:12px;
  border:1px solid var(--aac-border);
  background:transparent;
  color:var(--aac-text);
  outline:none;
}
.aac-footer input::placeholder{color:rgba(255,255,255,.45);}
.aac-footer button{
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(56,189,248,.35);
  background:rgba(56,189,248,.18);
  color:var(--aac-text);
  cursor:pointer;
}
.aac-footer button:hover{background:rgba(56,189,248,.24);}
.aac-status{
  padding:8px 12px;
  font-size:12px;
  color:var(--aac-muted);
  min-height:18px;
}
@media (max-width: 420px){
  .aac-panel{width:92vw; height:70vh;}
}
