.voice-assistant-container{position:fixed;bottom:20px;right:20px;width:380px;max-width:90vw;background:var(--color-surface);border-radius:16px;box-shadow:0 10px 40px #0003;z-index:1000;overflow:hidden}.voice-assistant-container .voice-assistant-header{padding:16px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;justify-content:space-between;align-items:center}.voice-assistant-container .voice-assistant-header h3{margin:0;font-size:18px;font-weight:600}.voice-assistant-container .voice-assistant-header .header-actions{display:flex;gap:8px}.voice-assistant-container .voice-assistant-header .header-actions button{background:#fff3;border:none;color:#fff;width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.voice-assistant-container .voice-assistant-header .header-actions button:hover{background:#ffffff4d;transform:scale(1.05)}.voice-assistant-container .voice-assistant-header .header-actions button svg{font-size:18px}.voice-assistant-container .not-supported{padding:40px 20px;text-align:center}.voice-assistant-container .not-supported p{color:var(--color-text-secondary);margin:8px 0;line-height:1.5}.voice-assistant-container .voice-settings{padding:20px;max-height:400px;overflow-y:auto}.voice-assistant-container .voice-settings h4{margin:0 0 20px;font-size:16px;font-weight:600;color:var(--color-text-primary)}.voice-assistant-container .voice-settings .setting-group{margin-bottom:16px}.voice-assistant-container .voice-settings .setting-group label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:var(--color-text-secondary)}.voice-assistant-container .voice-settings .setting-group label input[type=checkbox]{margin-right:8px}.voice-assistant-container .voice-settings .setting-group select,.voice-assistant-container .voice-settings .setting-group input[type=range]{width:100%;padding:8px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-background);color:var(--color-text-primary);font-size:14px}.voice-assistant-container .voice-settings .setting-group select:focus,.voice-assistant-container .voice-settings .setting-group input[type=range]:focus{outline:none;border-color:#667eea}.voice-assistant-container .voice-settings .setting-group input[type=range]{padding:4px}.voice-assistant-container .voice-settings .save-settings-btn{width:100%;padding:12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.voice-assistant-container .voice-settings .save-settings-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.voice-assistant-container .voice-interface{padding:20px}.voice-assistant-container .voice-interface .waveform-container{margin-bottom:20px;display:flex;justify-content:center}.voice-assistant-container .voice-interface .waveform-container .waveform-canvas{border-radius:8px;background:var(--color-background)}.voice-assistant-container .voice-interface .voice-controls{display:flex;justify-content:center;gap:30px;margin-bottom:20px}.voice-assistant-container .voice-interface .voice-controls button{width:64px;height:64px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;position:relative}.voice-assistant-container .voice-interface .voice-controls button svg{font-size:24px}.voice-assistant-container .voice-interface .voice-controls button.mic-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.voice-assistant-container .voice-interface .voice-controls button.mic-button.listening{animation:pulse 1.5s infinite;background:linear-gradient(135deg,#f093fb,#f5576c)}.voice-assistant-container .voice-interface .voice-controls button.mic-button.listening:before{content:"";position:absolute;width:100%;height:100%;border-radius:50%;border:2px solid #f5576c;animation:ripple 1.5s infinite}.voice-assistant-container .voice-interface .voice-controls button.mic-button:hover:not(.listening){transform:scale(1.1);box-shadow:0 6px 20px #667eea66}.voice-assistant-container .voice-interface .voice-controls button.mic-button:disabled{opacity:.5;cursor:not-allowed}.voice-assistant-container .voice-interface .voice-controls button.speaker-button{background:linear-gradient(135deg,#fa709a,#fee140);color:#fff}.voice-assistant-container .voice-interface .voice-controls button.speaker-button.speaking{animation:pulse 1s infinite}.voice-assistant-container .voice-interface .voice-controls button.speaker-button.speaking:before{content:"";position:absolute;width:100%;height:100%;border-radius:50%;border:2px solid #fa709a;animation:ripple 1s infinite}.voice-assistant-container .voice-interface .voice-controls button.speaker-button:hover:not(.speaking){transform:scale(1.1);box-shadow:0 6px 20px #fa709a66}.voice-assistant-container .voice-interface .voice-controls button.speaker-button:disabled{opacity:.5;cursor:not-allowed}.voice-assistant-container .voice-interface .status-indicator{text-align:center;margin-bottom:20px}.voice-assistant-container .voice-interface .status-indicator span{display:inline-block;padding:6px 16px;border-radius:20px;font-size:13px;font-weight:500}.voice-assistant-container .voice-interface .status-indicator span.listening{background:#f5576c1a;color:#f5576c}.voice-assistant-container .voice-interface .status-indicator span.speaking{background:#fa709a1a;color:#fa709a}.voice-assistant-container .voice-interface .status-indicator span.idle{background:var(--color-background);color:var(--color-text-secondary)}.voice-assistant-container .voice-interface .transcript-display,.voice-assistant-container .voice-interface .response-display{margin-bottom:16px;padding:12px;background:var(--color-background);border-radius:8px}.voice-assistant-container .voice-interface .transcript-display h4,.voice-assistant-container .voice-interface .response-display h4{margin:0 0 8px;font-size:13px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.voice-assistant-container .voice-interface .transcript-display p,.voice-assistant-container .voice-interface .response-display p{margin:0;font-size:14px;line-height:1.5;color:var(--color-text-primary)}.voice-assistant-container .voice-interface .transcript-display p.interim,.voice-assistant-container .voice-interface .response-display p.interim{color:var(--color-text-secondary);font-style:italic}.voice-assistant-container .voice-interface .error-display{margin-bottom:16px;padding:12px;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:8px}.voice-assistant-container .voice-interface .error-display p{margin:0;font-size:13px;color:#ef4444}.voice-assistant-container .voice-interface .voice-commands-hint{margin-top:20px;padding:12px;background:var(--color-background);border-radius:8px}.voice-assistant-container .voice-interface .voice-commands-hint h5{margin:0 0 12px;font-size:13px;font-weight:600;color:var(--color-text-secondary)}.voice-assistant-container .voice-interface .voice-commands-hint ul{margin:0;padding:0;list-style:none}.voice-assistant-container .voice-interface .voice-commands-hint ul li{margin-bottom:6px;padding-left:16px;position:relative;font-size:13px;color:var(--color-text-secondary);font-style:italic}.voice-assistant-container .voice-interface .voice-commands-hint ul li:before{content:'"';position:absolute;left:0;color:#667eea;font-weight:600}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes ripple{0%{transform:scale(1);opacity:1}to{transform:scale(1.5);opacity:0}}@media(prefers-color-scheme:dark){.voice-assistant-container{background:#1a1a1a;box-shadow:0 10px 40px #00000080}.voice-assistant-container .voice-settings .setting-group select,.voice-assistant-container .voice-settings .setting-group input[type=range],.voice-assistant-container .voice-interface .setting-group select,.voice-assistant-container .voice-interface .setting-group input[type=range]{background:#2a2a2a;border-color:#3a3a3a}.voice-assistant-container .voice-settings .waveform-canvas,.voice-assistant-container .voice-settings .transcript-display,.voice-assistant-container .voice-settings .response-display,.voice-assistant-container .voice-settings .voice-commands-hint,.voice-assistant-container .voice-interface .waveform-canvas,.voice-assistant-container .voice-interface .transcript-display,.voice-assistant-container .voice-interface .response-display,.voice-assistant-container .voice-interface .voice-commands-hint{background:#2a2a2a}}@media(max-width:480px){.voice-assistant-container{width:calc(100vw - 40px);bottom:10px;right:10px;left:10px}}
