.chat-toggle {
    position:fixed;
    bottom:60px; right:24px;
    z-index:999;
    width:52px; height:52px;
    border-radius:50%;
    border:none;
    background:#fff;
    color:#000;
    cursor:pointer;
    font-size:22px;
    box-shadow:0 4px 20px rgba(0,0,0,.4);
    transition:transform .25s, box-shadow .25s;
    display:flex;
    align-items:center;
    justify-content:center;
}
.chat-toggle:hover { transform:scale(1.08); box-shadow:0 6px 28px rgba(0,0,0,.5); }
.chat-panel {
    position:fixed;
    bottom:124px; right:24px;
    z-index:998;
    width:360px; max-height:520px;
    background:rgba(22,22,26,.95);
    backdrop-filter:blur(20px);
    border:1px solid rgba(255,255,255,.08);
    border-radius:16px;
    display:none;
    flex-direction:column;
    overflow:hidden;
    box-shadow:0 8px 40px rgba(0,0,0,.5);
    font-size:.85rem;
}
.chat-panel.open { display:flex; }
.chat-head {
    padding:14px 18px;
    border-bottom:1px solid rgba(255,255,255,.05);
    display:flex;
    align-items:center;
    justify-content:space-between;
}
.chat-head span { font-weight:600; color:rgba(255,255,255,.8); font-size:.82rem; }
.chat-close {
    background:none; border:none; color:rgba(255,255,255,.3);
    cursor:pointer; font-size:1.1rem; padding:0 4px;
}
.chat-close:hover { color:#fff; }
.chat-body {
    flex:1;
    overflow-y:auto;
    padding:14px 16px;
    display:flex;
    flex-direction:column;
    gap:10px;
    min-height:200px;
    max-height:360px;
}
.chat-body::-webkit-scrollbar { width:4px; }
.chat-body::-webkit-scrollbar-thumb { background:rgba(255,255,255,.1); border-radius:2px; }
.chat-msg { max-width:88%; padding:10px 14px; border-radius:12px; line-height:1.55; font-size:.82rem; word-break:break-word; }
.chat-msg.user { align-self:flex-end; background:#fff; color:#000; }
.chat-msg.assistant { align-self:flex-start; background:rgba(255,255,255,.06); color:rgba(255,255,255,.85); }
.chat-foot {
    padding:10px 14px;
    border-top:1px solid rgba(255,255,255,.05);
    display:flex;
    gap:8px;
}
.chat-foot input {
    flex:1;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.06);
    border-radius:8px;
    padding:9px 12px;
    color:#fff;
    font-size:.82rem;
    outline:none;
}
.chat-foot input::placeholder { color:rgba(255,255,255,.2); }
.chat-foot input:focus { border-color:rgba(255,255,255,.15); }
.chat-send {
    background:#fff;
    color:#000;
    border:none;
    border-radius:8px;
    padding:9px 16px;
    font-size:.8rem;
    font-weight:600;
    cursor:pointer;
    transition:opacity .2s;
}
.chat-send:disabled { opacity:.4; cursor:default; }
.chat-loading {
    align-self:flex-start;
    color:rgba(255,255,255,.3);
    font-size:.78rem;
    padding:8px 12px;
    animation:pulse 1.2s ease-in-out infinite;
}
@keyframes pulse { 0%,100% { opacity:.3; } 50% { opacity:.7; } }
