.chatmate-widget{--cm-primary:#4f46e5;--cm-primary-hover:#4338ca;--cm-secondary:#f1f5f9;--cm-bg:#fff;--cm-surface:#f8fafc;--cm-text:#1e293b;--cm-text-muted:#64748b;--cm-border:#e2e8f0;--cm-user-bubble:linear-gradient(135deg, #4f46e5, #4338ca);--cm-assistant-bubble:#fff;--cm-assistant-border:#e2e8f0;--cm-shadow:#0f172a14;--cm-success:#16a34a;--cm-error:#dc2626;--cm-warning:#d97706;--cm-radius:18px;--cm-header-height:64px;--cm-input-height:88px;background:var(--cm-bg);width:100%;height:100%;color:var(--cm-text);box-sizing:border-box;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;flex-direction:column;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex;overflow:hidden}.chatmate-widget *,.chatmate-widget :before,.chatmate-widget :after{box-sizing:border-box}.chatmate-widget .cm-header{height:var(--cm-header-height);border-bottom:1px solid var(--cm-border);-webkit-backdrop-filter:blur(10px);padding:0 5px;padding-left:max(5px, env(safe-area-inset-left));padding-right:max(5px, env(safe-area-inset-right));background:#fffffff2;flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.chatmate-widget .cm-toggle-btn{color:var(--cm-text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;padding:6px;font-size:18px;display:inline-flex}.chatmate-widget .cm-toggle-btn:hover{background:var(--cm-secondary)}.chatmate-widget.minimized{height:var(--cm-header-height)}.chatmate-widget .cm-brand{align-items:center;gap:12px;min-width:0;display:flex}.chatmate-widget .cm-logo{background:var(--cm-user-bubble);color:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-weight:700;display:flex}.chatmate-widget .cm-title{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:700;overflow:hidden}.chatmate-widget .cm-status{color:var(--cm-text-muted);align-items:center;gap:6px;font-size:12px;display:flex}.chatmate-widget .cm-status-dot{background:#10b981;border-radius:50%;width:8px;height:8px;animation:2s infinite pulse}.chatmate-widget .cm-messages{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:linear-gradient(#f8fafc99,#fff);flex-direction:column;flex:1;gap:16px;padding:20px;display:flex;overflow-y:auto}.chatmate-widget .cm-message{width:100%;animation:.25s fadeIn;display:flex}.chatmate-widget .cm-message.user{justify-content:flex-end}.chatmate-widget .cm-message.assistant{justify-content:flex-start}.chatmate-widget .cm-bubble{border-radius:var(--cm-radius);word-wrap:break-word;overflow-wrap:anywhere;max-width:85%;box-shadow:0 4px 18px var(--cm-shadow);padding:14px 18px;font-size:14px;line-height:1.6}.chatmate-widget .cm-message.user .cm-bubble{background:var(--cm-user-bubble);color:#fff;border-bottom-right-radius:6px}.chatmate-widget .cm-message.assistant .cm-bubble{background:var(--cm-assistant-bubble);border:1px solid var(--cm-border);border-bottom-left-radius:6px}.chatmate-widget .cm-time{opacity:.65;text-align:left;margin-top:0;font-size:11px}.chatmate-widget .cm-bubble h1,.chatmate-widget .cm-bubble h2,.chatmate-widget .cm-bubble h3{margin:1px 0}.chatmate-widget .cm-bubble ul,.chatmate-widget .cm-bubble ol{padding-left:20px}.chatmate-widget .cm-bubble pre{color:#fff;-webkit-overflow-scrolling:touch;background:#0f172a;border-radius:12px;padding:10px;overflow-x:auto}.chatmate-widget .cm-bubble code{font-family:monospace}.chatmate-widget .cm-bubble table{border-collapse:collapse;-webkit-overflow-scrolling:touch;width:100%;margin-top:1px;display:block;overflow-x:auto}.chatmate-widget .cm-bubble th,.chatmate-widget .cm-bubble td{border:1px solid var(--cm-border);padding:8px}.chatmate-widget .cm-bubble a{color:var(--cm-primary)}.chatmate-widget .cm-warning{color:#fff;text-align:center;background-color:var(--cm-primary-warning)}.chatmate-widget .cm-error{color:#fff;text-align:center;background-color:var(--cm-primary-error)}.chatmate-widget .cm-input-wrapper{border-top:1px solid var(--cm-border);background:var(--cm-bg);padding:16px;padding-bottom:max(16px, env(safe-area-inset-bottom));flex-shrink:0}.chatmate-widget .cm-input-box{background:var(--cm-surface);border:1px solid var(--cm-border);box-sizing:border-box;border-radius:15px;align-items:center;gap:8px;width:100%;min-width:0;padding:6px;display:flex}.chatmate-widget textarea,.chatmate-widget input{appearance:none;min-width:0;color:var(--cm-text);background:0 0;border:0;outline:0;flex:auto;margin:0;padding:0;font-size:16px}.chatmate-widget textarea::placeholder,.chatmate-widget input::placeholder{color:var(--cm-text-muted)}.chatmate-widget .cm-btn{all:unset;box-sizing:border-box;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.chatmate-widget .cm-send-btn{background:var(--cm-primary);color:#fff;border-radius:50%;flex:0 0 44px;width:44px;height:44px}.chatmate-widget .cm-send-btn:hover{background:var(--cm-primary-hover);transform:translateY(-1px)}.chatmate-widget .cm-send-btn:active{transform:scale(.96)}.chatmate-widget .cm-upload-btn{width:44px;height:44px;color:var(--cm-text-muted);background:0 0;border-radius:50%}.chatmate-widget .cm-btn:disabled{opacity:.5;cursor:not-allowed}.chatmate-widget .cm-typing{gap:6px;padding:14px;display:flex}.chatmate-widget .cm-dot{background:var(--cm-primary);border-radius:50%;width:8px;height:8px;animation:1.2s infinite bounce}.chatmate-widget .cm-dot:nth-child(2){animation-delay:.2s}.chatmate-widget .cm-dot:nth-child(3){animation-delay:.4s}.chatmate-widget .cm-skeleton{background:linear-gradient(90deg,#e5e7eb 25%,#f3f4f6 50%,#e5e7eb 75%) 0 0/200% 100%;border-radius:8px;height:16px;animation:1.5s infinite shimmer}.chatmate-widget .cm-streaming:after{content:"▋";animation:1s infinite blink}.chatmate-widget button:focus-visible,.chatmate-widget textarea:focus-visible{outline:2px solid var(--cm-primary);outline-offset:2px}.chatmate-widget input:focus-visible{outline:none}.chatmate-widget.dark{--cm-bg:#0f172a;--cm-surface:#1e293b;--cm-text:#f1f5f9;--cm-text-muted:#94a3b8;--cm-border:#334155;--cm-assistant-bubble:#1e293b;--cm-shadow:#0006}@media (width<=480px){.chatmate-widget .cm-header{padding:0 14px;padding-left:max(14px, env(safe-area-inset-left));padding-right:max(14px, env(safe-area-inset-right))}.chatmate-widget .cm-messages{padding:14px}.chatmate-widget .cm-bubble{max-width:92%;font-size:13px}}@media (height<=480px){.chatmate-widget{--cm-header-height:52px}.chatmate-widget .cm-input-wrapper{padding:10px 16px;padding-bottom:max(10px, env(safe-area-inset-bottom))}.chatmate-widget .cm-messages{gap:10px;padding:10px 20px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes bounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-6px)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes blink{50%{opacity:0}}.chat-widget-container{z-index:2147483647;color:#0f172a;pointer-events:auto;isolation:isolate;width:auto;max-width:calc(100vw - 24px);height:auto;max-height:calc(100dvh - 24px);bottom:35px;right:35px;right:max(35px, env(safe-area-inset-right));bottom:max(35px, env(safe-area-inset-bottom));font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;position:fixed}.chat-widget-container *,.chat-widget-container :before,.chat-widget-container :after{box-sizing:border-box}.chat-widget-container button,.chat-widget-container textarea,.chat-widget-container input{font:inherit}.chat-widget-container button{appearance:none}.chat-widget-bubble{color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;width:64px;height:64px;padding:0;font-size:24px;transition:transform .2s,box-shadow .2s;display:inline-flex}.chat-widget-bubble:hover{transform:scale(1.05)}.chat-widget-panel{-webkit-backdrop-filter:blur(16px);background:#ffffffe0;border:1px solid #94a3b83d;border-radius:20px;flex-direction:column;width:min(360px,100vw - 24px);max-width:100%;height:min(560px,100dvh - 24px);max-height:100%;animation:.2s ease-out chatOpen;display:flex;position:fixed;bottom:30px;right:20px;overflow:hidden;box-shadow:0 5px 5px #0f172a2e}.chat-widget-panel.collapsed{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(20px)scale(.95)}.chat-widget-panel.expanded{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)scale(1)}@keyframes chatOpen{0%{opacity:0;transform:scale(.9)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.chat-widget-header{color:#fff;background:linear-gradient(135deg,#4f46e5,#6366f1);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.close-btn{all:unset;box-sizing:border-box;color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffff29;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;display:inline-flex}.chat-widget-body{background:#fff;flex:1;min-height:0;overflow:hidden}.chat-widget-body .chatmate-widget{height:100%;min-height:0}.chat-widget-body .chatmate-widget .cm-messages{min-height:0}@media (width<=480px){.chat-widget-container{max-width:100vw;max-height:100dvh;inset:0}.chat-widget-container:has(.chat-widget-bubble){right:max(16px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));max-width:none;max-height:none;top:auto;left:auto}.chat-widget-panel{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);border-radius:0;inset:0}}.chatmate-widget svg{flex-shrink:0;display:block}.chatmate-widget img{max-width:none;height:auto;display:block}.chatmate-widget .cm-send-btn{flex:0 0 44px}.chatmate-widget textarea{overflow:hidden auto}.chatmate-widget{--cm-primary-warning:#f59e0b;--cm-primary-error:#eb1313}
