#cup-chatbot{--cup-primary:#e85d3a;--cup-gradient:#d4472a;--cup-bg:#fafafa;--cup-bot-bubble:#fff;--cup-user-bubble:var(--cup-primary);--cup-fab-bg:linear-gradient(135deg,var(--cup-primary),var(--cup-gradient));--cup-fab-icon:#fff;--cup-header-icon:#fff;--cup-send-bg:linear-gradient(135deg,var(--cup-primary),var(--cup-gradient));--cup-send-icon:#fff;--cup-font:-apple-system , BlinkMacSystemFont , 'Segoe UI' , 'Inter' , Roboto , sans-serif;--cup-radius:20px;--cup-width:400px;--cup-height:580px;--cup-shadow:0 12px 48px rgba(0,0,0,.12) , 0 4px 16px rgba(0,0,0,.08);--cup-fab-size:62px;position:fixed;z-index:999999;bottom:20px;font-family: var(--cup-font);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}#cup-chatbot.pos-bottom-right{right:20px}#cup-chatbot.pos-bottom-left{left:20px}#cup-fab{width:var(--cup-fab-size);height:var(--cup-fab-size);border-radius:50%;background:var(--cup-fab-bg);color:var(--cup-fab-icon,#fff);border:none;cursor:pointer;box-shadow:0 6px 24px rgba(0,0,0,.2);display:flex;align-items:center;justify-content:center;transition:transform .25s cubic-bezier(.34,1.56,.64,1) , box-shadow .25s ease;position:relative;overflow:hidden;aspect-ratio:1}#cup-fab svg{color:inherit}#cup-fab:hover{transform:scale(1.08);box-shadow:0 8px 32px rgba(0,0,0,.25)}.cup-fab-icon{position:absolute;transition:opacity .2s ease , transform .3s cubic-bezier(.34,1.56,.64,1);display:flex}.cup-fab-icon--close{opacity:0;transform:rotate(-90deg) scale(.6)}#cup-chatbot.cup-open .cup-fab-icon--chat{opacity:0;transform:rotate(90deg) scale(.6)}#cup-chatbot.cup-open .cup-fab-icon--close{opacity:1;transform:rotate(0) scale(1)}@keyframes cupPulse {
    0%   { transform: scale(1);    box-shadow: 0 6px 24px rgba(0,0,0,.2),  0 0 0 0   rgba(0,0,0,.22); }
    50%  { transform: scale(1.08); box-shadow: 0 10px 32px rgba(0,0,0,.28), 0 0 0 14px rgba(0,0,0,0); }
    100% { transform: scale(1);    box-shadow: 0 6px 24px rgba(0,0,0,.2),  0 0 0 0   rgba(0,0,0,0); }
}#cup-fab.cup-pulse{animation:cupPulse 1.4s ease-in-out 3}.cup-fab-attention{position:absolute;bottom: calc(var(--cup-fab-size) + 14px);background:#fff;color:#1a1a1a;border-radius:12px;padding:10px 32px 10px 14px;font-size:13px;line-height:1.35;max-width:220px;box-shadow:0 4px 20px rgba(0,0,0,.12) , 0 1px 4px rgba(0,0,0,.06);cursor:pointer;user-select:none;font-family: var(--cup-font);animation:cupAttentionIn .35s cubic-bezier(.34,1.56,.64,1) both;z-index:1}#cup-chatbot.pos-bottom-right .cup-fab-attention{right:0}#cup-chatbot.pos-bottom-left .cup-fab-attention{left:0}.cup-fab-attention.cup-attention-out{animation:cupAttentionOut .25s ease both}.cup-fab-attention__text{display:block;word-wrap:break-word}.cup-fab-attention::after{content:'';position:absolute;bottom:-7px;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #fff;filter:drop-shadow(0 2px 1px rgba(0,0,0,.06))}#cup-chatbot.pos-bottom-right .cup-fab-attention::after{right:22px}#cup-chatbot.pos-bottom-left .cup-fab-attention::after{left:22px}.cup-fab-attention__close{position:absolute;top:4px;right:6px;width:20px;height:20px;padding:0;margin:0;background:transparent!important;border:none!important;box-shadow:none!important;color:#999;font-size:16px;line-height:1;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:color .15s , background .15s}.cup-fab-attention__close:hover,.cup-fab-attention__close:focus{color:#333;background:rgba(0,0,0,.06)!important}.cup-fab-attention__close:focus-visible{outline:1px dotted #999;outline-offset:2px}@keyframes cupAttentionIn {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: translateY(0); }
}@keyframes cupAttentionOut {
    from { opacity: 1; transform: translateY(0); }
    to   { opacity: 0; transform: translateY(4px); }
}#cup-window{position:absolute;bottom: calc(var(--cup-fab-size) + 14px);width:var(--cup-width);height:var(--cup-height);max-height:calc(100vh - 120px);background:var(--cup-bg);border-radius:var(--cup-radius);box-shadow:var(--cup-shadow);display:flex;flex-direction:column;overflow:hidden;transition:opacity .25s ease , transform .3s cubic-bezier(.34,1.56,.64,1);transform-origin:bottom right}#cup-chatbot.pos-bottom-right #cup-window{right:0;transform-origin:bottom right}#cup-chatbot.pos-bottom-left #cup-window{left:0;transform-origin:bottom left}#cup-window.cup-closed{opacity:0;transform:scale(.85) translateY(12px);pointer-events:none;visibility:hidden}#cup-window:not(.cup-closed) {opacity:1;transform:scale(1) translateY(0);visibility:visible}#cup-header{background:linear-gradient(135deg,var(--cup-primary),var(--cup-gradient));color:#fff;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.cup-header-info{display:flex;align-items:center;gap:12px;min-width:0}.cup-avatar{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.25);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:20px;overflow:hidden;border:2px solid rgba(255,255,255,.3)}.cup-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.cup-header-name{font-weight:700;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cup-header-sub{font-size:12px;opacity:.85;display:flex;align-items:center;gap:5px}.cup-header-sub::before{content:'';width:7px;height:7px;background:#4ade80;border-radius:50%;display:inline-block}#cup-minimize{background:rgba(255,255,255,.15);border:none;color:var(--cup-header-icon,#fff);width:34px;height:34px;aspect-ratio:1;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;flex-shrink:0;padding:0;box-sizing:border-box}#cup-minimize svg{color:inherit;width:18px;height:18px}#cup-minimize:hover{background:rgba(255,255,255,.25)}#cup-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;scroll-behavior:smooth}#cup-body::-webkit-scrollbar{width:5px}#cup-body::-webkit-scrollbar-thumb{background:#d4d4d4;border-radius:4px}#cup-messages{display:flex;flex-direction:column;gap:8px}.cup-bubble{max-width:88%;padding:12px 16px;border-radius:18px;word-wrap:break-word;animation:cupFadeIn .25s ease}@keyframes cupFadeIn {
    from { opacity: 0; transform: translateY(6px); }
    to   { opacity: 1; transform: translateY(0); }
}.cup-bubble--bot{background:var(--cup-bot-bubble);color:#1a1a1a;align-self:flex-start;border-bottom-left-radius:6px;box-shadow:0 1px 3px rgba(0,0,0,.06)}.cup-bubble--user{background:var(--cup-user-bubble);color:#fff;align-self:flex-end;border-bottom-right-radius:6px}.cup-bubble--bot p{margin:0 0 6px}.cup-bubble--bot p:last-child{margin-bottom:0}.cup-bubble--bot strong{font-weight:700}.cup-bubble--bot em{font-style:italic}.cup-bubble--bot a{color:var(--cup-primary);text-decoration:none;font-weight:600;border-bottom:1px solid transparent;transition:border-color .15s}.cup-bubble--bot a:hover{border-bottom-color:var(--cup-primary)}.cup-bubble--bot ul,.cup-bubble--bot ol{margin:6px 0;padding-left:20px}.cup-bubble--bot li{margin:3px 0}.cup-sources{display:flex;flex-direction:column;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(0,0,0,.06)}.cup-sources-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#888;margin-bottom:2px}.cup-source-card{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--cup-bg);border-radius:12px;text-decoration:none;color:#1a1a1a;transition:background .15s , transform .15s;border:1px solid rgba(0,0,0,.04)}.cup-source-card:hover{background:#f0f0f0;transform:translateX(2px)}.cup-source-card.cup-source-nolink{opacity:.85;cursor:default;text-decoration:none}.cup-source-card.cup-source-nolink:hover{background:var(--cup-bg);transform:none}.cup-source-card.cup-source-nolink .cup-source-title{text-decoration:none;border-bottom:none}.cup-source-icon{width:36px;height:36px;border-radius:8px;background:linear-gradient(135deg,var(--cup-primary),var(--cup-gradient));color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.cup-source-info{min-width:0;flex:1}.cup-source-title{font-weight:600;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cup-source-meta{font-size:11px;color:#888;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cup-source-arrow{color:#ccc;flex-shrink:0;font-size:16px}.cup-suggestions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;animation:cupFadeIn .3s ease .1s both}.cup-suggestion-btn{background:#fff;border:1px solid #e0e0e0;border-radius:16px;padding:6px 14px;font-size:12.5px;cursor:pointer;color:var(--cup-primary);font-weight:600;transition:background .15s , border-color .15s , transform .15s , color .15s;white-space:nowrap;font-family: var(--cup-font)}.cup-suggestion-btn:hover{background:var(--cup-suggestion-hover-bg,var(--cup-primary));color:var(--cup-suggestion-hover-color,#fff);border-color:var(--cup-suggestion-hover-bg,var(--cup-primary));transform:translateY(-1px)}.cup-typing{align-self:flex-start;padding:14px 20px;background:var(--cup-bot-bubble);border-radius:18px;border-bottom-left-radius:6px;box-shadow:0 1px 3px rgba(0,0,0,.06);display:flex;gap:5px;animation:cupFadeIn .2s ease}.cup-typing span{width:8px;height:8px;background:#bbb;border-radius:50%;animation:cupBounce .6s infinite alternate}.cup-typing span:nth-child(2) {animation-delay:.15s}.cup-typing span:nth-child(3) {animation-delay:.3s}@keyframes cupBounce {
    to { transform: translateY(-5px); background: var(--cup-primary); }
}#cup-powered{text-align:center;font-size:10px;color:#aaa;padding:2px 0;flex-shrink:0}#cup-powered a{color:#999;text-decoration:none}#cup-powered a:hover{text-decoration:underline}#cup-footer{padding:10px 14px 14px;flex-shrink:0;background:#fff;border-top:1px solid rgba(0,0,0,.06)}#cup-input-wrap{display:flex;align-items:center;gap:8px;background:var(--cup-bg);border:1.5px solid #e0e0e0;border-radius:24px;padding:4px 6px 4px 18px;transition:border-color .2s , box-shadow .2s}#cup-input-wrap:focus-within{border-color:var(--cup-primary);box-shadow:0 0 0 3px rgba(0,0,0,.06)}@supports (color: color-mix(in srgb, red 50%, blue)) {
    #cup-input-wrap:focus-within {
        box-shadow: 0 0 0 3px color-mix(in srgb, var(--cup-primary) 12%, transparent);
    }
}#cup-input{flex:1;border:none;outline:none;background:transparent;font-size:14px;font-family: var(--cup-font);padding:8px 0;color:#1a1a1a}#cup-input::placeholder{color:#aaa}#cup-send{width:38px;height:38px;aspect-ratio:1;border-radius:50%;background:var(--cup-send-bg);color:var(--cup-send-icon,#fff);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:opacity .15s , transform .15s;padding:0;box-sizing:border-box}#cup-send svg{color:inherit}#cup-send:disabled{opacity:.35;cursor:default;transform:scale(.95)}#cup-send:not(:disabled):hover {transform:scale(1.06)}@media (max-width:480px){#cup-chatbot{bottom:0;right:0!important;left:auto!important}#cup-chatbot.pos-bottom-left{left:0!important;right:auto!important}#cup-chatbot.cup-open #cup-fab{display:none}.cup-fab-attention{display:none!important}#cup-window{width:100vw!important;height:calc(100vh - 80px)!important;height:calc(100dvh - 24px)!important;max-height:calc(100vh - 80px);max-height:calc(100dvh - 24px);bottom:0!important;right:0!important;border-radius:16px 16px 0 0;padding-top:env(safe-area-inset-top,0)}}.cup-welcome-suggestions{display:flex;flex-direction:column;gap:6px;margin-top:10px}.cup-welcome-suggestions .cup-suggestion-btn{text-align:left;white-space:normal;line-height:1.35}.cup-gdpr-banner{position:relative;padding:10px 12px;padding-right:28px;background:#f4f6f9;border-bottom:1px solid #e1e5ec;color:#4a5568;font-size:11px;line-height:1.45;flex-shrink:0}.cup-gdpr-banner__text{word-wrap:break-word}.cup-gdpr-banner__text a{color:var(--cup-primary,#e85d3a);text-decoration:underline}.cup-gdpr-banner__text p{margin:0 0 4px 0}.cup-gdpr-banner__text p:last-child{margin-bottom:0}.cup-gdpr-banner__cookie-note{display:block;margin-top:4px;color:#6b7280;font-size:10.5px;font-style:italic}.cup-gdpr-banner__close{position:absolute;top:6px;right:8px;width:20px;height:20px;padding:0;margin:0;background:transparent!important;border:none!important;box-shadow:none!important;color:#999;font-size:16px;line-height:1;text-align:center;cursor:pointer;transition:color .2s}.cup-gdpr-banner__close:hover,.cup-gdpr-banner__close:focus{color:#333;background:transparent!important}.cup-gdpr-banner__close:focus-visible{outline:1px dotted #999;outline-offset:2px}