#shoppyWelcome{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:850;font:14px/1.45 Arial,sans-serif;color:#19304d;text-align:left}#shoppyWelcome *{box-sizing:border-box}#shoppyWelcome [hidden]{display:none!important}#shoppyWelcome button,#shoppyWelcome a{font:inherit;cursor:pointer}#shoppyWelcome button:focus-visible,#shoppyWelcome a:focus-visible,#shoppyWelcome input:focus-visible,#shoppyWelcome textarea:focus-visible{outline:2px solid #147cf0;outline-offset:2px}.shoppy-launch{display:flex;align-items:center;gap:8px;padding:8px 14px 8px 7px;border:1px solid #c9e0fa;border-radius:24px;background:#eaf4ff;color:#0563c4;box-shadow:0 4px 20px #15375524;font-weight:700!important}.shoppy-launch img{width:34px;height:34px;object-fit:contain}.shoppy-panel{display:flex;flex-direction:column;width:370px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 40px);border:1px solid #dce3ec;border-radius:14px;background:#fff;box-shadow:0 12px 44px #10264033;overflow:hidden}.shoppy-panel header{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid #e4e8ee;flex-shrink:0}.shoppy-panel header img{width:35px;height:35px;object-fit:contain}.shoppy-panel header strong,.shoppy-panel header small{display:block}.shoppy-panel small{font-size:12px;color:#6a7a8c}.shoppy-close{margin-left:auto;border:0;background:#eef5fd;color:#3a618c;border-radius:50%;width:32px;height:32px;font-size:22px!important}.shoppy-messages{padding:4px 16px;overflow-y:auto;overscroll-behavior:contain;min-height:0;max-height:300px;white-space:pre-wrap;overflow-wrap:anywhere}.shoppy-messages p{margin:12px 0}.shoppy-user{border-left:2px solid #7eb7f2;padding-left:10px;color:#075ab5}.shoppy-status{color:#61758c}.shoppy-actions{display:flex;gap:6px;flex-wrap:wrap;padding:9px 16px}.shoppy-actions a,.shoppy-actions button,.shoppy-sales button{display:inline-block;padding:6px 9px;background:#eaf4ff;border:1px solid #d5e8fc;border-radius:6px;color:#0866c7;text-decoration:none;font-size:12px!important;font-weight:600!important}.shoppy-question{display:flex;margin:4px 16px 12px;border:1px solid #d7e0eb;border-radius:7px;min-height:40px;flex-shrink:0}.shoppy-question input{width:0;flex:1;border:0;padding:9px 10px;border-radius:7px;background:#fff;color:#19304d;font:14px Arial,sans-serif}.shoppy-question button{width:40px;border:0;background:transparent;color:#0875ee;font-size:21px!important}.shoppy-panel button:disabled{opacity:.5;cursor:wait}.shoppy-panel footer{display:flex;justify-content:space-between;gap:10px;padding:10px 16px;border-top:1px solid #e4e8ee;font-size:10px;color:#768496;flex-shrink:0}.shoppy-panel footer a{color:#60758d}.shoppy-sales{padding:12px 16px;overflow:auto;overscroll-behavior:contain}.shoppy-sales p{margin:6px 0 10px;color:#60758d;font-size:12px}.shoppy-sales label{display:block;font-size:12px;margin:8px 0}.shoppy-sales input,.shoppy-sales textarea{display:block;width:100%;border:1px solid #d7e0eb;border-radius:6px;padding:8px;margin-top:3px;color:#19304d;background:#fff;font:14px Arial,sans-serif}.shoppy-sales textarea{resize:vertical}.shoppy-sales>div{display:flex;justify-content:space-between;gap:8px}.shoppy-sr{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:699px){#shoppyWelcome{right:12px;bottom:max(12px,env(safe-area-inset-bottom))}.shoppy-panel{max-height:calc(100dvh - 28px);width:350px}.shoppy-question input,.shoppy-sales input,.shoppy-sales textarea{font-size:16px}.shoppy-messages{max-height:240px}}

/* Robot first, then the conversation. Animations never repeat in a loop. */
#shoppyWelcome .shoppy-launch { width: 64px; height: 64px; padding: 0; border: 0; border-radius: 50%; background: transparent; box-shadow: 0 5px 20px #15375524; }
#shoppyWelcome .shoppy-launch img { width: 64px; height: 64px; }
.shoppy-arriving .shoppy-launch { animation: shoppy-robot-in 720ms cubic-bezier(.2,.8,.3,1.2) both; }
.shoppy-revealed .shoppy-panel { transform-origin: bottom right; animation: shoppy-panel-in 240ms ease-out both; }
.shoppy-revealed .shoppy-greeting { animation: shoppy-message-in 220ms ease-out 140ms both; }
.shoppy-revealed .shoppy-greeting + .shoppy-greeting { animation-delay: 260ms; }
.shoppy-revealed .shoppy-actions { animation: shoppy-message-in 220ms ease-out 340ms both; }
#shoppyWelcome .shoppy-sound { margin-left: auto; flex: 0 0 28px; width: 28px; height: 28px; border: 0; border-radius: 50%; background: #eef5fd; color: #3a618c; font-size: 17px; }
#shoppyWelcome .shoppy-close { margin-left: 0; flex: 0 0 32px; }
@keyframes shoppy-robot-in { 0% { opacity: 0; transform: translateY(18px) scale(.65); } 65% { opacity: 1; transform: translateY(-9px) scale(1.08); } 100% { transform: translateY(0) scale(1); } }
@keyframes shoppy-panel-in { from { opacity: 0; transform: translateY(8px) scale(.96); } to { opacity: 1; transform: none; } }
@keyframes shoppy-message-in { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { #shoppyWelcome *, #shoppyWelcome *::before { animation: none !important; transition: none !important; } }
