.chat-launch{position:fixed;right:clamp(14px,3vw,26px);bottom:clamp(14px,3vw,26px);z-index:70;width:58px;height:58px;border-radius:50%;border:0;cursor:pointer;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;box-shadow:0 16px 40px -12px rgba(0,0,0,.55);transition:transform .2s var(--ease),background .2s}.chat-launch:hover{background:var(--accent-hover);transform:scale(1.06)}.chat-launch svg{width:30px;height:30px}.chat-panel{position:fixed;z-index:71;right:clamp(14px,3vw,26px);bottom:clamp(84px,calc(3vw + 70px),96px);width:min(400px,calc(100vw - 28px));height:min(620px,calc(100dvh - 130px));display:flex;flex-direction:column;overflow:hidden;background:var(--bg-elev);border:1px solid var(--line-strong);border-radius:20px;box-shadow:0 30px 80px -24px rgba(0,0,0,.65);animation:chat-in .28s var(--ease) both}@keyframes chat-in{0%{opacity:0;transform:translateY(14px) scale(.98)}}@media (max-width:560px){.chat-panel{right:8px;left:8px;bottom:8px;width:auto;height:min(78dvh,640px)}.chat-launch{width:52px;height:52px}.chat-launch svg{width:26px;height:26px}}.chat-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px 12px;border-bottom:1px solid var(--line)}.chat-head-id{display:grid;grid-gap:4px;gap:4px;color:#c8202f;line-height:0}.chat-head-id svg{height:15px;width:auto}.chat-head-id small{color:var(--muted);font-size:12px;line-height:1.3}.chat-close{width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer}.chat-close:hover{color:var(--text);border-color:var(--line-strong)}.chat-msgs{flex:1 1;overflow-y:auto;padding:16px 14px 8px;display:flex;flex-direction:column;gap:10px;scrollbar-width:thin}.msg{max-width:88%;padding:10px 14px;border-radius:16px;font-size:14.5px;line-height:1.55;white-space:pre-line;overflow-wrap:anywhere}.msg--bot{align-self:flex-start;background:var(--surface-2);border-bottom-left-radius:6px}.msg--me{align-self:flex-end;background:var(--accent);color:var(--accent-ink);border-bottom-right-radius:6px}.msg-action{display:block;margin-top:8px;padding:7px 13px;border-radius:999px;cursor:pointer;border:1px solid var(--line-strong);background:var(--bg-elev);color:var(--text);font-size:13px;font-weight:600;transition:border-color .2s,background .2s}.msg-action:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--bg-elev))}.chat-typing{display:flex;gap:5px;align-items:center;padding:14px 16px}.chat-typing i{width:7px;height:7px;border-radius:50%;background:var(--faint);animation:chat-dot 1.2s infinite}.chat-typing i:nth-child(2){animation-delay:.15s}.chat-typing i:nth-child(3){animation-delay:.3s}@keyframes chat-dot{30%{transform:translateY(-4px);opacity:1}}.chat-chips{display:flex;gap:6px;overflow-x:auto;padding:8px 12px 2px;scrollbar-width:none}.chat-chips::-webkit-scrollbar{display:none}.chat-chips button{flex:none;padding:6px 12px;border-radius:999px;cursor:pointer;border:1px solid var(--line-strong);background:transparent;color:var(--muted);font-size:12.5px;font-weight:600;transition:color .2s,border-color .2s}.chat-chips button:hover:not(:disabled){color:var(--text);border-color:var(--text)}.chat-chips button:disabled{opacity:.5;cursor:default}.chat-input{display:flex;gap:8px;padding:10px 12px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}.chat-input input{flex:1 1;min-width:0;height:42px;padding:0 16px;border-radius:999px;border:0;background:var(--surface-2);color:var(--text);font:inherit;font-size:14.5px;outline:none;transition:background .2s}.chat-input input:focus{background:var(--surface-3)}.chat-input input,.chat-input input:focus,.chat-input input:focus-visible{outline:none;box-shadow:none}.chat-input input::placeholder{color:var(--faint)}.chat-input button{flex:none;width:42px;height:42px;border-radius:50%;border:0;cursor:pointer;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;transition:background .2s,opacity .2s}.chat-input button:hover:not(:disabled){background:var(--accent-hover)}.chat-input button:disabled{opacity:.4;cursor:default}