.ai-fab__icon{width:1.15rem;height:1.15rem;flex-shrink:0}
.ai-fab{
  position:fixed;right:1.25rem;bottom:1.25rem;z-index:1500;display:flex;align-items:center;gap:.5rem;
  padding:.65rem 1rem;border-radius:999px;background:linear-gradient(135deg,var(--accent-gold),#c9a22a);
  color:#0D0F14;font-family:var(--font-label);text-transform:uppercase;font-size:.75rem;letter-spacing:.06em;
  box-shadow:var(--shadow-gold);animation:pulse-gold 2.4s ease-in-out infinite;
}
@keyframes pulse-gold{
  0%,100%{box-shadow:0 0 0 0 rgba(245,200,66,.55)}
  50%{box-shadow:0 0 0 12px rgba(245,200,66,0)}
}
.ai-panel{
  position:fixed;right:1.25rem;bottom:5.5rem;z-index:1500;width:min(400px,100% - 2rem);height:min(500px,70vh);
  background:var(--card);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;
  box-shadow:0 20px 60px rgba(0,0,0,.5);transform:translateY(20px);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;
}
.ai-panel.is-open{transform:translateY(0);opacity:1;pointer-events:auto}
@media(max-width:640px){
  .ai-panel{inset:0;width:100%;height:100%;bottom:0;right:0;border-radius:0}
  .ai-fab{bottom:1rem;right:1rem}
}
.ai-panel__head{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border);font-family:var(--font-sub);font-weight:600}
.ai-panel__messages{flex:1;overflow:auto;padding:var(--space-md);display:flex;flex-direction:column;gap:.65rem;font-size:.9rem}
.msg{padding:.55rem .75rem;border-radius:8px;max-width:92%}
.msg--bot{background:var(--bg-secondary);border:1px solid var(--border)}
.msg--user{margin-left:auto;background:rgba(245,200,66,.15);border:1px solid rgba(245,200,66,.35)}
.ai-panel__form{display:flex;gap:.5rem;padding:var(--space-sm) var(--space-md);border-top:1px solid var(--border)}
.ai-panel__form input{
  flex:1;
  background:var(--bg-secondary);
  border:1px solid var(--border);
  border-radius:8px;
  padding:.55rem .75rem;
  color:var(--text);
}
.ai-panel__form input::placeholder{color:var(--text-muted);opacity:1}
.ai-panel__form input:focus{outline:2px solid var(--accent-gold);outline-offset:1px}
.typing{display:flex;gap:4px;padding:.4rem .6rem}
.typing span{width:6px;height:6px;border-radius:50%;background:var(--accent-gold);animation:blink 1s infinite alternate}
.typing span:nth-child(2){animation-delay:.2s}
.typing span:nth-child(3){animation-delay:.4s}
@keyframes blink{to{opacity:.25}}
