#asisFab{position:fixed;right:18px;bottom:18px;z-index:50;width:56px;height:56px;border-radius:50%;background:var(--primary-btn);color:var(--text-on-pri);border:none;font-size:1.5rem;box-shadow:var(--shadow-lg);display:grid;place-items:center}
#asisFab:hover{filter:brightness(1.08)}
#asisFab .avatar{position:absolute;left:50%;top:-20px;width:54px;height:54px;border-radius:50%;object-fit:cover;background:var(--card-bg);border:3px solid var(--card-bg);box-shadow:var(--shadow-md);transform:translateX(-50%);animation:asisEmerge 3.2s ease-in-out infinite;pointer-events:none}
@keyframes asisEmerge{0%,100%{transform:translateX(-50%) translateY(3px) scale(1)}50%{transform:translateX(-50%) translateY(-5px) scale(1.03)}}
#asisFab:hover .avatar{animation:asisPop .5s ease forwards}
@keyframes asisPop{0%{transform:translateX(-50%) translateY(3px) scale(1)}60%{transform:translateX(-50%) translateY(-16px) scale(1.14)}100%{transform:translateX(-50%) translateY(-11px) scale(1.08)}}
#asisPanel{position:fixed;right:18px;bottom:84px;z-index:55;width:min(400px,calc(100vw - 36px));height:min(560px,calc(100vh - 120px));background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-sheet);box-shadow:var(--shadow-lg);display:none;flex-direction:column;overflow:hidden}
#asisPanel.open{display:flex}
.asis-head{background:var(--header-bg);color:var(--text-on-hdr);padding:12px 16px;display:flex;align-items:center;gap:8px}
.asis-head .t{font-weight:800}
.asis-head .x{margin-left:auto;background:none;border:none;color:var(--text-on-hdr);font-size:1.2rem;cursor:pointer;line-height:1}
.asis-msgs{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px}
.asis-empty{color:var(--text-muted);text-align:center;margin:auto;font-size:.9rem;padding:0 20px}
.asis-b{max-width:85%;padding:9px 13px;border-radius:14px;font-size:.9rem;line-height:1.4;word-wrap:break-word;overflow-wrap:anywhere}
.asis-b.user{align-self:flex-end;background:var(--primary-btn);color:var(--text-on-pri);border-bottom-right-radius:4px}
.asis-b.bot{align-self:flex-start;background:var(--bg);border:1px solid var(--divider);border-bottom-left-radius:4px}
.asis-b.bot p{margin:.3em 0}.asis-b.bot p:first-child{margin-top:0}.asis-b.bot p:last-child{margin-bottom:0}
.asis-b.bot ul{margin:.3em 0;padding-left:1.2em}.asis-b.bot code{background:var(--chip-neutral-bg);padding:1px 5px;border-radius:4px;font-size:.85em}
.asis-b.typing{color:var(--text-muted);font-style:italic}
.asis-in{display:flex;gap:8px;padding:10px;border-top:1px solid var(--divider);align-items:flex-end}
.asis-in textarea{flex:1;resize:none;border:1px solid var(--border);border-radius:12px;padding:9px 12px;font:inherit;font-size:.9rem;background:var(--input-bg);color:var(--text);max-height:100px;min-height:40px}
.asis-send{background:var(--primary-btn);color:var(--text-on-pri);border:none;border-radius:12px;width:40px;height:40px;font-size:1.1rem;flex:none}
.asis-send:disabled{opacity:.5}
.asis-mic{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:12px;width:40px;height:40px;font-size:1.1rem;flex:none;cursor:pointer}
.asis-mic:disabled{opacity:.5}
.asis-mic.rec{background:var(--sem-red,#c0392b);color:#fff;border-color:transparent;animation:asisPulse 1s infinite}
@keyframes asisPulse{0%,100%{opacity:1}50%{opacity:.5}}
.asis-b .asis-play{background:none;border:none;cursor:pointer;font-size:.9rem;opacity:.55;padding:0 2px;margin-left:6px;vertical-align:middle;line-height:1}
.asis-navchip{align-self:flex-start;background:var(--bg-accent, #e3f2fd);color:var(--primary-btn, #1565c0);border:1px solid var(--border-accent, #bbdefb);border-radius:10px;padding:6px 12px;font-size:.85rem;cursor:pointer;font-weight:700;display:inline-flex;align-items:center;gap:4px;margin-left:14px;margin-bottom:10px;box-shadow:var(--shadow-sm);transition:background 0.2s}
.asis-navchip:hover{background:var(--bg-accent-hover, #bbdefb)}

