.ai-consent-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.7);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1;opacity:0;transition:opacity .3s ease}.ai-consent-overlay.visible{opacity:1}.ai-consent-dialog{background:linear-gradient(135deg,#1a1a2e,#16213e);border:1px solid #0f3460;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.5),0 0 40px rgba(79,172,254,.1);max-width:min(500px,100vw);width:90%;max-height:min(90vh,100vh);overflow-y:auto;transform:scale(.9);transition:transform .3s ease;box-sizing:border-box}.ai-consent-dialog.extended{max-width:min(700px,95vw);width:95%}.ai-consent-overlay.visible .ai-consent-dialog{transform:scale(1)}.ai-consent-dialog .dialog-header{display:flex;align-items:center;gap:12px;padding:20px 24px;border-bottom:1px solid hsla(0,0%,100%,.1);background:linear-gradient(90deg,rgba(79,172,254,.1),transparent)}.ai-consent-dialog .dialog-icon{font-size:2rem}.ai-consent-dialog .dialog-header h2{margin:0;font-size:1.2rem;font-weight:600;color:#e0e0e0}.ai-consent-dialog .dialog-body{padding:20px 24px}.ai-consent-dialog .intro{color:#b0b0b0;margin-bottom:16px;line-height:1.5}.ai-consent-dialog .requirements-list{list-style:none;padding:0;margin:0 0 20px}.ai-consent-dialog .requirements-list li{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:12px;padding:8px 0;color:#d0d0d0;font-size:.95rem;line-height:1.5}.ai-consent-dialog .requirements-list li>.icon{display:inline-block!important;font-size:1.2rem;width:28px;min-width:28px;max-width:28px;text-align:center;flex-shrink:0;flex-grow:0}.ai-consent-dialog .requirements-list li>span:last-child{flex:1}.ai-consent-dialog .browser-status{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-radius:8px;margin-bottom:16px}.ai-consent-dialog .browser-status.success{background:rgba(46,204,113,.15);border:1px solid rgba(46,204,113,.3)}.ai-consent-dialog .browser-status.warning{background:rgba(241,196,15,.15);border:1px solid rgba(241,196,15,.3)}.ai-consent-dialog .browser-status.error{background:rgba(231,76,60,.15);border:1px solid rgba(231,76,60,.3)}.ai-consent-dialog .browser-status .icon{font-size:1.5rem;width:32px;min-width:32px;text-align:center;flex-shrink:0}.ai-consent-dialog .browser-status strong{display:block;color:#e0e0e0;margin-bottom:4px}.ai-consent-dialog .browser-status p{margin:0;color:#a0a0a0;font-size:.9rem;line-height:1.4}.ai-consent-dialog .cache-info{padding:10px 16px;background:hsla(0,0%,100%,.05);border-radius:6px;margin-bottom:16px}.ai-consent-dialog .cache-status{font-size:.9rem}.ai-consent-dialog .cache-status.cached{color:#2ecc71}.ai-consent-dialog .cache-status.not-cached{color:#f39c12}.ai-consent-dialog .mobile-warning{display:flex;align-items:flex-start;gap:10px;padding:10px 16px;background:rgba(241,196,15,.1);border-radius:6px;margin-bottom:16px;color:#f1c40f;font-size:.9rem;line-height:1.4}.ai-consent-dialog .mobile-warning .icon{width:24px;min-width:24px;text-align:center;flex-shrink:0}.ai-consent-dialog .feature-note{display:flex;align-items:flex-start;gap:10px;padding:10px 16px;border-radius:6px;margin-bottom:16px;font-size:.9rem;line-height:1.4}.ai-consent-dialog .feature-note.success{background:rgba(46,204,113,.1);border:1px solid rgba(46,204,113,.3);color:#2ecc71}.ai-consent-dialog .feature-note.warning{background:rgba(241,196,15,.1);border:1px solid rgba(241,196,15,.3);color:#f1c40f}.ai-consent-dialog .feature-note .icon{width:24px;min-width:24px;text-align:center;flex-shrink:0}.ai-consent-dialog .privacy-note{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;background:rgba(79,172,254,.1);border-radius:6px;border-left:3px solid #4facfe;color:#a0c4ff;font-size:.9rem;line-height:1.4}.ai-consent-dialog .privacy-note .icon{width:24px;min-width:24px;text-align:center;flex-shrink:0}.ai-consent-dialog .model-selection-section{margin:20px 0;padding:16px;background:hsla(0,0%,100%,.03);border-radius:8px;border:1px solid hsla(0,0%,100%,.05)}.ai-consent-dialog .model-selection-section h3{margin:0 0 8px;color:#e0e0e0;font-size:1rem;font-weight:600}.ai-consent-dialog .section-intro{margin:0 0 12px;color:#a0a0a0;font-size:.85rem;line-height:1.4}.ai-consent-dialog .model-options{display:flex;flex-direction:column;gap:10px}.ai-consent-dialog .model-option{display:flex;align-items:flex-start;gap:12px;padding:12px;background:hsla(0,0%,100%,.05);border:2px solid transparent;border-radius:8px;cursor:pointer;transition:all .2s}.ai-consent-dialog .model-option:hover{background:hsla(0,0%,100%,.08);border-color:rgba(79,172,254,.3)}.ai-consent-dialog .model-option:has(input:checked){background:rgba(79,172,254,.15);border-color:rgba(79,172,254,.5)}.ai-consent-dialog .model-option input[type=radio]{margin-top:2px;cursor:pointer;flex-shrink:0}.ai-consent-dialog .model-info{flex:1}.ai-consent-dialog .model-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.ai-consent-dialog .model-header strong{color:#e0e0e0;font-size:.95rem}.ai-consent-dialog .model-size{color:#888;font-size:.85rem;font-weight:400}.ai-consent-dialog .model-details{display:flex;gap:12px;margin-bottom:6px;font-size:.85rem}.ai-consent-dialog .model-details span{color:#a0a0a0}.ai-consent-dialog .model-description{color:#888;font-size:.85rem;line-height:1.4}.ai-consent-dialog .dialog-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid hsla(0,0%,100%,.1)}.ai-consent-dialog .dialog-footer button{padding:10px 24px;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease}.ai-consent-dialog .btn-cancel{background:transparent;border:1px solid hsla(0,0%,100%,.2);color:#b0b0b0}.ai-consent-dialog .btn-cancel:hover{background:hsla(0,0%,100%,.05);border-color:hsla(0,0%,100%,.3)}.ai-consent-dialog .btn-accept{background:linear-gradient(135deg,#4facfe,#00f2fe);border:none;color:#0a0a0a;font-weight:600}.ai-consent-dialog .btn-accept:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 15px rgba(79,172,254,.4)}.ai-consent-dialog .btn-accept:disabled{background:#444;color:#888;cursor:not-allowed}#ai-assistant-window{display:none;flex-direction:column;background:linear-gradient(135deg,#1a1a2e,#16213e);border:1px solid #0f3460;min-width:350px;min-height:400px;max-width:100vw;max-height:calc(100vh - 40px);box-sizing:border-box}#ai-assistant-window .window-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:linear-gradient(90deg,#0f3460,#16213e);border-bottom:1px solid rgba(79,172,254,.2);cursor:move;user-select:none}#ai-assistant-window .window-title{display:flex;align-items:center;gap:8px;color:#e0e0e0;font-size:.95rem;font-weight:500}#ai-assistant-window .window-title .icon{font-size:1.1rem}#ai-assistant-window .window-controls{display:flex;gap:6px}#ai-assistant-window .window-controls button{width:24px;height:24px;border-radius:4px;border:none;font-size:.8rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}#ai-assistant-window .btn-minimize{background:#f1c40f;color:#000}#ai-assistant-window .btn-maximize{background:#2ecc71;color:#000}#ai-assistant-window .btn-close{background:#e74c3c;color:#fff}#ai-assistant-window .window-controls button:hover{filter:brightness(1.1)}#ai-assistant-window .mode-selector{display:flex;gap:8px;padding:12px 16px;background:rgba(0,0,0,.2);border-bottom:1px solid rgba(79,172,254,.2)}#ai-assistant-window .mode-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;background:hsla(0,0%,100%,.05);border:1px solid rgba(79,172,254,.2);border-radius:8px;color:#a0c4ff;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}#ai-assistant-window .mode-btn:hover{background:hsla(0,0%,100%,.08);border-color:rgba(79,172,254,.4);transform:translateY(-1px)}#ai-assistant-window .mode-btn.active{background:linear-gradient(135deg,#4facfe,#00f2fe);border-color:transparent;color:#0a0a0a;font-weight:600}#ai-assistant-window .mode-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}#ai-assistant-window .mode-btn:disabled:hover{background:hsla(0,0%,100%,.05);border-color:rgba(79,172,254,.2);transform:none}#ai-assistant-window .mode-icon{font-size:1.1rem}@media (max-width:768px){#ai-assistant-window .mode-selector{padding:10px 12px}#ai-assistant-window .mode-btn{padding:8px 12px;font-size:.85rem}#ai-assistant-window .mode-text{display:none}#ai-assistant-window .mode-icon{font-size:1.3rem}}#ai-assistant-window .chat-container{flex:1;display:flex;flex-direction:column;overflow:hidden}#ai-chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.ai-message{max-width:85%;padding:12px 16px;border-radius:12px;line-height:1.5;font-size:.95rem}.ai-message.user{align-self:flex-end;background:linear-gradient(135deg,#4facfe,#00f2fe);color:#0a0a0a;border-bottom-right-radius:4px}.ai-message.assistant{align-self:flex-start;background:hsla(0,0%,100%,.08);color:#e0e0e0;border-bottom-left-radius:4px}.ai-message.system{align-self:center;background:rgba(79,172,254,.1);color:#a0c4ff;font-size:.85rem;text-align:center;max-width:90%}.ai-message.streaming{position:relative}.ai-message.streaming .message-content{min-height:20px}.streaming-cursor{display:inline-block;width:2px;height:1em;background:#4facfe;margin-left:2px;animation:a 1s step-end infinite;vertical-align:text-bottom}@keyframes a{0%,50%{opacity:1}51%,to{opacity:0}}.ai-message .message-sources{margin-top:12px;padding-top:8px;border-top:1px solid hsla(0,0%,100%,.1)}.ai-message .source-link{display:inline-block;margin:4px 6px 4px 0;padding:4px 10px;background:rgba(79,172,254,.15);border:1px solid rgba(79,172,254,.3);border-radius:6px;font-size:.85rem;color:#4facfe;text-decoration:none;transition:all .2s}.ai-message .source-link:hover{background:rgba(79,172,254,.25);border-color:rgba(79,172,254,.5);text-decoration:none;transform:translateY(-1px)}.ai-status{display:flex;align-items:center;gap:10px;padding:16px;color:#a0a0a0}.ai-status .spinner{width:20px;height:20px;border:2px solid rgba(79,172,254,.2);border-top-color:#4facfe;border-radius:50%;animation:b 1s linear infinite}@keyframes b{to{transform:rotate(1turn)}}.ai-progress{padding:16px}.ai-progress .progress-bar{height:6px;background:hsla(0,0%,100%,.1);border-radius:3px;overflow:hidden}.ai-progress .progress-fill{height:100%;background:linear-gradient(90deg,#4facfe,#00f2fe);border-radius:3px;transition:width .3s ease}.ai-progress .progress-label{margin-top:8px;font-size:.85rem;color:#a0a0a0}#ai-assistant-window .chat-input-area{display:flex;gap:8px;padding:12px 16px;border-top:1px solid hsla(0,0%,100%,.1);background:rgba(0,0,0,.2)}#ai-chat-input{flex:1;padding:10px 14px;border:1px solid hsla(0,0%,100%,.1);border-radius:8px;background:hsla(0,0%,100%,.05);color:#e0e0e0;font-size:.95rem;resize:none;min-height:40px;max-height:120px}#ai-chat-input:focus{outline:none;border-color:rgba(79,172,254,.5)}#ai-chat-input::placeholder{color:#666}#ai-send-btn{padding:10px 16px;background:linear-gradient(135deg,#4facfe,#00f2fe);border:none;border-radius:8px;color:#0a0a0a;font-weight:600;cursor:pointer;transition:all .2s}#ai-send-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px rgba(79,172,254,.3)}#ai-send-btn:disabled{background:#444;color:#888;cursor:not-allowed}.ai-welcome{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;color:#b0b0b0}.ai-welcome .welcome-icon{font-size:3rem;margin-bottom:16px}.ai-welcome h3{color:#e0e0e0;margin:0 0 12px;font-weight:500}.ai-welcome p{margin:0 0 8px;line-height:1.5}.ai-welcome .capabilities{margin-top:16px;text-align:left;font-size:.9rem}.ai-welcome .capabilities li{padding:4px 0}.mode-toggle-btn{padding:8px 16px;background:rgba(79,172,254,.15);border:1px solid rgba(79,172,254,.3);border-radius:6px;color:#4facfe;font-size:.9rem;cursor:pointer;transition:all .2s}.mode-toggle-btn:hover{background:rgba(79,172,254,.25);border-color:rgba(79,172,254,.5);transform:translateY(-1px)}@media (max-width:768px){.ai-consent-dialog{width:calc(100vw - 20px);max-width:100vw;max-height:calc(100vh - 20px);margin:10px;box-sizing:border-box}.ai-consent-dialog .dialog-body,.ai-consent-dialog .dialog-header{padding:16px 20px}.ai-consent-dialog .dialog-footer{flex-direction:column}.ai-consent-dialog .dialog-footer button{width:100%}#ai-assistant-window{min-width:100vw;max-width:100vw;min-height:calc(100vh - 40px);max-height:calc(100vh - 40px);border-radius:0;box-sizing:border-box}}