.sunny-root{--sunny-accent:#1f6f8b;position:fixed;right:20px;bottom:20px;z-index:99999;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
.sunny-launcher{display:inline-flex;align-items:center;gap:8px;background:var(--sunny-accent);color:#fff;border:0;border-radius:999px;padding:12px 18px;font-size:15px;font-weight:600;cursor:pointer;box-shadow:0 10px 26px -10px rgba(0,0,0,.5)}
.sunny-launcher svg{width:20px;height:20px}
.sunny-root.is-open .sunny-launcher{display:none}
.sunny-panel{display:none;flex-direction:column;width:320px;max-width:calc(100vw - 40px);height:460px;max-height:calc(100vh - 120px);background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 26px 70px -24px rgba(10,20,30,.55)}
.sunny-root.is-open .sunny-panel{display:flex}
.sunny-head{display:flex;align-items:center;padding:13px 14px;background:var(--sunny-accent);color:#fff}
.sunny-name{font-weight:600}
.sunny-x{background:none;border:0;color:#fff;font-size:20px;cursor:pointer;opacity:.85;line-height:1}
.sunny-log{flex:1;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:9px;background:#f7f8f9}
.sunny-msg{max-width:82%;padding:9px 12px;font-size:14px;line-height:1.4;border-radius:14px;word-wrap:break-word;overflow-wrap:anywhere}
.sunny-msg.bot{align-self:flex-start;background:#fff;color:#2a343b;border:1px solid #eceff1;border-bottom-left-radius:3px}
.sunny-msg.user{align-self:flex-end;background:var(--sunny-accent);color:#fff;border-bottom-right-radius:3px}
.sunny-msg a{color:inherit;text-decoration:underline}
.sunny-msg.bot a{color:var(--sunny-accent)}
.sunny-msg.typing{display:flex;gap:4px}
.sunny-msg.typing .dot{width:6px;height:6px;border-radius:50%;background:#b7c0c6;animation:sunny-bounce 1.2s infinite}
.sunny-msg.typing .dot:nth-child(2){animation-delay:.15s}
.sunny-msg.typing .dot:nth-child(3){animation-delay:.3s}
@keyframes sunny-bounce{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}
.sunny-form{display:flex;gap:8px;padding:10px;background:#fff;border-top:1px solid #eef1f3}
.sunny-input{flex:1;border:1px solid #e2e7ea;border-radius:10px;padding:9px 11px;font-size:14px;outline:none}
.sunny-send{border:0;background:var(--sunny-accent);color:#fff;border-radius:10px;padding:0 14px;font-weight:600;cursor:pointer}
@media(prefers-reduced-motion:reduce){.sunny-msg.typing .dot{animation:none}}
.sunny-forget{margin-left:auto;background:rgba(255,255,255,.16);color:#fff;border:0;border-radius:999px;padding:3px 10px;font-size:11px;cursor:pointer;margin-right:8px}
.sunny-forget:hover{background:rgba(255,255,255,.28)}
