#assistant-fab{position:fixed;bottom:24px;right:24px;width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#d4a843,#8a6d1f);display:flex;align-items:center;justify-content:center;font-size:28px;cursor:pointer;z-index:9998;box-shadow:0 8px 24px rgba(212,168,67,.45);border:2px solid rgba(255,255,255,.15)}
#assistant-fab::after{content:'';position:absolute;inset:-6px;border-radius:50%;border:2px solid rgba(212,168,67,.35);animation:ap-pulse 2s infinite}
@keyframes ap-pulse{0%{transform:scale(.9);opacity:1}100%{transform:scale(1.3);opacity:0}}
#assistant-panel{position:fixed;bottom:96px;right:24px;width:370px;max-height:76vh;background:#0f1117;border:1px solid #2a2d3a;border-radius:16px;z-index:9998;display:none;flex-direction:column;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.85)}
#assistant-panel.open{display:flex}
.ap-header{display:flex;align-items:center;gap:10px;background:linear-gradient(135deg,#1a1c24,#12141a);padding:12px 14px;border-bottom:1px solid #2a2d3a}
.ap-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#d4a843,#8a6d1f);display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:0 0 12px rgba(212,168,67,.5)}
.ap-title{color:#d4a843;font-weight:700;font-size:.95rem}
.ap-badge{background:linear-gradient(135deg,#d4a843,#f0d080);color:#000;font-size:.6rem;font-weight:800;padding:2px 6px;border-radius:4px;margin-left:6px;vertical-align:middle}
.ap-status{color:#6bcf7f;font-size:.72rem;display:flex;align-items:center;gap:4px}
.ap-dot{width:6px;height:6px;border-radius:50%;background:#6bcf7f;box-shadow:0 0 6px #6bcf7f}
.ap-close{margin-left:auto;color:#888;cursor:pointer;font-size:1rem;padding:4px}
.ap-close:hover{color:#ff6b6b}
#assistant-chat{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;min-height:180px;max-height:44vh}
.ap-msg{max-width:88%;padding:10px 12px;border-radius:12px;font-size:.86rem;line-height:1.45;white-space:pre-wrap}
.ap-msg.bot{background:#16181e;border:1px solid #2a2d3a;color:#d0d0d0;align-self:flex-start;border-bottom-left-radius:4px}
.ap-msg.user{background:linear-gradient(135deg,#8a6d1f,#d4a843);color:#000;align-self:flex-end;border-bottom-right-radius:4px;font-weight:600}
.ap-code{display:inline-block;background:linear-gradient(135deg,#d4a843,#f0d080);color:#000;border:none;border-radius:6px;padding:4px 10px;margin:3px 2px;font-family:monospace;font-weight:700;font-size:.8rem;cursor:pointer}
.ap-code:hover{filter:brightness(1.15)}
.ap-typing{display:flex;gap:4px;padding:12px 14px}
.ap-typing span{width:7px;height:7px;border-radius:50%;background:#d4a843;animation:ap-t 1s infinite}
.ap-typing span:nth-child(2){animation-delay:.2s}.ap-typing span:nth-child(3){animation-delay:.4s}
@keyframes ap-t{0%,100%{opacity:.3}50%{opacity:1}}
#assistant-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 12px 10px}
.ap-chip{background:#16181e;border:1px solid #2a2d3a;color:#c0c0c0;font-size:.78rem;padding:6px 12px;border-radius:20px;cursor:pointer}
.ap-chip:hover{border-color:#d4a843;color:#d4a843}
.ap-inputrow{display:flex;gap:8px;padding:10px 12px;border-top:1px solid #2a2d3a;background:#12141a}
.ap-inputrow input{flex:1;background:#0f1117;border:1px solid #2a2d3a;border-radius:8px;padding:9px 12px;color:#e0e0e0;font-size:.88rem}
.ap-inputrow button{background:linear-gradient(135deg,#d4a843,#8a6d1f);border:none;border-radius:8px;width:38px;color:#000;font-size:1rem;cursor:pointer;font-weight:700}
.ap-header{flex-shrink:0}
#assistant-chips{flex-shrink:0;max-height:110px;overflow-y:auto}
.ap-inputrow{flex-shrink:0}
