:root{--mic-icon-color:#595959;--mic-active-color:#1890ff;--mic-hover-bg:rgba(24,144,255,.1);--mic-active-bg:rgba(24,144,255,.15)}[data-theme=dark]{--mic-icon-color:#a6a6a6;--mic-active-color:#177ddc;--mic-hover-bg:rgba(23,125,220,.1);--mic-active-bg:rgba(23,125,220,.15)}.microphone-button{position:relative;padding:18px!important;height:36px!important;border-radius:8px!important;border:1px solid #e5e5e5!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important;background:transparent!important}.microphone-button:not(:disabled):hover{background:var(--mic-hover-bg)!important}.mic-container{position:relative;display:flex;align-items:center;justify-content:center;height:100%;width:24px}.mic-icon{font-size:18px;transition:all .3s ease;color:var(--mic-icon-color)!important}.microphone-button:hover .mic-icon{color:var(--mic-active-color)!important}.waveform{height:20px;width:100%}.wave-group,.waveform{display:flex;align-items:center;justify-content:center}.wave-group{gap:1px;height:100%}.wave-bar{width:2px;background-color:var(--mic-active-color);border-radius:2px;transition:height .2s ease}.wave-bar:first-child{animation:wave1 1.2s ease-in-out infinite}.wave-bar:nth-child(2){animation:wave2 1.2s ease-in-out infinite}.wave-bar:nth-child(3){animation:wave3 1.2s ease-in-out infinite}.wave-bar:nth-child(4){animation:wave2 1.2s ease-in-out .1s infinite}.wave-bar:nth-child(5){animation:wave1 1.2s ease-in-out .2s infinite}.wave-bar:nth-child(6){animation:wave3 1.2s ease-in-out .3s infinite}.wave-bar:nth-child(7){animation:wave1 1.2s ease-in-out .4s infinite}.wave-bar:nth-child(8){animation:wave2 1.2s ease-in-out .5s infinite}.wave-bar:nth-child(9){animation:wave3 1.2s ease-in-out .4s infinite}.wave-bar:nth-child(10){animation:wave1 1.2s ease-in-out .3s infinite}.wave-bar:nth-child(11){animation:wave2 1.2s ease-in-out .2s infinite}.wave-bar:nth-child(12){animation:wave3 1.2s ease-in-out .1s infinite}@keyframes wave1{0%,to{height:3px}20%{height:15px}40%{height:8px}60%{height:12px}80%{height:5px}}@keyframes wave2{0%,to{height:5px}20%{height:12px}40%{height:15px}60%{height:8px}80%{height:3px}}@keyframes wave3{0%,to{height:8px}20%{height:5px}40%{height:12px}60%{height:15px}80%{height:3px}}.microphone-button:disabled{opacity:.5;cursor:not-allowed}.microphone-button:disabled .mic-icon{color:var(--mic-icon-color)!important;opacity:.5}.dark .microphone-button{border:1px solid #4a5568!important}@media (max-width:768px){.microphone-button.ant-btn{height:32px!important;border-radius:20px!important;padding:4px 8px!important}.wave-group{gap:.8px}.wave-bar{width:1.5px}}@media (forced-colors:active){.mic-icon,.wave-bar{forced-color-adjust:none}}.temporary-chat-wrapper{display:flex;flex-direction:column;gap:20px;width:100%;height:100%;background:linear-gradient(180deg,rgba(59,130,246,.05),rgba(59,130,246,.02));border-radius:16px;padding:20px;margin:16px 0}.temporary-session-indicator{display:flex;align-items:center;gap:10px;padding:12px 16px;background:rgba(37,99,235,.1);border-radius:12px;font-size:14px;color:#2563eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 2px 8px rgba(0,0,0,.05)}.temporary-messages-container{display:flex;flex-direction:column;gap:20px;padding:20px;background:hsla(0,0%,100%,.8);border-radius:16px;box-shadow:0 4px 12px rgba(0,0,0,.05);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.temporary-message{max-width:85%;padding:16px;border-radius:16px;position:relative;transition:all .3s ease}.user-message{align-self:flex-end;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;margin-left:15%;box-shadow:0 4px 12px rgba(37,99,235,.2)}.assistant-message{align-self:flex-start;background:#fff;border:1px solid rgba(37,99,235,.1);color:#1e293b;margin-right:15%;box-shadow:0 4px 12px rgba(0,0,0,.05)}.message-content{font-size:15px;line-height:1.6;white-space:pre-wrap}.message-timestamp{font-size:12px;opacity:.7;margin-top:6px;text-align:right}.dark .temporary-chat-wrapper{background:linear-gradient(180deg,rgba(30,58,138,.1),rgba(30,58,138,.05))}.dark .temporary-messages-container{background:rgba(30,41,59,.8)}.dark .user-message{background:linear-gradient(135deg,#1e40af,#1e3a8a)}.dark .assistant-message{background:#1e293b;border-color:rgba(59,130,246,.2);color:#e2e8f0}.typing-indicator{display:flex;gap:6px;padding:12px;opacity:.8}.typing-indicator span{width:8px;height:8px;background:currentColor;border-radius:50%;animation:bounce 1.4s ease-in-out infinite}.typing-indicator span:first-child{animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-8px)}}.api-key-modal .ant-modal-content{border-radius:12px;overflow:hidden}.api-key-modal .ant-modal-header{padding:10px 0;border-bottom:1px solid #e5e7eb}.api-key-modal .ant-modal-title{font-size:18px;font-weight:600}.api-key-content{padding:10px 0}.api-key-content .description{margin-bottom:24px;color:#4b5563;font-size:14px;line-height:1.6}.api-key-input{margin-bottom:16px;font-family:monospace;letter-spacing:1px;background:#fff!important;color:#4b5563!important}.api-key-input input::-moz-placeholder{color:#4b5563!important;font-style:italic}.api-key-input input::placeholder{color:#4b5563!important;font-style:italic}.api-key-content .get-key-link{display:block;margin:16px 0 24px;color:#2563eb;text-decoration:none;font-size:14px}.api-key-content .get-key-link:hover{text-decoration:underline}.api-key-content .validation-note{margin:0;color:#6b7280;font-size:12px;font-style:italic}.api-key-modal .ant-modal-footer{border-top:1px solid #e5e7eb;padding:16px 24px}.api-key-modal .ant-modal-footer .ant-btn{min-width:80px}.dark .api-key-input{background:#000!important;color:#9ca3af!important}.dark .api-key-input input::-moz-placeholder{color:#9ca3af!important;font-style:italic}.dark .api-key-input input::placeholder{color:#9ca3af!important;font-style:italic}.dark .api-key-modal .ant-modal-header{border-bottom-color:#374151}.dark .api-key-modal .ant-modal-footer{border-top-color:#374151}.dark .api-key-content .description{color:#9ca3af}.dark .api-key-content .get-key-link{color:#60a5fa}.dark .api-key-content .validation-note{color:#9ca3af}.ant-input-affix-wrapper .anticon.ant-input-password-icon{color:rgba(0,0,0,.45)!important}.dark .ant-input-affix-wrapper .anticon.ant-input-password-icon{color:hsla(0,0%,100%,.45)!important}.variables-modal .ant-modal-content{border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.08)}.variables-modal .ant-modal-close{top:16px;right:16px}.dark .variables-modal .ant-modal-content,.dark .variables-modal .ant-modal-header{background:#1a1a1a}.dark .variables-modal .ant-modal-close{color:hsla(0,0%,100%,.45)}.variables-manager{display:flex;flex-direction:column;gap:24px}.add-variable-section{background:#f5f8ff;border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.dark .add-variable-section{background:rgba(59,130,246,.1)}.add-variable-section input::-moz-placeholder{color:#cdbcbc!important}.add-variable-section input::placeholder{color:#cdbcbc!important}.dark .add-variable-section input::-moz-placeholder{color:#a3a3a3!important}.dark .add-variable-section input::placeholder{color:#a3a3a3!important}.add-variable-section .ant-input,.variable-input{border:1px solid #e5e7eb!important;border-radius:8px!important;height:40px;background:#fff!important;color:rgba(0,0,0,.85)!important}.dark .add-variable-section .ant-input,.dark .variable-input{background:#2a2a2a!important;border-color:#404040!important;color:#fff!important}.add-variable-section .ant-input:hover,.variable-input:hover{border-color:#3b82f6!important}.dark .add-variable-section .ant-input:hover,.dark .variable-input:hover{border-color:#177ddc!important}.add-variable-section .ant-input:focus,.variable-input:focus{border-color:#3b82f6!important;box-shadow:0 0 0 2px rgba(59,130,246,.1)!important}.dark .add-variable-section .ant-input:focus,.dark .variable-input:focus{border-color:#177ddc!important;box-shadow:0 0 0 2px rgba(59,130,246,.1)!important}.add-variable-section .ant-btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb)!important;border:none;height:40px;border-radius:8px;font-weight:500}.dark .add-variable-section .ant-btn-primary{background:linear-gradient(135deg,#177ddc,#1f82d2)!important}.add-variable-section .ant-btn-primary:hover{background:linear-gradient(135deg,#40a9ff,#1f82d2)!important}.dark .add-variable-section .ant-btn-primary:hover{background:linear-gradient(135deg,#1f82d2,#2563eb)!important}.add-variable-section .ant-btn-primary:disabled{background:#f5f5f5;border-color:#d9d9d9;color:rgba(0,0,0,.25)}.dark .add-variable-section .ant-btn-primary:disabled{background:#262626;border-color:#434343;color:hsla(0,0%,100%,.25)}.variable-hint{font-size:14px;color:#666;margin-top:4px}.dark .variable-hint{color:#a3a3a3}.variables-list{background:#f5f8ff;border-radius:12px;padding:4px}.dark .variables-list{background:rgba(59,130,246,.1)}.variables-list .ant-list-item{padding:16px;border-bottom:1px solid #e5e7eb}.variables-list .ant-list-item:last-child{border-bottom:none}.dark .variables-list .ant-list-item{border-color:#404040}.variable-name{font-weight:500;color:#1a1a1a}.dark .variable-name{color:#fff}.variable-value{color:#666}.dark .variable-value{color:#a3a3a3}.variables-list .ant-btn{border:none;background:none;padding:4px 8px;color:#666}.variables-list .ant-btn:hover{color:#ef4444;background:rgba(239,68,68,.1);border-radius:6px}.dark .variables-list .ant-btn:hover{color:#ef4444;background:rgba(239,68,68,.15);border-radius:6px}.input-box{position:relative}.variable-suggestions{position:absolute;top:0;transform:translateY(-100%);left:0;right:0;background:hsla(0,0%,100%,.98);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(229,231,235,.8);border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.1);max-height:300px;overflow-y:auto;z-index:1000;margin-top:-8px}.dark .variable-suggestions{background:rgba(30,41,59,.98);border:1px solid rgba(55,65,81,.8);box-shadow:0 4px 20px rgba(0,0,0,.3)}.suggestions-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:hsla(0,0%,100%,.95);border-bottom:1px solid rgba(229,231,235,.8);border-top-left-radius:12px;border-top-right-radius:12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0;z-index:2}.dark .suggestions-header{background:rgba(30,41,59,.95);border-bottom:1px solid rgba(55,65,81,.8)}.suggestions-title{font-weight:600;color:#1f2937;font-size:.9rem;letter-spacing:.01em}.dark .suggestions-title{color:#e5e7eb}.suggestions-count{background:rgba(59,130,246,.1);color:#2563eb;padding:2px 8px;border-radius:12px;font-size:.8rem;font-weight:500}.dark .suggestions-count{background:rgba(59,130,246,.15);color:#60a5fa}.suggestions-list{padding:8px 0}.suggestion-item{padding:10px 16px;cursor:pointer;color:#1f2937;display:flex;align-items:center;gap:10px;transition:all .2s ease;position:relative;margin:0 6px;border-radius:8px}.dark .suggestion-item{color:#e5e7eb}.saved-prompt-item:before,.suggestion-item:before{content:"__$";color:#6b7280;font-family:monospace;font-size:.9em}.saved-prompt-item:before{content:">"}.dark .suggestion-item:before{color:#9ca3af}.suggestion-item:hover{background:rgba(59,130,246,.1);color:#2563eb}.dark .suggestion-item:hover{background:rgba(59,130,246,.15);color:#60a5fa}.suggestion-item.selected{background:rgba(59,130,246,.15);color:#2563eb;font-weight:500}.dark .suggestion-item.selected{background:rgba(59,130,246,.2);color:#60a5fa}.suggestion-item:not(:last-child){margin-bottom:2px}.variable-suggestions::-webkit-scrollbar{width:6px;height:6px}.variable-suggestions::-webkit-scrollbar-track{background:transparent;margin:4px 0}.variable-suggestions::-webkit-scrollbar-thumb{background:rgba(156,163,175,.5);border-radius:100px}.dark .variable-suggestions::-webkit-scrollbar-thumb{background:rgba(156,163,175,.3)}.variable-suggestions::-webkit-scrollbar-thumb:hover{background:hsla(220,9%,46%,.7)}.dark .variable-suggestions::-webkit-scrollbar-thumb:hover{background:rgba(156,163,175,.5)}.variable-suggestions:empty:after{content:"No variables found";display:block;padding:12px 16px;color:#6b7280;font-style:italic;text-align:center}.dark .variable-suggestions:empty:after{color:#9ca3af}.variable-tag{display:inline-flex;align-items:center;background:#f5f5f5;border-radius:4px;padding:2px 6px;margin:0 2px;font-family:monospace;font-size:.9em;color:#1890ff}.dark .variable-tag{background:#262626;color:#177ddc}.variable-suggestions::-webkit-scrollbar,.variables-list::-webkit-scrollbar{width:6px;height:6px}.variable-suggestions::-webkit-scrollbar-track,.variables-list::-webkit-scrollbar-track{background:#f0f0f0;border-radius:3px}.dark .variable-suggestions::-webkit-scrollbar-track,.dark .variables-list::-webkit-scrollbar-track{background:#262626}.variable-suggestions::-webkit-scrollbar-thumb,.variables-list::-webkit-scrollbar-thumb{background:#d9d9d9;border-radius:3px}.dark .variable-suggestions::-webkit-scrollbar-thumb,.dark .variables-list::-webkit-scrollbar-thumb{background:#434343}.variable-suggestions::-webkit-scrollbar-thumb:hover,.variables-list::-webkit-scrollbar-thumb:hover{background:#bfbfbf}.dark .variable-suggestions::-webkit-scrollbar-thumb:hover,.dark .variables-list::-webkit-scrollbar-thumb:hover{background:#595959}.ollama-status-container{margin:16px 0}.ollama-connected-status{display:flex;align-items:center;gap:16px}.ollama-status{display:flex;align-items:center;gap:8px}.ollama-status .ant-btn{display:flex;align-items:center;gap:6px;height:32px;padding:4px 12px;border-radius:6px;font-size:13px;font-weight:500;transition:all .3s ease}.ollama-setup-modal .ant-modal-content{border-radius:12px;overflow:hidden}.ollama-setup-modal .ant-modal-header{padding:16px 24px;border-bottom:1px solid rgba(0,0,0,.06);margin-bottom:0}.ollama-setup-modal .ant-modal-body{padding:14px}.ollama-setup-modal .ant-modal-title{font-size:18px;font-weight:600}.ollama-setup-modal .ant-steps-item-title{font-weight:500}.ollama-setup-modal .ant-steps-item-description{margin-top:8px;color:rgba(0,0,0,.65)}.ollama-code-block{background:#f6f8fa;border-radius:6px;padding:12px 16px;margin:12px 0;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:13px;line-height:1.4;overflow-x:auto}.ollama-code-block code{color:#24292e}.dark .ollama-setup-modal .ant-modal-content{background-color:#1e1e1e;box-shadow:0 8px 24px rgba(0,0,0,.4)}.dark .ollama-setup-modal .ant-modal-header{background-color:#1e1e1e;border-bottom-color:hsla(0,0%,100%,.1)}.dark .ollama-setup-modal .ant-modal-title{color:#fff}.dark .ollama-setup-modal .ant-steps-item-title{color:#fff!important}.dark .ollama-setup-modal .ant-steps-item-description{color:hsla(0,0%,100%,.65)!important}.dark .ollama-setup-modal .ant-steps-item-tail:after{background-color:hsla(0,0%,100%,.15)!important}.dark .ollama-setup-modal .ant-steps-item-icon{background-color:transparent!important;border-color:hsla(0,0%,100%,.3)!important}.dark .ollama-setup-modal .ant-steps-item-icon .ant-steps-icon{color:hsla(0,0%,100%,.85)!important}.dark .ollama-code-block{background:#2d2d2d;border:1px solid hsla(0,0%,100%,.1)}.dark .ollama-code-block code{color:#e1e4e8}.ollama-connected-btn{color:#52c41a!important;background:rgba(82,196,26,.1)!important;border:1px solid rgba(82,196,26,.2)!important}.ollama-connected-btn:hover{background:rgba(82,196,26,.15)!important;border-color:rgba(82,196,26,.3)!important}.ollama-checking-btn{color:#1890ff!important;background:rgba(24,144,255,.1)!important;border:1px solid rgba(24,144,255,.2)!important}.ollama-status .anticon{font-size:16px}.ollama-setup-modal .action-buttons{margin-top:24px;display:flex;gap:12px;align-items:center}.ollama-setup-modal .action-buttons .ant-btn{height:36px;padding:0 16px;font-weight:500;display:flex;align-items:center;gap:8px}.ollama-setup-modal .ant-alert{border-radius:8px;margin-top:16px}.ollama-setup-modal .ant-alert-message{font-weight:500}.ollama-setup-modal .ant-alert-description{margin-top:4px}.ollama-setup-modal.dark .ant-alert{background-color:rgba(255,77,79,.1);border-color:rgba(255,77,79,.3)}.ollama-setup-modal.dark .ant-alert-icon{color:rgba(255,77,79,.85)}.dark .ollama-setup-modal .ant-alert{background-color:#2d2d2d;border:1px solid hsla(0,0%,100%,.1)}.ollama-setup-steps{margin-top:16px}.ollama-status-alert{position:fixed;top:64px;left:50%;transform:translateX(-50%);z-index:1000;width:90%;max-width:600px;padding:0 16px}.macos-note{margin-top:16px;padding:16px;border-radius:8px;background-color:var(--background-secondary);border:1px solid var(--border-color)}.macos-note-title{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:var(--text-primary)}.macos-note-content{color:var(--text-secondary);font-size:14px;line-height:1.5}.macos-code-block{margin-top:12px;padding:12px;border-radius:6px;background-color:var(--background-tertiary);font-family:SF Mono,Monaco,Menlo,Consolas,Courier New,monospace;font-size:13px;line-height:1.4}.macos-code-block code{display:block;margin:8px 0;color:var(--text-code)}.macos-code-block p{margin:8px 0 0;color:var(--text-secondary);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:12px}.ant-tabs-tab .ant-tabs-tab-btn{color:#666}.dark .ant-tabs-tab .ant-tabs-tab-btn{color:#a3a3a3}.ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn{color:#3b82f6!important}.ant-popover .ant-popover-arrow:after,.ant-popover .ant-popover-inner{background-color:#fff!important}.dark .ant-popover .ant-popover-inner{background-color:#2c2b2b!important}.dark .ant-popover .ant-popover-arrow:after{background-color:#000!important}.ant-popconfirm .ant-popconfirm-message .ant-popconfirm-description,.ant-popconfirm .ant-popconfirm-message .ant-popconfirm-title{color:#000!important}.dark .ant-popconfirm .ant-popconfirm-message .ant-popconfirm-description,.dark .ant-popconfirm .ant-popconfirm-message .ant-popconfirm-title{color:#fff!important}.google-search-config-modal .ant-modal-content{border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.08)}.google-search-config-modal .ant-modal-close{top:16px;right:16px}.dark .google-search-config-modal .ant-modal-content,.dark .google-search-config-modal .ant-modal-header{background:#1a1a1a}.modal-title{display:flex;align-items:center}.modal-icon{font-size:1.2em;margin-right:8px}.config-content{display:flex;flex-direction:column;gap:20px;margin-top:20px}.config-input-group{display:flex;flex-direction:column;gap:8px}.config-label{font-size:14px;font-weight:500;color:#333}.dark .config-label{color:#ccc}.config-input{border:1px solid #e5e7eb!important;border-radius:8px!important;height:40px;background:#fff!important;color:rgba(0,0,0,.85)!important}.dark .config-input{background:#2a2a2a!important;border-color:#404040!important;color:#fff!important}.config-input:hover{border-color:#3b82f6!important}.dark .config-input:hover{border-color:#177ddc!important}.config-input:focus{border-color:#3b82f6!important}.config-input:focus,.dark .config-input:focus{box-shadow:0 0 0 2px rgba(59,130,246,.1)!important}.dark .config-input:focus{border-color:#177ddc!important}