:root{--nexface-theme-color:#1976d2;--nexface-theme-dark:#115293;--nexface-theme-light:#4dabf5;--nexface-bg-primary:#ffffff;--nexface-bg-secondary:#f5f5f5;--nexface-text-primary:#212121;--nexface-text-secondary:#757575;--nexface-border:#e0e0e0;--nexface-shadow:rgba(0, 0, 0, 0.1);--nexface-shadow-lg:rgba(0, 0, 0, 0.2);--nexface-danger:#f44336;--nexface-success:#4caf50}.nexface-widget{position:fixed;z-index:99999;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Fira Sans','Droid Sans','Helvetica Neue',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.nexface-widget *{box-sizing:border-box;margin:0;padding:0}.nexface-widget.nexface-bottom-right{bottom:20px;right:20px}.nexface-widget.nexface-bottom-left{bottom:20px;left:20px}.nexface-widget.nexface-top-right{top:20px;right:20px}.nexface-widget.nexface-top-left{top:20px;left:20px}.nexface-button{width:64px;height:64px;border-radius:50%;background:var(--nexface-theme-color);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px var(--nexface-shadow-lg);transition:all .3s cubic-bezier(.4, 0, .2, 1);border:none;position:relative;overflow:hidden}.nexface-button::before{content:'';position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,.3);transform:translate(-50%,-50%);transition:width .6s,height .6s}.nexface-button:hover{transform:scale(1.1);box-shadow:0 6px 16px var(--nexface-shadow-lg)}.nexface-button:hover::before{width:100%;height:100%}.nexface-button:active{transform:scale(.95)}.nexface-button svg{position:relative;z-index:1;filter:drop-shadow(0 2px 4px rgba(0, 0, 0, .1))}.nexface-chat-window,.nexface-video-window,.nexface-voice-window{position:absolute;bottom:84px;right:0;width:400px;max-width:calc(100vw - 40px);height:600px;max-height:calc(100vh - 120px);background:var(--nexface-bg-primary);border-radius:16px;box-shadow:0 8px 32px var(--nexface-shadow-lg);display:flex;flex-direction:column;overflow:hidden;animation:slideUp .3s cubic-bezier(.4,0,.2,1)}@keyframes slideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.nexface-header{background:var(--nexface-theme-color);color:#fff;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px var(--nexface-shadow)}.nexface-header-content{display:flex;align-items:center;gap:12px;flex:1}.nexface-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,rgba(255,255,255,.3),rgba(255,255,255,.1));border:2px solid rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px}.nexface-title h3{font-size:16px;font-weight:600;margin-bottom:2px}.nexface-status{font-size:12px;opacity:.9;display:flex;align-items:center;gap:6px}.nexface-status::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--nexface-success);display:inline-block;animation:pulse 2s infinite}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}.nexface-close-btn{background:0 0;border:none;color:#fff;cursor:pointer;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s}.nexface-close-btn:hover{background:rgba(255,255,255,.2)}.nexface-messages{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:12px;background:var(--nexface-bg-secondary)}.nexface-messages::-webkit-scrollbar{width:6px}.nexface-messages::-webkit-scrollbar-track{background:0 0}.nexface-messages::-webkit-scrollbar-thumb{background:var(--nexface-border);border-radius:3px}.nexface-message{display:flex;flex-direction:column;max-width:80%;animation:messageIn .3s ease-out}@keyframes messageIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.nexface-message-user{align-self:flex-end}.nexface-message-assistant{align-self:flex-start}.nexface-message-content{padding:12px 16px;border-radius:12px;word-wrap:break-word;line-height:1.5;font-size:14px}.nexface-message-user .nexface-message-content{background:var(--nexface-theme-color);color:#fff;border-bottom-right-radius:4px}.nexface-message-assistant .nexface-message-content{background:#fff;color:var(--nexface-text-primary);border-bottom-left-radius:4px;box-shadow:0 1px 2px var(--nexface-shadow)}.nexface-message-system .nexface-message-content{background:#fff3cd;color:#856404;align-self:center;font-size:13px}.nexface-message-time{font-size:11px;color:var(--nexface-text-secondary);margin-top:4px;opacity:.7}.nexface-message-user .nexface-message-time{text-align:right}.nexface-typing-indicator{display:flex;gap:4px;padding:12px 16px;background:#fff;border-radius:12px;max-width:60px;align-self:flex-start;margin-left:20px;box-shadow:0 1px 2px var(--nexface-shadow)}.nexface-typing-indicator span{width:8px;height:8px;border-radius:50%;background:var(--nexface-text-secondary);animation:typing 1.4s infinite}.nexface-typing-indicator span:nth-child(2){animation-delay:.2s}.nexface-typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,100%,60%{transform:translateY(0);opacity:.5}30%{transform:translateY(-10px);opacity:1}}.nexface-input-container{display:flex;gap:8px;padding:16px 20px;background:#fff;border-top:1px solid var(--nexface-border)}.nexface-input{flex:1;border:1px solid var(--nexface-border);border-radius:24px;padding:12px 16px;font-size:14px;outline:0;transition:border-color .2s}.nexface-input:focus{border-color:var(--nexface-theme-color)}.nexface-send-btn{width:44px;height:44px;border-radius:50%;background:var(--nexface-theme-color);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.nexface-send-btn:hover{background:var(--nexface-theme-dark);transform:scale(1.05)}.nexface-send-btn:active{transform:scale(.95)}.nexface-voice-content{flex:1;display:flex;flex-direction:column;background:linear-gradient(135deg,var(--nexface-theme-light) 0,var(--nexface-theme-color) 100%)}.nexface-voice-visual{flex:1;display:flex;align-items:center;justify-content:center;position:relative}.nexface-voice-avatar{width:120px;height:120px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;position:relative;box-shadow:0 8px 32px rgba(0,0,0,.2)}.nexface-voice-pulse{position:absolute;width:100%;height:100%;border-radius:50%;border:3px solid #fff;animation:voicePulse 2s infinite}@keyframes voicePulse{0%{transform:scale(1);opacity:1}100%{transform:scale(1.5);opacity:0}}.nexface-voice-controls{padding:24px;display:flex;flex-direction:column;gap:12px;background:#fff}.nexface-voice-btn{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 24px;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px var(--nexface-shadow)}.nexface-voice-btn:not(.danger){background:var(--nexface-theme-color);color:#fff}.nexface-voice-btn.danger{background:var(--nexface-danger);color:#fff}.nexface-voice-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--nexface-shadow-lg)}.nexface-voice-btn:active{transform:translateY(0)}.nexface-transcript{padding:16px 24px;background:rgba(0,0,0,.05);max-height:120px;overflow-y:auto}.nexface-transcript-item{font-size:14px;line-height:1.6;margin-bottom:8px}.nexface-transcript-item strong{color:var(--nexface-theme-dark)}.nexface-video-container{position:relative;flex:1;background:#000;display:flex;align-items:center;justify-content:center}#nexface-remote-video{width:100%;height:100%;object-fit:cover}#nexface-local-video{position:absolute;bottom:16px;right:16px;width:120px;height:90px;border-radius:12px;object-fit:cover;border:2px solid #fff;box-shadow:0 4px 12px rgba(0,0,0,.5);z-index:10}.nexface-video-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.7);z-index:5;pointer-events:none}.nexface-connection-status{color:#fff;font-size:16px;font-weight:600;padding:12px 24px;background:rgba(0,0,0,.5);border-radius:24px}.nexface-video-controls{display:flex;justify-content:center;gap:16px;padding:20px;background:rgba(0,0,0,.8)}.nexface-control-btn{width:52px;height:52px;border-radius:50%;border:none;background:rgba(255,255,255,.2);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;backdrop-filter:blur(10px)}.nexface-control-btn:hover{background:rgba(255,255,255,.3);transform:scale(1.1)}.nexface-control-btn:active{transform:scale(.95)}.nexface-control-btn.danger{background:var(--nexface-danger)}.nexface-control-btn.danger:hover{background:#d32f2f}.nexface-control-btn.disabled,.nexface-control-btn.muted{background:rgba(255,255,255,.1);opacity:.6}@media (max-width:768px){.nexface-widget.nexface-bottom-left,.nexface-widget.nexface-bottom-right,.nexface-widget.nexface-top-left,.nexface-widget.nexface-top-right{bottom:10px;right:10px;left:auto;top:auto}.nexface-chat-window,.nexface-video-window,.nexface-voice-window{width:calc(100vw - 20px);height:calc(100vh - 80px);max-width:none;max-height:none;bottom:74px;right:10px;border-radius:12px}.nexface-button{width:56px;height:56px}#nexface-local-video{width:80px;height:60px;bottom:12px;right:12px}}@media (max-width:480px){.nexface-messages{padding:12px}.nexface-message-content{font-size:13px;padding:10px 14px}.nexface-input-container{padding:12px}.nexface-voice-avatar{width:100px;height:100px}}@media (prefers-color-scheme:dark){:root{--nexface-bg-primary:#1e1e1e;--nexface-bg-secondary:#121212;--nexface-text-primary:#ffffff;--nexface-text-secondary:#b0b0b0;--nexface-border:#333333}.nexface-message-assistant .nexface-message-content{background:#2d2d2d;color:var(--nexface-text-primary)}.nexface-input{background:#2d2d2d;color:var(--nexface-text-primary);border-color:var(--nexface-border)}.nexface-input-container{background:#1e1e1e}.nexface-voice-controls{background:#1e1e1e}}.nexface-button:focus,.nexface-close-btn:focus,.nexface-control-btn:focus,.nexface-send-btn:focus,.nexface-voice-btn:focus{outline:3px solid var(--nexface-theme-light);outline-offset:2px}.nexface-input:focus{box-shadow:0 0 0 3px rgba(25,118,210,.1)}@media print{.nexface-widget{display:none}}