body{background:#f0f2f5;justify-content:center;align-items:center;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex}#root{justify-content:center;align-items:center;width:100%;min-height:100vh;display:flex}*{box-sizing:border-box;margin:0;padding:0}body{background:0 0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}#root{z-index:9999;min-width:200px;min-height:60px;position:fixed;bottom:0;left:0}.widget-tab{display:none}.widget-tab-hidden{cursor:pointer;z-index:10001;background:#4f46e5;border-radius:8px 8px 0 0;justify-content:center;align-items:center;width:120px;height:28px;display:flex;position:fixed;bottom:560px;left:0}.widget-tab span{writing-mode:horizontal-tb;color:#fff;-webkit-user-select:none;user-select:none;font-size:11px;font-weight:600}.widget-container{border-radius:12px 12px 0 0;width:340px;height:630px;transition:height .3s;position:relative;overflow:hidden;box-shadow:0 -4px 30px #00000080}.widget-container.collapsed{visibility:hidden;opacity:0;pointer-events:none;height:0}.avatar-panel.hidden,.chat-container.hidden{display:none}.avatar-panel{z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}.avatar-loading{color:#666;background:#1a1a2e;justify-content:center;align-items:center;height:100%;font-size:13px;display:flex}.chat-header{z-index:3;color:#fff;background:#1e1b4bf2;align-items:center;gap:8px;padding:10px 14px;display:flex;position:absolute;top:-5px;left:0;right:0}.avatar-dot{background:#fff3;border:2px solid #fff6;border-radius:50%;flex-shrink:0;width:32px;height:32px}.avatar-name{font-size:13px;font-weight:600}.avatar-status{opacity:.75;margin-top:1px;font-size:11px}.header-actions{gap:4px;margin-left:auto;display:flex}.icon-toggle,.voice-toggle,.stop-btn,.icon-btn{color:#fff;cursor:pointer;opacity:.85;background:0 0;border:none;border-radius:6px;padding:3px 6px;font-size:15px}.icon-toggle:hover,.voice-toggle:hover,.icon-btn:hover{opacity:1;background:#ffffff26}.voice-toggle.off{opacity:.4}.messages{z-index:3;flex-direction:column;gap:6px;max-height:200px;padding:0 10px 8px;display:flex;position:absolute;bottom:115px;left:0;right:0;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000 0%,#000 30%);mask-image:linear-gradient(#0000 0%,#000 30%)}.message{display:flex}.message.user{justify-content:flex-end}.message.assistant{justify-content:flex-start}.bubble{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:14px;max-width:82%;padding:7px 11px;font-size:12px;line-height:1.5}.message.user .bubble{color:#fff;background:#4f46e5e0;border-bottom-right-radius:3px}.message.assistant .bubble{color:#111827;background:#ffffffe0;border-bottom-left-radius:3px}.message.status{justify-content:center}.message.status .bubble{color:#ffffffb3;background:#00000073;border-radius:20px;padding:5px 12px;font-size:11px}.typing{align-items:center;gap:4px;padding:8px 12px;display:flex}.typing span{background:#9ca3af;border-radius:50%;width:6px;height:6px;animation:1.2s infinite bounce}.typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-4px)}}.input-area{z-index:4;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#080814eb;border-top:1px solid #ffffff14;flex-direction:column;gap:8px;padding:10px 12px 14px;display:flex;position:absolute;bottom:5px;left:0;right:0}.input-row input{color:#fff;background:#ffffff14;border:1px solid #ffffff2e;border-radius:22px;outline:none;width:100%;padding:9px 14px;font-family:inherit;font-size:13px}.input-row input::placeholder{color:#fff6}.input-row input:focus{border-color:#818cf8}.action-row{align-items:center;gap:8px;display:flex}.btn-mic,.btn-listen{cursor:pointer;color:#fff;background:#ffffff14;border:1px solid #ffffff2e;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:15px;display:flex}.btn-mic:hover:not(:disabled),.btn-listen:hover:not(:disabled){background:#ffffff2e}.btn-mic.recording{background:#ef444480;border-color:#ef4444;animation:1s infinite pulse}.btn-listen.active{background:#4f46e580;border-color:#818cf8;animation:1.5s infinite pulse}.btn-mic:disabled,.btn-listen:disabled{opacity:.3;cursor:not-allowed}.btn-send{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:20px;flex:1;padding:9px 16px;font-family:inherit;font-size:13px;font-weight:500}.btn-send:disabled{opacity:.4;cursor:not-allowed}.btn-send:hover:not(:disabled){background:#4338ca}.rec-hint{text-align:center;color:#fca5a5;pointer-events:none;margin:0;font-size:11px;position:absolute;top:-16px;left:0;right:0}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.widget-open-btn{color:#fff!important;cursor:pointer!important;z-index:99999!important;background:#4f46e5!important;border:none!important;border-radius:50px!important;padding:12px 20px!important;font-size:14px!important;font-weight:600!important;display:block!important;position:fixed!important;bottom:20px!important;left:20px!important;box-shadow:0 4px 20px #4f46e580!important}.widget-container.text-mode{flex-direction:column;display:flex}.widget-container.text-mode .chat-container{flex-direction:column;height:100%;position:relative;display:flex!important}.widget-container.text-mode .chat-header{color:#1e293b;background:#fffffffa;border-bottom:1px solid #00000014;flex-shrink:0;position:relative;top:auto}.widget-container.text-mode .chat-header .avatar-name{color:#1e293b}.widget-container.text-mode .chat-header .avatar-status{color:#64748b}.widget-container.text-mode .chat-header .icon-btn{color:#475569}.widget-container.text-mode .chat-header .avatar-dot{background:#6366f1;border-color:#818cf8}.widget-container.text-mode .messages{flex:1;max-height:none;padding:12px 10px 8px;position:relative;bottom:auto;overflow-y:auto;-webkit-mask-image:none;mask-image:none}.widget-container.text-mode .message.user .bubble{background:#4f46e5}.widget-container.text-mode .message.assistant .bubble{color:#1e293b;background:#f1f5f9}.widget-container.text-mode .input-area{background:#fffffffa;border-top:1px solid #00000014;flex-shrink:0;position:relative;bottom:auto}.widget-container.text-mode .input-row input{color:#1e293b;background:#f8fafc;border:1px solid #e2e8f0}.widget-container.text-mode .input-row input::placeholder{color:#94a3b8}.widget-container.text-mode .input-row input:focus{border-color:#6366f1}
