.ivy-btn{position:fixed;right:16px;bottom:84px;z-index:50;background:var(--accent);color:#fff;border:0;border-radius:999px;padding:12px 18px;font:600 15px system-ui,sans-serif;box-shadow:0 6px 20px rgba(0,0,0,.18);cursor:pointer}
.ivy-btn:focus-visible,.ivy-send:focus-visible,.ivy-close:focus-visible,.ivy-input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.ivy-panel{position:fixed;right:16px;bottom:140px;z-index:51;width:min(380px,calc(100vw - 32px));height:min(520px,calc(100vh - 180px));display:flex;flex-direction:column;background:#fff;color:#1c1917;border:1px solid #e7e5e4;border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.22);font:15px/1.5 system-ui,sans-serif}
.ivy-panel[hidden]{display:none}
.ivy-head{display:flex;align-items:baseline;gap:8px;padding:12px 14px;border-bottom:1px solid #e7e5e4}
.ivy-sub{color:#57534e;font-size:12px;flex:1}
.ivy-close{border:0;background:none;font-size:22px;line-height:1;cursor:pointer;color:#57534e}
.ivy-log{flex:1;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.ivy-msg{margin:0;padding:8px 11px;border-radius:10px;max-width:88%;white-space:pre-wrap;word-wrap:break-word}
.ivy-assistant{background:#f5f5f4;align-self:flex-start}
.ivy-user{background:var(--accent);color:#fff;align-self:flex-end}
.ivy-cta{align-self:flex-start;background:var(--accent);color:#fff;text-decoration:none;font-weight:600;padding:8px 12px;border-radius:8px}
.ivy-form{display:flex;gap:8px;padding:10px;border-top:1px solid #e7e5e4}
.ivy-input{flex:1;min-width:0;border:1px solid #d6d3d1;border-radius:8px;padding:8px 10px;font:inherit}
.ivy-send{border:0;border-radius:8px;background:var(--accent);color:#fff;font-weight:600;padding:8px 14px;cursor:pointer}
.ivy-send:disabled{opacity:.6}
@media (prefers-color-scheme:dark){.ivy-panel{background:#292524;color:#e7e5e4;border-color:#44403c}.ivy-head,.ivy-form{border-color:#44403c}.ivy-assistant{background:#1c1917}.ivy-input{background:#1c1917;color:#e7e5e4;border-color:#44403c}.ivy-sub,.ivy-close{color:#a8a29e}}
