:root{--primary-50: #f0f9ff;--primary-100: #e0f2fe;--primary-200: #bae6fd;--primary-300: #7dd3fc;--primary-400: #38bdf8;--primary-500: #0ea5e9;--primary-600: #0284c7;--primary-700: #0369a1;--primary-800: #075985;--primary-900: #0c4a6e;--personal-ai: #8b5cf6;--expert-ai: #10b981;--mentor-ai: #f59e0b;--assistant-ai: #ef4444;--success: #10b981;--warning: #f59e0b;--error: #ef4444;--info: #3b82f6;--gray-50: #fafaf9;--gray-100: #f5f5f4;--gray-200: #e7e5e4;--gray-300: #d6d3d1;--gray-400: #a8a29e;--gray-500: #78716c;--gray-600: #57534e;--gray-700: #44403c;--gray-800: #292524;--gray-900: #1c1917;--white: #ffffff;--purple-600: #a855f7;--green-600: #059669;--amber-600: #d97706;--blue-50: #eff6ff;--blue-500: #3b82f6;--blue-900: #1e3a8a;--indigo-100: #e0e7ff;--indigo-700: #4338ca;--green-50: #f0fdf4;--green-100: #dcfce7;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: .375rem;--radius: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--duration-150: .15s;--duration-200: .2s;--duration-300: .3s;--duration-500: .5s;--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--brand-gradient: linear-gradient(135deg, var(--primary-500), var(--primary-600))}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-feature-settings:"cv02","cv03","cv04","cv11";font-variation-settings:normal;-moz-tab-size:4;tab-size:4}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.6;color:var(--gray-900);background-color:var(--gray-50);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.app-container{display:flex;flex-direction:column;min-height:100vh;background:var(--gray-900)}.app-header{background:var(--gray-800);border-bottom:1px solid var(--gray-700);padding:0;position:sticky;top:0;z-index:40}.app-header-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}.app-main{flex:1;max-width:1200px;margin:0 auto;width:100%;padding:0;gap:var(--space-6);min-height:0;display:flex;flex-direction:column}#app-content{padding:0!important}.grid-container{display:grid;gap:var(--space-6);grid-template-columns:1fr;min-height:calc(100vh - 200px)}.unified-container{display:flex;flex-direction:column;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;gap:var(--space-6);overflow:hidden;padding:var(--space-4);box-sizing:border-box}.unified-container .panel.primary-panel{flex:1;display:flex;flex-direction:column;width:100%;overflow:hidden;min-height:0;box-shadow:none}@media (min-width: 768px){.grid-container{grid-template-columns:1fr 1fr}}@media (min-width: 1024px){.grid-container{grid-template-columns:1.2fr 1fr}.unified-container{gap:var(--space-4)}}@media (max-width: 768px){.app-header-content,.app-main{max-width:100%;width:100%;margin-left:0;margin-right:0}.app-header-content{justify-content:center;text-align:center;flex-wrap:wrap;gap:var(--space-2)}.logo-container{width:100%;display:flex;justify-content:center}.header-actions{width:100%;justify-content:center}}.panel{border-radius:var(--radius-lg);box-shadow:none;overflow:hidden;transition:all var(--duration-300) var(--ease-out);display:flex;flex-direction:column;min-height:0}.panel.collapsed{opacity:.6;transform:scale(.98);pointer-events:none}.panel-header{padding:var(--space-5) var(--space-6);display:flex;align-items:center;justify-content:space-between;position:relative;flex-shrink:0}.panel-content{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.panel-title{font-size:var(--font-size-lg);font-weight:600;color:var(--gray-900);display:flex;align-items:center;gap:var(--space-3)}.panel-content{flex:1;padding:.5rem;overflow:hidden;position:relative;display:flex;flex-direction:column;min-height:0}.panel.primary-panel .panel-content{padding:0;overflow:hidden;display:flex;flex-direction:column;flex:1;min-height:0}.tab-navigation{display:flex;border-radius:var(--radius-md);padding:var(--space-2);margin-bottom:var(--space-6);overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.tab-navigation::-webkit-scrollbar{display:none}.tab-button{flex:1;min-width:max-content;padding:var(--space-3) var(--space-4);border-radius:var(--radius);border:none;background:transparent;color:var(--gray-600);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--duration-200) var(--ease-out);position:relative;white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.tab-button:hover{background:var(--gray-200);color:var(--gray-800)}.tab-button.active{background:#fff;color:var(--primary-700);box-shadow:var(--shadow-sm);font-weight:600}.tab-content{display:none;animation:fadeInUp var(--duration-300) var(--ease-out)}.tab-content{display:none;flex:1;flex-direction:column;min-height:0;overflow:hidden}.tab-content.active{display:flex}.tab-header-controls{flex-shrink:0;background:transparent;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0;position:sticky;top:0;z-index:2}.tab-header-controls .model-selector-container{flex:1 1 auto;min-width:0}.tab-header-controls .model-selector-container select{width:100%}.tab-header-controls #voice-assistant-toggle,.tab-header-controls #chat-fullscreen-toggle,.tab-header-controls #clear-chat-btn{flex:0 0 auto}@media (max-width: 768px){.tab-header-controls{display:grid;grid-template-columns:auto 1fr auto auto;gap:var(--space-2);align-items:center}}.chat-loading-container{display:flex!important;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px;min-height:200px;opacity:.8;background:#0000000d;border:2px solid #3b82f6;border-radius:8px;margin:16px}.chat-loading-spinner{position:relative;width:60px;height:60px;margin-bottom:16px}.spinner-ring{position:absolute;width:100%;height:100%;border:3px solid transparent;border-top:3px solid var(--primary-500);border-radius:50%;animation:spin 1.5s linear infinite}.spinner-ring:nth-child(1){animation-delay:0s;opacity:1}.spinner-ring:nth-child(2){animation-delay:.3s;opacity:.7;transform:scale(.8)}.spinner-ring:nth-child(3){animation-delay:.6s;opacity:.4;transform:scale(.6)}.loading-text{color:#6b7280;font-size:14px;font-weight:500;text-align:center;margin:0;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.chat-loading-container.hidden{display:none!important}.chat-loading-container:not(.hidden){display:flex!important}.chat-container{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;position:relative;width:100%;background:transparent;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,.3);z-index:1;box-shadow:0 8px 32px #0000001a,inset 0 1px #fff6}.chat-fullscreen-active{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;margin:0!important;padding:0!important;max-width:none!important;max-height:none!important;width:100%!important;height:100vh!important;height:100dvh!important;z-index:9999!important;border-radius:0!important;border:none!important;backdrop-filter:blur(10px) saturate(160%);-webkit-backdrop-filter:blur(10px) saturate(160%)}.chat-fullscreen-active .chat-messages{max-height:calc(100vh - 140px - var(--vk-offset, 0px))!important;max-height:calc(100dvh - 140px - var(--vk-offset, 0px))!important}.chat-fullscreen-active+.chat-input-container{position:fixed!important;left:0;right:0;bottom:0;z-index:10000;background:linear-gradient(to top,#111827cc,#11182700)}.chat-messages{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--space-4);scrollbar-width:thin;scrollbar-color:var(--gray-400) transparent;scroll-behavior:auto;overflow-anchor:none;overscroll-behavior:contain;padding-bottom:calc(env(safe-area-inset-bottom,0px) + var(--vk-offset, 0px) + var(--space-3));min-height:0;max-height:calc(100vh - 320px - var(--vk-offset, 0px));max-height:calc(100dvh - 320px - var(--vk-offset, 0px));position:relative;width:100%;box-sizing:border-box}.chat-messages.empty{display:none}.chat-container.empty{display:flex;height:auto}.chat-messages:before{content:"";position:sticky;top:0;left:0;right:0;height:20px;background:linear-gradient(to bottom,rgba(250,250,249,.95),transparent);pointer-events:none;z-index:1;opacity:0;transition:opacity .3s ease}.chat-messages.has-scrolled:before{opacity:1}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:transparent}.chat-messages::-webkit-scrollbar-thumb{background:transparent;border-radius:var(--radius-full)}.chat-messages::-webkit-scrollbar-thumb:hover{background:transparent}#scroll-anchor{overflow-anchor:auto;height:1px}.message{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4);width:100%;position:relative;animation:slideInMessage .12s var(--ease-out) forwards;opacity:0;transform:translateY(10px)}.message.message-user{align-items:flex-end;margin-left:20%;max-width:80%;box-sizing:border-box}.message.message-assistant,.message.message-ai,.message.message-system{align-items:flex-start;margin-right:20%}.message-content{flex:1;max-width:100%;width:100%;background:transparent;border:none;padding:var(--space-4) var(--space-5);margin:0;border-radius:var(--radius-lg);word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;line-height:1.7;font-size:.95rem;color:var(--gray-100);font-feature-settings:"liga" 1,"kern" 1;text-rendering:optimizeLegibility;box-sizing:border-box}.message-content h1,.message-content h2,.message-content h3,.message-content h4,.message-content h5,.message-content h6{margin:1.5em 0 .5em;font-weight:700;line-height:1.3;letter-spacing:-.02em;color:var(--gray-50);scroll-margin-top:1rem}.message-content h1{font-size:1.75rem;border-bottom:2px solid var(--primary-500);padding-bottom:.5rem;margin-bottom:1rem;color:var(--blue-300)}@supports ((-webkit-background-clip: text) or (background-clip: text)){.message-content h1{background:linear-gradient(135deg,var(--primary-400),var(--blue-400));-webkit-background-clip:text;background-clip:text}}.message-content h2{font-size:1.4rem;color:var(--blue-300);border-left:4px solid var(--primary-500);padding-left:1rem;margin-left:-1rem;position:relative}.message-content h3{font-size:1.2rem;color:var(--blue-200);position:relative}.message-content h3:before{content:"▸";color:var(--primary-400);margin-right:.5rem;font-weight:700}.message-content h4{font-size:1.05rem;color:var(--gray-200);text-transform:uppercase;letter-spacing:.05em;font-size:.9rem;font-weight:600}.message-content p{margin:.8em 0;color:var(--gray-100);line-height:1.7}.message-content p:first-child{margin-top:0}.message-content p:last-child{margin-bottom:0}.message-content strong{font-weight:700;color:var(--blue-200);text-shadow:0 0 1px rgba(59,130,246,.3)}.message-content em{font-style:italic;color:var(--purple-300);font-weight:500}.message-content ul,.message-content ol{margin:1em 0;padding-left:0;list-style:none}.message-content ul li,.message-content ol li{margin:.6em 0;padding-left:1.5rem;position:relative;line-height:1.6;color:var(--gray-100)}.message-content ul li:before{content:"●";color:var(--primary-400);font-size:.8rem;position:absolute;left:.5rem;top:.1em}.message:not(.streaming-message) .message-content ul li:before{transition:color .2s ease}.message:not(.streaming-message) .message-content ul li:hover:before{color:var(--primary-300)}.message-content ul ul li:before{content:"◦";color:var(--blue-400)}.message-content ul ul ul li:before{content:"▪";color:var(--purple-400)}.message-content ol{counter-reset:list-counter}.message-content ol li{counter-increment:list-counter}.message-content ol li:before{content:counter(list-counter) ".";color:var(--primary-400);font-weight:600;position:absolute;left:0;top:0;min-width:1.2rem}.message-content code:not(.code-block code){background:#3b82f61a;border:1px solid rgba(59,130,246,.2);border-radius:4px;padding:.15rem .4rem;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Consolas,monospace;font-size:.85em;color:var(--blue-200);font-weight:500}.message-content blockquote{margin:1.5em 0;padding:1rem 1.5rem;border-left:4px solid var(--primary-500);background:#3b82f60d;border-radius:0 8px 8px 0;font-style:italic;color:var(--gray-200);position:relative;overflow:hidden}.message-content blockquote:before{content:'"';position:absolute;top:-.5rem;left:1rem;font-size:3rem;color:var(--primary-400);opacity:.3;font-family:Georgia,serif}.message.message-user .message-content{background:transparent;color:#ffffffe6;font-weight:500;border-bottom-left-radius:var(--radius)}.message.message-user .message-content>p:only-child{text-align:left}.message.message-assistant .message-content,.message.message-ai .message-content{background:transparent;color:#ffffffe6;font-weight:500;border-bottom-left-radius:var(--radius)}.message.message-system .message-content{background:transparent;backdrop-filter:blur(12px) saturate(150%);-webkit-backdrop-filter:blur(12px) saturate(150%);border:1px solid rgba(255,255,255,.2);color:#ffffffe6;font-style:italic;box-shadow:0 4px 16px #0000001a}.chat-header{position:sticky;top:0;z-index:30;background:#fffffff2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:var(--space-3) var(--space-4);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);box-shadow:var(--shadow-sm);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.chat-header-left{display:flex;align-items:center;gap:var(--space-3)}.chat-header-right{display:flex;align-items:center;gap:var(--space-2)}.chat-clear-button{background:var(--gray-100);color:var(--gray-700);border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--duration-200) var(--ease-out)}.chat-clear-button:hover{background:var(--gray-200);border-color:var(--gray-300)}.day-divider{position:sticky;top:60px;z-index:25;text-align:center;margin:var(--space-4) 0;background:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-full);padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);font-weight:600;color:var(--gray-600);border:1px solid rgba(0,0,0,.08);box-shadow:var(--shadow-sm);max-width:200px;margin-left:auto;margin-right:auto}.model-indicator{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:var(--gray-100);border-radius:var(--radius-sm);font-weight:500}.message.user .message-meta,.message.user .timestamp{color:#ffffffdc!important;text-shadow:none;font-weight:500}.message.user .text-blue-100{color:#2d3748!important}.typing-indicator{display:flex;align-items:center;gap:8px;padding:16px;margin-bottom:16px;animation:fadeInUp .3s ease-out;opacity:.7}.message-thinking{opacity:.8}.typing-cursor{color:#3b82f6;font-weight:700;animation:typingCursorBlink 1s infinite}.typing-text{color:#6b7280;font-style:italic}@keyframes typingCursorBlink{0%,50%{opacity:1}51%,to{opacity:.3}}.typing-dots{display:flex;gap:4px}.typing-dot,.typing-dots span{width:8px;height:8px;background:var(--gray-400);border-radius:var(--radius-full);animation:typingBounce 1.4s infinite ease-in-out}.typing-dot:nth-child(1),.typing-dots span:nth-child(1){animation-delay:-.32s}.typing-dot:nth-child(2),.typing-dots span:nth-child(2){animation-delay:-.16s}.processing-toggle{background:none;border:1px solid var(--gray-300);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);cursor:pointer;font-size:var(--font-size-xs);color:var(--gray-600);transition:all var(--duration-200) var(--ease-out);margin-left:var(--space-2);display:flex;align-items:center;justify-content:center;min-width:24px;height:24px}.processing-toggle:hover{background-color:var(--gray-100);border-color:var(--gray-400)}.processing-sections{transition:all var(--duration-300) var(--ease-out)}.processing-sections.collapsed{display:none}.json-block{background:#0000000d;border:1px solid rgba(255,255,255,.1);border-radius:8px;margin:8px 0;overflow:hidden}.json-block pre{margin:0;padding:12px 16px;background:transparent;border:none;font-family:Fira Code,SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-size:13px;line-height:1.4;color:var(--text-color);white-space:pre-wrap;word-wrap:break-word}.json-block code{background:transparent;padding:0;border:none;font-family:inherit;font-size:inherit;color:inherit}[data-theme=dark] .json-block{background:#ffffff0d;border:1px solid rgba(255,255,255,.1)}.processing-content{padding:16px 20px;position:relative;z-index:1}.streaming-text{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.6;color:var(--text-color);white-space:pre-wrap;word-wrap:break-word;max-height:400px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.streaming-text::-webkit-scrollbar{width:6px}.streaming-text::-webkit-scrollbar-track{background:transparent}.streaming-text::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.streaming-text::-webkit-scrollbar-thumb:hover{background:#ffffff4d}#model-selector{background:#ffffff1a!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)!important;color:var(--gray-800)!important}#model-selector:focus{background:#ffffff26!important;border-color:var(--primary-500)!important;box-shadow:0 0 0 2px #3b82f61a!important}#chat-input::placeholder,textarea::placeholder,input[type=text]::placeholder{color:#ffffffb3!important;opacity:1}#chat-input::-webkit-input-placeholder,textarea::-webkit-input-placeholder,input[type=text]::-webkit-input-placeholder{color:#ffffffb3!important}#chat-input::-moz-placeholder,textarea::-moz-placeholder,input[type=text]::-moz-placeholder{color:#ffffffb3!important;opacity:1}.panel-header .glass-tab-nav,.glass-tab-nav{display:flex!important;justify-content:center!important;align-items:center!important;gap:var(--space-2);padding:var(--space-3);background:transparent!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;border-radius:var(--radius-lg)!important;width:100%!important}.panel-header .glass-tab-nav.centered,.glass-tab-nav.centered{justify-content:center!important}.glass-tab-button{background:#ffffff1a!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2)!important;color:#fffc!important;border-radius:var(--radius)!important;padding:var(--space-2) var(--space-4)!important;transition:all .2s ease!important;font-size:var(--font-size-sm);font-weight:500}.glass-tab-button:hover{background:#fff3!important;border-color:#ffffff4d!important;color:#fff!important;transform:translateY(-1px)}.glass-tab-button.active{background:#ffffff40!important;border-color:var(--primary-500)!important;color:var(--white)!important;box-shadow:0 2px 8px #0000001a!important}.send-button,button[type=submit],#send-button{font-size:.85rem!important}.new-message-button,.go-to-latest-button,#new-button{transition:opacity .3s ease,visibility .3s ease}.new-message-button.hidden,.go-to-latest-button.hidden,#new-button.hidden{opacity:0;visibility:hidden;pointer-events:none}.message-meta{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-xs);color:#fff9;margin-top:var(--space-1)}.message.message-user .message-meta{flex-direction:row-reverse;justify-content:flex-end}.model-sub-tabs{margin-bottom:var(--space-4)}.model-sub-tab-btn{background:none;border:none;cursor:pointer;transition:all .2s ease;white-space:nowrap}.model-sub-tab-btn:hover{color:#fffc!important}.model-sub-tab-btn.active{color:var(--primary-600);border-bottom-color:var(--primary-600)}.model-sub-tab-btn:not(.active):hover{color:var(--gray-700);border-bottom-color:var(--gray-300)}.model-sub-tab-content{display:none}.model-sub-tab-content.active{display:block}@media (max-width: 768px){.px-6>.flex.items-center.justify-between.border-b.border-gray-600.mb-4{flex-wrap:wrap;gap:var(--space-2)}.px-6>.flex.items-center.justify-between.border-b.border-gray-600.mb-4 .model-sub-tab-btn{flex:1 1 45%;text-align:center}}.section-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--gray-50);border-bottom:1px solid var(--gray-200);cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:600;color:var(--gray-700);font-size:var(--font-size-sm)}.section-header:hover{background:var(--gray-100)}.section-header.expanded{background:var(--blue-50)}.section-icon{margin-right:8px}.section-title{flex:1}.toggle-arrow{font-size:var(--font-size-xs);color:var(--gray-600);transition:transform var(--duration-200) var(--ease-out)}.section-header.expanded .toggle-arrow{transform:rotate(180deg)}.section-content{padding:var(--space-4);max-height:300px;overflow-y:auto;transition:all var(--duration-300) var(--ease-out)}.section-content.hidden{display:none}.processing-spinner{width:20px;height:20px;border:2px solid var(--primary-200);border-top:2px solid var(--primary-500);border-radius:var(--radius-full);animation:spin 1s linear infinite;flex-shrink:0}.kb-summaries-section{margin-bottom:2rem}.kb-summary-card{background:linear-gradient(135deg,#1f2937,#374151);border:1px solid #4b5563;border-radius:12px;padding:1.5rem;margin-bottom:1rem;transition:all .3s ease;position:relative;overflow:hidden}.kb-summary-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#3b82f6,#8b5cf6);opacity:.8}.kb-summary-card.private-summary:before{background:linear-gradient(90deg,#10b981,#3b82f6)}.kb-summary-card.model-summary:before{background:linear-gradient(90deg,#f59e0b,#ef4444)}.kb-summary-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000004d;border-color:#6b7280}.kb-summary-header{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem}.kb-summary-icon{flex-shrink:0;width:2.5rem;height:2.5rem;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff}.private-summary .kb-summary-icon{background:linear-gradient(135deg,#10b981,#3b82f6)}.model-summary .kb-summary-icon{background:linear-gradient(135deg,#f59e0b,#ef4444)}.kb-summary-title h4{font-size:1.1rem;font-weight:600;color:#f9fafb;margin:0 0 .25rem;line-height:1.3}.kb-summary-meta{font-size:.75rem;color:#9ca3af;font-weight:400}.kb-summary-content{color:#d1d5db;line-height:1.6;font-size:.9rem}.kb-summary-content p{margin:0;text-align:justify}.kb-summary-empty{text-align:center;padding:2rem;background:#1f2937;border:2px dashed #4b5563;border-radius:12px;margin-bottom:1rem}.kb-summary-empty p{margin:.5rem 0}@media (max-width: 768px){.kb-summary-card{padding:1rem}.kb-summary-header{gap:.5rem}.kb-summary-icon{width:2rem;height:2rem}.kb-summary-title h4{font-size:1rem}.kb-summary-content{font-size:.85rem}}.chat-input-container{flex-shrink:0;padding:var(--space-4);background:transparent;position:sticky;bottom:0;z-index:10;position:relative;padding-bottom:calc(env(safe-area-inset-bottom,0px) + var(--vk-offset, 0px))}.chat-input-wrapper{display:flex;gap:var(--space-3);align-items:flex-end;background:transparent;backdrop-filter:blur(12px) saturate(120%);-webkit-backdrop-filter:blur(12px) saturate(120%);border:1px solid rgba(255,255,255,.25);border-radius:var(--radius-xl);padding:var(--space-3);transition:all var(--duration-200) var(--ease-out);position:relative;box-shadow:inset 0 1px #fff6,0 2px 8px #00000014}.chat-input-wrapper:focus-within{background:transparent;border-color:#0ea5e966;box-shadow:inset 0 1px #ffffff80,0 0 0 3px #0ea5e926,0 4px 16px #0000001f;backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%)}.chat-input{flex:1;border:none;background:transparent;resize:none;font-family:inherit;font-size:var(--font-size-base);line-height:1.5;color:#ffffffe6;font-weight:400;min-height:20px;max-height:144px;outline:none;padding:var(--space-2) 0;transition:max-height var(--duration-200) var(--ease-out)}.chat-input::placeholder{color:var(--gray-500)}.chat-send-button{background:var(--primary-500);color:#fff;border:none;border-radius:var(--radius-full);width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--duration-200) var(--ease-out);flex-shrink:0}.chat-send-button:hover{background:var(--primary-600);transform:scale(1.05)}.chat-send-button:active{transform:scale(.95)}.chat-send-button:disabled{background:var(--gray-300);cursor:not-allowed;transform:none}.chat-stop-button{background:var(--error, #ef4444);color:#fff;border:none;border-radius:var(--radius-full);width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--duration-200) var(--ease-out);flex-shrink:0;margin-left:var(--space-2);font-size:14px;font-weight:500}.chat-stop-button:hover{background:#dc2626;transform:scale(1.05)}.chat-stop-button:active{transform:scale(.95)}.chat-stop-button.hidden,.chat-send-button.hidden{display:none}.chat-input-wrapper.drag-over-documents{border-color:#0ea5e999!important;background:#0ea5e90d!important;box-shadow:inset 0 1px #ffffff80,0 0 0 3px #0ea5e940,0 4px 20px #0ea5e926!important;backdrop-filter:blur(20px) saturate(160%)!important;-webkit-backdrop-filter:blur(20px) saturate(160%)!important;transform:scale(1.02);transition:all .2s ease}.chat-drag-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0ea5e91a;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;z-index:20;border-radius:var(--radius-xl);border:2px dashed rgba(14,165,233,.4);pointer-events:none}.drag-overlay-content{text-align:center;color:#ffffffe6;pointer-events:none}.drag-icon{font-size:2.5rem;margin-bottom:.5rem;animation:bounce 1s infinite}.drag-text{font-size:1.1rem;font-weight:600;margin-bottom:.25rem}.drag-subtext{font-size:.85rem;color:#ffffffb3}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-8px)}60%{transform:translateY(-4px)}}.attached-documents-container{display:none;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;padding:.75rem;background:#ffffff05;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:all .2s ease}.document-pill{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-lg);color:#ffffffe6;font-size:.85rem;transition:all .2s ease;max-width:250px;position:relative}.document-pill:hover{background:#ffffff14;border-color:#ffffff40;transform:translateY(-1px)}.document-pill.processing{border-color:#ffc10766;background:#ffc1070d}.document-pill.ready{border-color:#22c55e66;background:#22c55e0d}.document-pill.error{border-color:#ef444466;background:#ef44440d}.document-icon{font-size:1.2rem;flex-shrink:0}.document-info{flex:1;min-width:0;overflow:hidden}.document-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fffffff2}.document-size{font-size:.75rem;color:#fff9;margin-top:.1rem}.document-status{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem}.document-remove{position:absolute;top:-.5rem;right:-.5rem;width:1.5rem;height:1.5rem;border-radius:50%;border:none;background:#ef4444cc;color:#fff;font-size:.75rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .2s ease;z-index:10}.document-pill:hover .document-remove{opacity:1}.document-remove:hover{background:#dc2626e6;transform:scale(1.1)}.spinner{width:1rem;height:1rem;border:2px solid rgba(255,193,7,.3);border-top:2px solid rgba(255,193,7,.8);border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 768px){.attached-documents-container{padding:.5rem;gap:.375rem}.document-pill{padding:.375rem .5rem;font-size:.8rem;max-width:200px}.document-icon{font-size:1rem}.drag-overlay-content{padding:1rem}.drag-icon{font-size:2rem}.drag-text{font-size:1rem}.drag-subtext{font-size:.8rem}}.output-section{margin-top:var(--space-2);border-radius:var(--radius-lg);overflow:hidden}.output-header{font-weight:600;font-size:var(--font-size-sm);margin-bottom:var(--space-2);display:flex;align-items:center}.output-header:before{content:"📋";margin-right:var(--space-1)}.direct-response-output .output-header:before{content:"💬"}.hag-planning-output .output-header:before{content:"🧠"}.output-content{background:#fff;border-radius:var(--radius-md);overflow:hidden}.output-content pre{margin:0;padding:var(--space-3);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.8rem;line-height:1.5;white-space:pre-wrap;word-wrap:break-word;background:#f8fafcb3;border:1px solid rgba(203,213,225,.3)}.direct-response-output{background:#dbeafe4d;border:1px solid rgba(147,197,253,.4)}.direct-response-output .output-header{color:#1e40af}.direct-response-output .output-content{border:1px solid rgba(147,197,253,.2)}.hag-planning-output{background:#f3e8ff4d;border:1px solid rgba(196,181,253,.4)}.hag-planning-output .output-header{color:#7c3aed}.hag-planning-output .output-content{border:1px solid rgba(196,181,253,.2)}.trace-item .output-section{margin-left:calc(-1 * var(--space-3));margin-right:calc(-1 * var(--space-3));margin-bottom:var(--space-2)}.message-meta{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-1);font-size:11px;color:#dfd2d2c0;background:transparent!important;border:none!important;padding:0 var(--space-2)}@media (max-width: 768px){.unified-container{height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom));height:100dvh;padding:var(--space-2);gap:var(--space-3)}.chat-container{border-radius:var(--radius-lg);max-height:none}.chat-messages{padding:var(--space-3);max-height:none!important;min-height:200px;flex:1}.chat-input-wrapper{padding:var(--space-2);margin:var(--space-2) 0 0 0;border-radius:var(--radius-lg);margin-bottom:env(safe-area-inset-bottom,0)}.chat-input{font-size:var(--font-size-sm);padding:var(--space-2) 0}.chat-send-button,.chat-stop-button{width:36px;height:36px;font-size:12px}.app-header-content{flex-wrap:wrap;gap:var(--space-2)}.header-actions{width:100%;display:flex;justify-content:flex-end;gap:var(--space-2)}#user-profile{max-width:60vw;overflow:hidden}#user-profile #user-name{max-width:60vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#user-profile .text-blue-400{display:none}.chat-stop-button{margin-left:var(--space-1)}.tab-button{padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs)}.output-content pre{font-size:.75rem;padding:var(--space-2)}.output-header{font-size:.8rem}.table-container{font-size:var(--font-size-xs);backdrop-filter:blur(15px) saturate(160%);-webkit-backdrop-filter:blur(15px) saturate(160%)}.markdown-table th,.markdown-table td,.rich-table th,.rich-table td{padding:.5rem}.code-block{padding:.75rem;font-size:var(--font-size-xs)}.message-text h1{font-size:1.25rem}.message-text h2{font-size:1.125rem}}.loading-indicator{display:flex;align-items:center;justify-content:center;padding:var(--space-4);margin:var(--space-3) 0;background:#ffffff0d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.1)}.loading-content{display:flex;align-items:center;gap:var(--space-3);color:#fffc}.loading-text{font-size:var(--font-size-sm);font-weight:500}.thinking-indicator{display:flex;align-items:center;padding:var(--space-4);margin:var(--space-3) 0;background:#3b82f61a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-lg);border:1px solid rgba(59,130,246,.2)}.thinking-content{display:flex;align-items:center;gap:var(--space-3);color:#ffffffe6}.thinking-avatar{font-size:20px;opacity:.8}.thinking-text{font-size:var(--font-size-sm);font-weight:500}.thinking-dots{display:flex;gap:4px}.thinking-dots span{width:6px;height:6px;background:#fff9;border-radius:50%;animation:thinking-pulse 1.4s ease-in-out infinite both}.thinking-dots span:nth-child(1){animation-delay:-.32s}.thinking-dots span:nth-child(2){animation-delay:-.16s}.thinking-dots span:nth-child(3){animation-delay:0s}.error-container{display:flex;align-items:center;padding:var(--space-4);margin:var(--space-3) 0;border-radius:var(--radius-lg);border:1px solid;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.error-container.error-error{background:#ef444426;border-color:#ef444466;color:#fff}.error-container.error-warning{background:#f59e0b26;border-color:#f59e0b66;color:#fff}.error-container.error-critical{background:#dc262640;border-color:#dc262699;color:#fff;box-shadow:0 0 20px #dc26264d}.error-content{display:flex;align-items:center;gap:var(--space-3);width:100%}.error-icon{font-size:18px;flex-shrink:0}.error-message{flex:1;font-size:var(--font-size-sm);font-weight:500}.error-close{background:none;border:none;color:inherit;font-size:18px;cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);opacity:.7;transition:opacity var(--duration-200) var(--ease-out);flex-shrink:0}.error-close:hover{opacity:1;background:#ffffff1a}@keyframes thinking-pulse{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tab-button:focus,.chat-send-button:focus,button:focus,input:focus,textarea:focus,select:focus,.knowledge-sub-tab-btn:focus{outline:2px solid var(--primary-500);outline-offset:2px}@media (prefers-contrast: high){:root{--gray-200: #000000;--gray-300: #000000;--shadow: 0 0 0 1px #000000}}.model-grid{display:grid;gap:var(--space-3);grid-template-columns:1fr;margin-bottom:var(--space-4)}@media (min-width: 640px){.model-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.model-grid{grid-template-columns:repeat(3,1fr)}}.model-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:#fff;border:2px solid var(--gray-200);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-200) var(--ease-out);position:relative;overflow:hidden}.modal-dialog{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:none;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-dialog.show{display:flex}.modal-content{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;transform:scale(.9);transition:transform .2s ease-out}.modal-dialog.show .modal-content{transform:scale(1)}.modal-header{padding:1.5rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.modal-header h3{margin:0;color:var(--text-primary);font-size:1.25rem;font-weight:600}.modal-body{padding:1.5rem}.modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:.75rem}.close-button{background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:all var(--duration-200) var(--ease-out)}.close-button:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.modal-dialog .form-group{margin-bottom:1rem}.modal-dialog .form-group label{display:block;margin-bottom:.5rem;color:var(--text-primary);font-weight:500}.modal-dialog .form-control{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--bg-primary);color:var(--text-primary);font-size:.875rem;transition:border-color var(--duration-200) var(--ease-out)}.modal-dialog .form-control:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #3b82f61a}.modal-dialog textarea.form-control{min-height:80px;resize:vertical}.modal-dialog .btn{padding:.5rem 1rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--duration-200) var(--ease-out);border:none}.modal-dialog .btn-primary{background-color:var(--accent-color);color:#fff}.modal-dialog .btn-primary:hover{background-color:var(--accent-hover)}.modal-dialog .btn-secondary{background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.modal-dialog .btn-secondary:hover{background-color:var(--bg-tertiary)}.wizard-modal{max-width:600px}.wizard-modal .modal-content{max-width:none}.model-selector-container select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%239aa1aa' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.25em 1.25em;padding-right:2.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;color:#e5e7eb;background-color:#111827e6;border:1px solid rgba(75,85,99,.6);border-radius:.5rem}.model-selector-container select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}@media (min-width: 1024px){.tab-header-controls .model-selector-container{max-width:420px}}.chat-content-header{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:1px solid rgba(255,255,255,.1);border-radius:0;transition:all .3s ease;box-shadow:none}.chat-content-header:hover{background:transparent;border-bottom-color:#fff3}.reasoning-trace-container{margin-top:var(--space-3);border:1px solid var(--gray-200);border-radius:var(--radius-lg);overflow:hidden;background:#fffc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-sm);transition:all var(--duration-300) var(--ease-out)}.reasoning-trace-toggle{width:100%;padding:var(--space-2) var(--space-3);background:var(--gray-100);border:none;text-align:left;cursor:pointer;font-size:var(--font-size-sm);color:var(--gray-700);display:flex;justify-content:space-between;align-items:center;transition:all var(--duration-200) var(--ease-out);font-weight:600;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.reasoning-trace-toggle:hover{background:var(--gray-200)}.reasoning-trace-toggle .toggle-icon{transform:rotate(-90deg);transition:transform .2s ease;font-size:12px;width:16px;height:16px;display:inline-block;text-align:center;line-height:16px}.reasoning-trace-content.expanded+.reasoning-trace-toggle .toggle-icon{transform:rotate(0)}.reasoning-trace-content{max-height:0;overflow:hidden;transition:max-height .3s ease}.reasoning-trace-content.expanded{max-height:800px;overflow:visible}.reasoning-header{padding:var(--space-3);border-bottom:1px solid var(--gray-200);background:var(--white)}.reasoning-header h4{margin:0 0 var(--space-1) 0;font-size:var(--font-size-sm);font-weight:600;color:var(--gray-900)}.reasoning-header p{margin:0;font-size:var(--font-size-xs);color:var(--gray-600)}.reasoning-steps{padding:0}.reasoning-step{padding:var(--space-3);border-bottom:1px solid var(--gray-100);background:var(--white)}.reasoning-step:last-child{border-bottom:none}.reasoning-step-title{font-weight:600;font-size:var(--font-size-xs);color:var(--gray-700);margin-bottom:var(--space-2)}.reasoning-step-content{font-size:var(--font-size-xs);color:var(--gray-600);line-height:1.4}.message-system{align-self:center;max-width:80%}.message-system .message-content{background:transparent;backdrop-filter:blur(12px) saturate(150%);-webkit-backdrop-filter:blur(12px) saturate(150%);border:1px solid rgba(255,255,255,.2);color:#ffffffe6;padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);box-shadow:0 4px 16px #0000001a;font-size:var(--font-size-sm);text-align:center}.knowledge-sub-tabs{width:100%}.knowledge-sub-tab-btn{transition:all .2s ease;cursor:pointer;background:none;border:none;outline:none}.knowledge-sub-tab-btn.active{color:var(--primary-600);border-bottom-color:var(--primary-600)}.knowledge-sub-tab-btn:not(.active):hover{color:var(--gray-700);border-bottom-color:var(--gray-300)}.knowledge-sub-tab-content{animation:fadeIn .2s ease-in-out}.knowledge-sub-tab-content.hidden{display:none}.plan-steps li{margin-bottom:6px;color:#444}.reasoning-summary{font-size:.85em;color:#555;line-height:1.5;white-space:pre-line;background:#f8f9fa;padding:10px 12px;border-radius:4px;border-left:3px solid #007bff}.table-container{overflow-x:auto;margin:1rem 0;border-radius:var(--radius-lg);background:#ffffff1a;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #0000001a,inset 0 1px #ffffff4d;transition:all var(--duration-300) var(--ease-out)}.table-container:hover{border-color:#ffffff4d;box-shadow:0 12px 40px #00000026,inset 0 1px #fff6}.markdown-table,.rich-table{border-collapse:collapse;margin:1.5rem 0;width:100%;box-shadow:0 4px 6px #0000001a;border-radius:8px;overflow:hidden;background:#1e293b80;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.markdown-table th,.rich-table th{background:linear-gradient(135deg,var(--primary-600),var(--blue-600));color:#fff;font-weight:600;padding:1rem;text-align:left;font-size:.9rem;letter-spacing:.02em}.markdown-table th:after,.rich-table th:after{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:#ffffff4d}.markdown-table td,.rich-table td{padding:.75rem 1rem;border-bottom:1px solid rgba(59,130,246,.1);color:var(--gray-100)}.message:not(.streaming-message) .markdown-table td,.message:not(.streaming-message) .rich-table td{transition:background-color .2s ease}.message:not(.streaming-message) .markdown-table tr:hover,.message:not(.streaming-message) .rich-table tr:hover{background:#3b82f614}.message:not(.streaming-message) .markdown-table tr:hover td,.message:not(.streaming-message) .rich-table tr:hover td{background:#3b82f614}.markdown-table tr:last-child td,.rich-table tr:last-child td{border-bottom:none}.code-block{background-color:var(--gray-900);color:var(--gray-100);padding:1rem;border-radius:var(--radius-md);margin:1rem 0;overflow-x:auto;font-family:Fira Code,Consolas,Monaco,monospace;font-size:var(--font-size-sm);line-height:1.5}.code-block code{background:none;padding:0;border-radius:0;color:inherit}.message-text code:not(.code-block code){background-color:var(--gray-100);color:var(--gray-800);padding:.125rem .25rem;border-radius:var(--radius-sm);font-family:Fira Code,Consolas,Monaco,monospace;font-size:.875em}.code-block-wrapper{margin:1rem 0}.code-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border:1px solid rgba(255,255,255,.08);border-bottom:none;border-radius:var(--radius-md) var(--radius-md) 0 0;background:#ffffff0a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.code-language{font-size:.75rem;opacity:.85;text-transform:uppercase}.code-actions{display:flex;gap:.5rem}.code-actions button{font-size:.75rem;padding:.25rem .5rem;cursor:pointer;background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:6px;color:#fff}.code-actions button:hover{background:#ffffff24}.code-block-wrapper pre{margin:0;border:1px solid rgba(255,255,255,.08);border-top:none;border-radius:0 0 var(--radius-md) var(--radius-md)}.code-preview-frame{width:100%;min-height:420px;border:1px solid rgba(255,255,255,.08);border-top:none;border-radius:0 0 var(--radius-md) var(--radius-md);background:#fff}.message-image{max-width:100%;height:auto;border-radius:var(--radius-md);margin:.5rem 0;box-shadow:var(--shadow-sm);transition:transform .2s ease}.message-image:hover{transform:scale(1.02);box-shadow:var(--shadow-md)}.markdown-link{color:var(--primary-300);text-decoration:none;border-bottom:1px solid transparent;font-weight:500}.message:not(.streaming-message) .markdown-link{transition:all .2s ease}.message:not(.streaming-message) .markdown-link:hover{color:var(--primary-200);border-bottom-color:var(--primary-300);text-shadow:0 0 8px rgba(59,130,246,.4)}.markdown-link:visited{color:var(--purple-300)}@media (max-width: 768px){.message-content{font-size:.9rem}.message-content h1{font-size:1.5rem}.message-content h2{font-size:1.25rem}.message-content h3{font-size:1.1rem}}.message-content hr{margin:2rem 0;border:none;height:1px;background:linear-gradient(90deg,transparent,var(--primary-500),transparent)}.message-content pre{background:#0f172acc;border:1px solid rgba(59,130,246,.2);border-radius:8px;padding:1.5rem;margin:1.5rem 0;overflow-x:auto;position:relative;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.message-content pre:before{content:"Code";position:absolute;top:.5rem;right:1rem;font-size:.7rem;color:var(--primary-400);text-transform:uppercase;letter-spacing:.1em;opacity:.6}.message-bubble.ai,.tab-button.active,.chat-send-button{background:var(--brand-gradient)}@keyframes typingBounce{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInMessage{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.optimization-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#0006;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.optimization-modal.show{opacity:1;visibility:visible}.optimization-modal-content{background:#ffffff1a;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:20px;padding:2rem;max-width:600px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 8px 32px #0000001f,0 2px 16px #00000014,inset 0 1px #ffffff1a;transform:scale(.9);transition:transform .3s cubic-bezier(.4,0,.2,1)}.optimization-modal.show .optimization-modal-content{transform:scale(1)}.optimization-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.15)}.optimization-modal-title{font-size:1.5rem;font-weight:600;color:#fffffff2;text-shadow:0 1px 2px rgba(0,0,0,.1);display:flex;align-items:center;gap:.5rem}.optimization-modal-close{background:none;border:none;font-size:1.5rem;color:var(--gray-500);cursor:pointer;padding:.5rem;border-radius:8px;transition:all .2s ease}.optimization-modal-close:hover{background:#0000000d;color:var(--gray-700)}.optimization-progress-container{margin-bottom:1.5rem}.optimization-overall-progress{margin-bottom:1rem}.optimization-progress-bar{width:100%;height:8px;background:#0000001a;border-radius:4px;overflow:hidden;margin-bottom:.5rem}.optimization-progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-500),var(--primary-600));border-radius:4px;transition:width .3s ease;width:0%}.optimization-progress-text{display:flex;justify-content:space-between;align-items:center;font-size:.875rem;color:#fffc;text-shadow:0 1px 2px rgba(0,0,0,.1)}.optimization-current-step{background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:1rem;margin-bottom:1rem;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.optimization-step-title{font-weight:600;color:#fffffff2;text-shadow:0 1px 2px rgba(0,0,0,.1);margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.optimization-step-description{color:#fffc;font-size:.875rem;line-height:1.4;text-shadow:0 1px 2px rgba(0,0,0,.1)}.optimization-step-details{margin-top:.5rem;font-size:.75rem;color:#ffffffb3;font-family:Monaco,Menlo,monospace;background:#0000001a;padding:.5rem;border-radius:6px;border:1px solid rgba(255,255,255,.1)}.optimization-time-info{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.optimization-time-card{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:12px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:.75rem;text-align:center}.optimization-time-label{font-size:.75rem;color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem}.optimization-time-value{font-size:1.25rem;font-weight:700;color:var(--green-600);margin-bottom:.25rem}.optimization-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1rem;border-top:1px solid rgba(0,0,0,.1)}.optimization-stop-btn{background:var(--red-500);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.optimization-stop-btn:hover{background:var(--red-600);transform:translateY(-1px)}.optimization-stop-btn:disabled{background:var(--gray-400);cursor:not-allowed;transform:none}.optimization-close-btn{background:var(--primary-500);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.optimization-close-btn:hover{background:var(--primary-600);transform:translateY(-1px)}.optimization-results{background:#22c55e1a;border:1px solid rgba(34,197,94,.2);border-radius:8px;padding:1.5rem;margin-bottom:1rem}.optimization-results-title{font-size:1.25rem;font-weight:600;color:var(--green-700);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.optimization-results-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1rem}.optimization-result-card{background:#ffffffb3;border-radius:6px}.message-citations{margin-top:var(--space-4);padding:var(--space-4);width:100%;max-width:100%;background:transparent;backdrop-filter:blur(12px) saturate(120%);-webkit-backdrop-filter:blur(12px) saturate(120%);border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.4);box-shadow:0 4px 16px #0000001f,inset 0 1px #ffffff80;position:relative;z-index:1;box-sizing:border-box}.citations-header{margin-bottom:var(--space-3);border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:var(--space-2);position:relative}.citations-title{font-size:var(--font-size-sm);font-weight:600;color:#fffffff2;margin-bottom:var(--space-1);display:flex;align-items:center;gap:var(--space-2);transition:color .2s ease}.citations-title:before{content:"📚";font-size:1rem}.citations-header:hover .citations-title{color:#3b82f6e6}.citations-title .toggle-icon{font-size:.75rem;color:#ffffffb3;transition:transform .2s ease,color .2s ease;transform:rotate(-90deg)}.citations-header:hover .toggle-icon{color:#3b82f6e6}.citations-content{overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.citations-content.collapsed{max-height:0;opacity:0;margin-top:0;padding-top:0}.citations-content.expanded{max-height:none;opacity:1;margin-top:var(--space-3);padding-top:var(--space-2);border-top:1px solid rgba(255,255,255,.1)}.citations-count-warning{font-size:var(--font-size-xs);color:#ffc107e6;font-style:italic}.citations-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-3);width:100%}.citation-item{background:#00000026;backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-md);overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;box-shadow:0 4px 12px #0000001a,inset 0 1px #ffffff26}.citation-item:hover{background:#00000040;border-color:#3b82f680;box-shadow:0 8px 24px #0003,inset 0 1px #ffffff40;transform:translateY(-1px)}.citation-link{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);text-decoration:none;color:#ffffffd9;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.citation-link:hover{color:#fffffff2}.citation-number{font-size:var(--font-size-xs);font-weight:600;color:#3b82f6e6;background:#3b82f626;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);border:1px solid rgba(59,130,246,.25);min-width:2rem;text-align:center;box-shadow:inset 0 1px #fff3}.citation-icon{font-size:1rem;flex-shrink:0;opacity:.8;transition:opacity .3s ease}.citation-title{flex:1;font-size:var(--font-size-sm);font-weight:500;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#ffffffd9}.citation-action{font-size:var(--font-size-xs);color:#3b82f6cc;font-weight:500;opacity:.7;transition:all .3s ease;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:#3b82f61a;border:1px solid rgba(59,130,246,.2)}.citation-link:hover .citation-action{opacity:1;background:#3b82f633;border-color:#3b82f666}.citation-link:hover .citation-icon{opacity:1}.citations-load-more-container{margin-top:var(--space-4);text-align:center;padding-top:var(--space-4);border-top:1px solid rgba(255,255,255,.15)}.citations-load-more-btn{background:#3b82f633;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#ffffffe6;border:1px solid rgba(59,130,246,.3);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;gap:var(--space-2);box-shadow:0 4px 12px #0000001a,inset 0 1px #fff3}.citations-load-more-btn:hover{background:#3b82f64d;border-color:#3b82f680;transform:translateY(-2px);box-shadow:0 8px 20px #00000026,inset 0 1px #ffffff4d}.citations-load-more-btn:active{transform:translateY(-1px);box-shadow:0 4px 12px #0000001a,inset 0 1px #fff3}.citation-document .citation-icon{color:#3b82f6cc}.citation-web .citation-icon{color:#22c55ecc}@media (max-width: 768px){.citation-link{flex-direction:column;align-items:flex-start;gap:.5rem}.citation-title{white-space:normal;overflow:visible;text-overflow:initial}.citation-action{align-self:flex-end}}.optimization-result-card{padding:1rem;text-align:center}.optimization-result-value{font-size:1.5rem;font-weight:700;color:var(--green-600);margin-bottom:.25rem}.optimization-result-label{font-size:.75rem;color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px}.optimization-spinning{animation:spin 2s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.optimization-pulse{animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (max-width: 768px){.optimization-modal-content{margin:1rem;padding:1.5rem;max-width:none;width:calc(100% - 2rem)}.optimization-time-info{grid-template-columns:1fr}.optimization-results-grid{grid-template-columns:1fr 1fr}.optimization-actions{flex-direction:column}}.heuristics-table-container{overflow-x:auto}.heuristics-table{width:100%;font-size:.875rem;border-collapse:collapse}.heuristics-table thead{background:#374151}.heuristics-table th{padding:.5rem 1rem;text-align:left;color:#e5e7eb;font-weight:500;font-size:.875rem;border-bottom:1px solid rgb(75,85,99)}.heuristics-table tbody tr{border-bottom:1px solid rgba(255,255,255,.1);transition:background-color .2s ease}.heuristics-table tbody tr:hover{background-color:#ffffff0d}.heuristics-table td{padding:.5rem 1rem;color:#e5e7eb;font-size:.875rem;vertical-align:top}.heuristics-table th button{color:inherit;background:transparent;border:none;font-weight:inherit;font-size:inherit;cursor:pointer;padding:0;display:flex;align-items:center;gap:.5rem;width:100%;text-align:left}.heuristics-table th button:hover{color:#fff}.heuristics-table td:last-child{border-right:none}.heuristics-table .category-badge{display:inline-block;padding:.25rem .5rem;background-color:#3b82f633;color:#93c5fd;border-radius:.25rem;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.025em}.heuristics-table .category-badge:hover{background-color:#3b82f64d;color:#bfdbfe}.heuristics-table .action-button{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;background-color:#ef44441a;color:#f87171;border:1px solid rgba(239,68,68,.3);border-radius:.25rem;font-size:.875rem;cursor:pointer;transition:all .2s ease}.heuristics-table .action-button:hover{background-color:#ef444433;color:#ef4444}.heuristics-table .text-content{color:#e5e7eb;font-size:.875rem;line-height:1.5}.heuristics-table .toggle-button{background:transparent;border:none;color:#3b82f6;font-size:.75rem;cursor:pointer;margin-left:.5rem;text-decoration:underline}.heuristics-table .toggle-button:hover{color:#2563eb}.heuristics-table .preview-text{color:#9ca3af;font-size:.75rem;margin-left:.5rem}.heuristics-table .quote-text{color:#9ca3af;font-size:.75rem;font-style:italic}.heuristics-table .empty-content{color:#6b7280;font-style:italic}.heuristics-pagination{margin-top:1rem;display:flex;justify-content:space-between;align-items:center;font-size:.875rem;color:#9ca3af}.heuristics-pagination .pagination-info{color:#9ca3af}.heuristics-pagination .page-size-selector,.heuristics-pagination .page-navigation{display:flex;align-items:center;gap:.5rem}.heuristics-pagination .pagination-button{padding:.25rem .75rem;border:1px solid rgb(75,85,99);border-radius:.25rem;background-color:transparent;color:#d1d5db;cursor:pointer;transition:background-color .2s ease}.heuristics-pagination .pagination-button:hover:not(:disabled){background-color:#374151}.heuristics-pagination .pagination-button:disabled{opacity:.5;cursor:not-allowed}.heuristics-pagination .pagination-controls{display:flex;align-items:center;gap:var(--space-2)}.heuristics-pagination .pagination-button{background:#ffffff1a;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);color:#fffc;border:1px solid rgba(255,255,255,.15);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--duration-200) var(--ease-out);display:inline-flex;align-items:center;gap:var(--space-1);min-width:2.5rem;justify-content:center;box-shadow:0 2px 4px #0000001a,inset 0 1px #ffffff1a}.heuristics-pagination .pagination-button:hover:not(:disabled){background:#ffffff26;border-color:#ffffff40;color:#fff;transform:translateY(-1px);box-shadow:0 4px 8px #00000026,inset 0 1px #fff3}.heuristics-pagination .pagination-button:disabled{opacity:.4;cursor:not-allowed;background:#ffffff0d;border-color:#ffffff14;color:#ffffff80}.heuristics-pagination .pagination-button.active{background:#3b82f633;border-color:#3b82f666;color:#3b82f6;box-shadow:0 2px 8px #3b82f633,inset 0 1px #fff3}@media (max-width: 768px){.heuristics-table-container{border-radius:var(--radius-md);margin:var(--space-2)}.heuristics-table th,.heuristics-table td{padding:var(--space-3) var(--space-2);font-size:var(--font-size-xs)}.heuristics-table .text-content{max-width:120px}.heuristics-pagination{flex-direction:column;gap:var(--space-3);padding:var(--space-3) var(--space-4)}}.heuristics-table .sort-button{color:inherit;background:transparent;border:none;font-weight:600;font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:all var(--duration-200) var(--ease-out);padding:var(--space-2);border-radius:var(--radius-sm);display:flex;align-items:center;gap:var(--space-2);width:100%;text-align:left}.heuristics-table .sort-button:hover{background:#ffffff1a;color:#fff;transform:translateY(-1px)}.heuristics-table .empty-content{color:#ffffff80;font-style:italic}.heuristics-pagination .page-size-selector,.heuristics-pagination .page-navigation{display:flex;align-items:center;gap:var(--space-2)}#kb-documents-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}#kb-documents-table thead{background:var(--gray-700)}#kb-documents-table th{padding:var(--space-2) var(--space-4);text-align:left;color:var(--gray-200);font-weight:500;border-bottom:1px solid var(--gray-600)}#kb-documents-table tbody tr{border-bottom:1px solid var(--gray-600)}#kb-documents-table td{padding:var(--space-2) var(--space-4);color:var(--gray-300);vertical-align:top}#kb-documents-table td a{color:var(--primary-400);text-decoration:none;transition:color var(--duration-200) var(--ease-out)}#kb-documents-table td a:hover{color:var(--primary-300);text-decoration:underline}#kb-documents-table td button{background:transparent;border:none;color:var(--gray-400);cursor:pointer;font-size:var(--font-size-sm);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);transition:all var(--duration-200) var(--ease-out)}#kb-documents-table td button:hover{background:var(--gray-600);color:var(--gray-200)}@media (max-width: 768px){.documents-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}#kb-documents-table{min-width:640px}}#welcome-modal{background:#0006!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important}#welcome-modal>div{background:#ffffff1a!important;backdrop-filter:blur(20px)!important;-webkit-backdrop-filter:blur(20px)!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:20px!important;box-shadow:0 8px 32px #0000001f,0 2px 16px #00000014,inset 0 1px #ffffff1a!important;color:#fffffff2!important}#welcome-modal h2{color:#fffffff2!important;text-shadow:0 1px 2px rgba(0,0,0,.1)!important}#welcome-modal p{color:#fffc!important}#model-assignment-modal{background:#0006!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important}#model-assignment-modal>div{background:#ffffff1a!important;backdrop-filter:blur(20px)!important;-webkit-backdrop-filter:blur(20px)!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:20px!important;box-shadow:0 8px 32px #0000001f,0 2px 16px #00000014,inset 0 1px #ffffff1a!important;color:#fffffff2!important}.modal-dialog{background:#0006!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important}.modal-content{background:#ffffff1a!important;backdrop-filter:blur(20px)!important;-webkit-backdrop-filter:blur(20px)!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:20px!important;box-shadow:0 8px 32px #0000001f,0 2px 16px #00000014,inset 0 1px #ffffff1a!important;color:#fffffff2!important}.processing-trace-container{margin-bottom:var(--space-4);animation:slideInMessage .3s ease-out;background:#3b82f60d;border-radius:var(--radius-lg);padding:var(--space-2);display:none}.processing-area{margin-bottom:var(--space-4);animation:slideInMessage .3s ease-out;background:#3b82f60d;border-radius:var(--radius-lg);padding:var(--space-2)}.embedded-processing-container{margin:0 0 var(--space-4) 0;border-radius:var(--radius-md);border:1px solid rgba(6,182,212,.3);background:#06b6d40d;overflow:hidden}.embedded-processing-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);background:#06b6d41a;border-bottom:1px solid rgba(6,182,212,.2)}.embedded-processing-header .processing-info{display:flex;align-items:center;gap:var(--space-4)}.embedded-processing-header .processing-status{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:#fffffff2}.embedded-processing-header .processing-text{color:#fffffff2}.embedded-processing-header .processing-spinner{width:12px;height:12px;border:2px solid rgba(6,182,212,.3);border-top:2px solid rgb(6,182,212);border-radius:50%;animation:spin 1s linear infinite}.embedded-processing-header .processing-timer{font-size:var(--font-size-xs);color:#fff9;font-family:monospace}.embedded-processing-header .processing-toggle{background:none;border:none;color:#ffffffb3;cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);transition:all .2s ease}.embedded-processing-header .processing-toggle:hover{background:#ffffff1a;color:#ffffffe6}.embedded-processing-content{padding:var(--space-4);max-height:400px;overflow-y:auto;font-size:var(--font-size-sm);line-height:1.6;color:#ffffffd9}.embedded-processing-container.collapsed .embedded-processing-content{display:none}.embedded-processing-container.completed{border-color:#10b9814d;background:#10b9810d}.embedded-processing-container.completed .embedded-processing-header{background:#10b9811a;border-bottom-color:#10b98133}.embedded-processing-container.completed .processing-spinner{display:none}.final-response-content{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid rgba(255,255,255,.1)}.final-response-content .typing-indicator{color:#06b6d4cc;font-weight:500;animation:pulse 1.5s ease-in-out infinite}.embedded-processing-container .table-container,.embedded-processing-container .processing-table{background:#ffffff14;backdrop-filter:blur(15px) saturate(170%);-webkit-backdrop-filter:blur(15px) saturate(170%);border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-md)}.embedded-processing-container .processing-table th{background:#06b6d41a;color:#fffffff2;font-weight:600;padding:var(--space-2) var(--space-3);text-align:left;border-bottom:1px solid rgba(6,182,212,.2);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.5px}.embedded-processing-container .processing-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid rgba(255,255,255,.1);color:#ffffffd9;vertical-align:top}.modal-header{border-bottom:1px solid rgba(255,255,255,.15)!important;color:#fffffff2!important}.modal-title{color:#fffffff2!important;text-shadow:0 1px 2px rgba(0,0,0,.1)!important}.modal-body{color:#ffffffe6!important}.modal-footer{border-top:1px solid rgba(255,255,255,.15)!important}[class*=modal][class*=fixed],[id*=modal][class*=fixed]{background:#0006!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important}[class*=modal] .bg-white,[id*=modal] .bg-white{background:#ffffff1a!important;backdrop-filter:blur(20px)!important;-webkit-backdrop-filter:blur(20px)!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:20px!important;box-shadow:0 8px 32px #0000001f,0 2px 16px #00000014,inset 0 1px #ffffff1a!important;color:#fffffff2!important}.chart-container{margin:20px 0;padding:20px;border-radius:var(--radius-xl);background:transparent;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px #0000001a,inset 0 1px #fff6;transition:all .3s ease}.chart-container:hover{backdrop-filter:blur(24px) saturate(200%);-webkit-backdrop-filter:blur(24px) saturate(200%);border-color:#fff6;box-shadow:0 12px 40px #00000026,inset 0 1px #ffffff80}.chart-header{margin-bottom:15px;text-align:center}.chart-header h4{margin:0 0 5px;color:#ffffffe6;font-size:16px;font-weight:600}.chart-header span{font-size:12px;color:#ffffffb3;background:#ffffff1a;padding:2px 8px;border-radius:12px;border:1px solid rgba(255,255,255,.2)}.chart-content{width:100%;border-radius:4px;overflow:hidden;text-align:center;display:flex;align-items:center;justify-content:center}.chart-loading{display:flex;align-items:center;justify-content:center;height:100%;color:#ffffffb3;font-size:14px}.chart-tooltip{position:absolute;background:#000000e6;color:#fff;padding:8px 12px;border-radius:6px;font-size:12px;font-weight:500;pointer-events:none;z-index:9999;box-shadow:0 4px 6px #0000001a;border:1px solid rgba(255,255,255,.1)}@media (prefers-color-scheme: dark){.chart-container{border-color:#fff3}.chart-container:hover{border-color:#ffffff4d}}.visualization-container{width:100%;height:calc(75vh - 150px);position:relative;background:#11182780;border-radius:8px;overflow:hidden;transition:all .3s ease}.visualization-container.fullscreen{position:fixed;top:0;left:0;width:100%;height:100vh;height:100dvh;z-index:9999;background:#111827f2;border-radius:0}.fullscreen-toggle{position:absolute;top:10px;right:10px;background:#1f2937e6;border:1px solid rgba(59,130,246,.5);color:#60a5fa;padding:8px 12px;border-radius:6px;cursor:pointer;font-size:14px;z-index:10;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);white-space:nowrap;-webkit-user-select:none;user-select:none}.fullscreen-toggle:hover{background:#3b82f633;border-color:#3b82f6cc;transform:scale(1.05)}.visualization-container.fullscreen .fullscreen-toggle{z-index:10001;position:fixed;top:20px;right:20px}#graph-3d-container{width:100%;height:100%;position:relative}.graph-info-panel{position:absolute;top:10px;left:10px;background:#1f2937e6;padding:10px 15px;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:12px;color:#d1d5db;pointer-events:none;z-index:10}.graph-info-panel .info-item{margin-bottom:4px}.graph-info-panel .info-label{color:#9ca3af;margin-right:8px}.graph-info-panel .info-value{color:#60a5fa;font-weight:500}.node-tooltip{position:absolute;background:#111827f2;border:1px solid rgba(59,130,246,.5);padding:8px 12px;border-radius:6px;font-size:12px;color:#e5e7eb;pointer-events:none;z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 6px #0000004d;max-width:300px}.node-tooltip .tooltip-title{font-weight:600;color:#60a5fa;margin-bottom:4px}.node-tooltip .tooltip-metric{display:flex;justify-content:space-between;margin-bottom:2px}.node-tooltip .metric-label{color:#9ca3af}.node-tooltip .metric-value{color:#fbbf24;font-weight:500}.graph-legend{position:absolute;top:55px;right:10px;background:#1f2937e6;border:1px solid rgba(59,130,246,.5);border-radius:6px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:12px;color:#d1d5db;z-index:10;min-width:150px;transition:all .2s ease;-webkit-user-select:none;user-select:none}.graph-legend .legend-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid rgba(75,85,99,.5);cursor:pointer}.graph-legend .legend-header:hover{background:#3b82f61a}.graph-legend .legend-content{padding:12px;transition:all .2s ease;overflow:hidden}.graph-legend.collapsed .legend-content{max-height:0;padding:0 12px;opacity:0}.graph-legend .legend-toggle{font-size:12px;color:#9ca3af;transition:transform .2s ease}.graph-legend.collapsed .legend-toggle{transform:rotate(-90deg)}.graph-legend .legend-title{font-weight:600;color:#60a5fa;font-size:13px;margin:0}.graph-legend .legend-section{margin-bottom:8px}.graph-legend .legend-section:last-child{margin-bottom:0}.graph-legend .legend-section-title{font-weight:500;color:#9ca3af;margin-bottom:4px;font-size:11px;text-transform:uppercase;letter-spacing:.5px}.graph-legend .legend-item{display:flex;align-items:center;margin-bottom:3px;gap:6px}.graph-legend .legend-item:last-child{margin-bottom:0}.graph-legend .legend-color-box{width:12px;height:12px;border-radius:2px;flex-shrink:0;border:1px solid rgba(255,255,255,.2)}.graph-legend .legend-color-line{width:16px;height:2px;flex-shrink:0;border-radius:1px}.graph-legend .legend-item span{font-size:11px;color:#e5e7eb}.graph-controls{position:absolute;bottom:10px;right:10px;background:#1f2937e6;border:1px solid rgba(59,130,246,.5);padding:8px 12px;border-radius:6px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;transition:all .2s ease}.graph-controls .control-group{margin-bottom:0}.graph-controls .control-toggle-label{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.graph-controls .control-toggle-input{display:none}.graph-controls .control-toggle-slider{position:relative;width:32px;height:18px;background:#4b5563cc;border-radius:9px;transition:background-color .3s ease;flex-shrink:0}.graph-controls .control-toggle-slider:before{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;background:#fff;border-radius:50%;transition:transform .3s ease}.graph-controls .control-toggle-input:checked+.control-toggle-slider{background:#3b82f6}.graph-controls .control-toggle-input:checked+.control-toggle-slider:before{transform:translate(14px)}.graph-controls .control-toggle-text{font-size:12px;color:#e5e7eb;font-weight:500}.visualization-container.fullscreen .graph-legend,.visualization-container.fullscreen .graph-controls{z-index:10001;position:fixed}.visualization-container.fullscreen .graph-legend{top:70px;right:20px}.visualization-container.fullscreen .graph-controls{bottom:20px;right:20px}#model-visibility-toggle:checked+div{background-color:#10b981}#model-visibility-toggle:checked+div>div{transform:translate(1rem)}#model-visibility-section{transition:all .3s ease}#model-visibility-section .toggle-bg{transition:background-color .3s ease}#model-visibility-section .toggle-circle{transition:transform .3s ease}.unified-chart-container{background:#1f2937cc;border:1px solid rgba(75,85,99,.6);border-radius:8px;margin:16px 0;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.unified-chart-container:hover{background:#1f2937e6;border-color:#3b82f666;box-shadow:0 4px 12px #3b82f61a}.unified-chart-container.error{border-color:#ef444499;background:#ef44441a}.unified-chart-container .chart-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#374151cc;border-bottom:1px solid rgba(75,85,99,.4);gap:12px}.unified-chart-container .chart-header h4{margin:0;font-size:16px;font-weight:600;color:#f3f4f6}.chart-type-badge{background:#3b82f633;color:#93c5fd;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;border:1px solid rgba(59,130,246,.3)}.chart-type-badge.error{background:#ef444433;color:#fca5a5;border-color:#ef44444d}.chart-type-badge.legacy{background:#f59e0b33;color:#fbbf24;border-color:#f59e0b4d}.chart-actions{display:flex;gap:8px;align-items:center}.chart-download-btn{background:#3b82f633;border:1px solid rgba(59,130,246,.3);color:#93c5fd;padding:6px;border-radius:4px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:28px;height:28px}.chart-download-btn:hover{background:#3b82f64d;border-color:#3b82f680;color:#dbeafe;transform:translateY(-1px)}.chart-download-btn:active{transform:translateY(0);background:#3b82f666}.chart-download-btn svg{width:16px;height:16px}.unified-chart-container .chart-content{padding:16px;min-height:300px;display:flex;align-items:center;justify-content:center;overflow:auto;max-width:100%}.unified-chart-container .chart-content svg,.chart-container .chart-content svg,.unified-chart-svg{max-width:100%;height:auto;display:block;margin:0 auto}.chart-loading{display:flex;flex-direction:column;align-items:center;gap:12px;color:#9ca3af;font-size:14px}.loading-spinner{width:24px;height:24px;border:2px solid rgba(59,130,246,.3);border-top:2px solid #3b82f6;border-radius:50%;animation:chartSpin 1s linear infinite}@keyframes chartSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.chart-error,.chart-render-error{color:#fca5a5;text-align:center;padding:20px;border:1px dashed rgba(239,68,68,.4);border-radius:6px;background:#ef44440d}.no-data-message{color:#9ca3af;text-align:center;padding:20px;font-style:italic}.unsupported-chart{color:#fbbf24;text-align:center;padding:20px;border:1px dashed rgba(245,158,11,.4);border-radius:6px;background:#f59e0b0d}.unified-chart-svg{width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.unified-bar{transition:fill .2s ease;cursor:pointer}.unified-line{filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.unified-dot{transition:all .2s ease;cursor:pointer}.unified-dot:hover{filter:drop-shadow(0 2px 4px rgba(59,130,246,.4))}.unified-chart-svg .x-axis text,.unified-chart-svg .y-axis text{fill:#9ca3af;font-size:11px}.unified-chart-svg .x-axis line,.unified-chart-svg .y-axis line,.unified-chart-svg .x-axis path,.unified-chart-svg .y-axis path{stroke:#4b5563;stroke-width:1}.unified-chart-svg .x-label,.unified-chart-svg .y-label{fill:#6b7280;font-size:12px;font-weight:500}.unified-chart-tooltip{background:#000000e6!important;color:#fff!important;padding:8px 12px!important;border-radius:6px!important;font-size:12px!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important;border:1px solid rgba(59,130,246,.3)!important;box-shadow:0 4px 12px #0000004d!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;pointer-events:none!important;z-index:10000!important;max-width:250px!important;line-height:1.4!important}.chart-container.legacy{opacity:.8;filter:grayscale(.2)}.chart-container.legacy .chart-header{background:#f59e0b1a;border-bottom-color:#f59e0b4d}@media (max-width: 768px){.unified-chart-container{margin:12px 0}.unified-chart-container .chart-header{padding:10px 12px;flex-direction:column;gap:8px;align-items:flex-start}.unified-chart-container .chart-content{padding:12px;text-align:center;display:flex;align-items:center;justify-content:center}.chart-type-badge{align-self:flex-end}}@media (prefers-color-scheme: dark){.unified-chart-container{background:#111827e6;border-color:#4b5563cc}.unified-chart-container .chart-header{background:#1f2937e6}.unified-chart-svg .x-axis text,.unified-chart-svg .y-axis text{fill:#d1d5db}.unified-chart-svg .x-label,.unified-chart-svg .y-label{fill:#9ca3af}}.unified-chart-container{animation:chartFadeIn .5s ease-out}@keyframes chartFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.unified-chart-container:focus-within{outline:2px solid rgba(59,130,246,.5);outline-offset:2px}@media (prefers-contrast: high){.unified-chart-container{border-width:2px;border-color:#fff}.chart-type-badge{border-width:2px}.unified-chart-svg .x-axis text,.unified-chart-svg .y-axis text,.unified-chart-svg .x-label,.unified-chart-svg .y-label{fill:#fff;font-weight:600}}.unified-chart-container{background:#1f2937cc;border:1px solid rgba(75,85,99,.6);border-radius:12px;margin:16px 0;overflow:hidden;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);transition:all .3s ease;box-shadow:0 8px 32px #0000001a,inset 0 1px #ffffff1a}.unified-chart-container:hover{background:#1f2937e6;border-color:#3b82f666;backdrop-filter:blur(24px) saturate(200%);-webkit-backdrop-filter:blur(24px) saturate(200%);box-shadow:0 12px 40px #3b82f626,inset 0 1px #fff3}.scatter-chart .scatter-dot{transition:all .2s ease;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.scatter-chart .scatter-dot:hover{filter:drop-shadow(0 4px 8px rgba(79,70,229,.4))}.scatter-chart .voronoi-cell:focus{outline:2px solid rgba(79,70,229,.6);outline-offset:2px}.area-chart .area-path{filter:drop-shadow(0 4px 8px rgba(79,70,229,.3))}.area-chart .area-line{filter:drop-shadow(0 2px 4px rgba(79,70,229,.4))}.area-chart .area-dot{transition:all .2s ease;cursor:pointer}.area-chart .area-dot:hover{filter:drop-shadow(0 3px 6px rgba(79,70,229,.5))}.area-chart .guide-line{opacity:.7;animation:pulse-guide 2s infinite}@keyframes pulse-guide{0%,to{opacity:.7}50%{opacity:.4}}.pie-chart .pie-slice{cursor:pointer;transition:all .3s ease}.pie-chart .pie-slice:hover path{filter:brightness(1.1) drop-shadow(0 4px 12px rgba(0,0,0,.3))}.pie-chart .pie-slice:focus{outline:3px solid rgba(79,70,229,.6);outline-offset:3px;border-radius:8px}.pie-chart .label-line{transition:opacity .3s ease}.pie-chart .pie-label{text-shadow:0 1px 3px rgba(0,0,0,.5);transition:all .3s ease}.donut-chart .donut-slice{cursor:pointer;transition:all .3s ease}.donut-chart .donut-slice:hover path{filter:brightness(1.1) drop-shadow(0 4px 12px rgba(0,0,0,.3))}.donut-chart .donut-center{transition:all .3s ease}.donut-chart .donut-total-label{text-shadow:0 1px 3px rgba(0,0,0,.5)}.donut-chart .donut-total-value{text-shadow:0 1px 3px rgba(0,0,0,.5);filter:drop-shadow(0 2px 4px rgba(255,255,255,.1))}.glassmorphic-tooltip{background:#000000d9!important;backdrop-filter:blur(20px) saturate(180%)!important;-webkit-backdrop-filter:blur(20px) saturate(180%)!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:12px!important;box-shadow:0 8px 32px #0000004d,inset 0 1px #fff3!important;color:#fffffff2!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif!important;max-width:300px;min-width:120px;animation:tooltip-appear .2s ease-out}@keyframes tooltip-appear{0%{opacity:0;transform:scale(.9) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.glassmorphic-tooltip strong{color:#fff;font-weight:600}.no-data-state{background:#ffffff08!important;backdrop-filter:blur(10px) saturate(120%)!important;-webkit-backdrop-filter:blur(10px) saturate(120%)!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:16px!important;transition:all .3s ease;animation:fade-in .5s ease-out}@keyframes fade-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.no-data-state:hover{background:#ffffff0d!important;border-color:#ffffff1f!important}.unified-chart-svg .axis-label{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;letter-spacing:.025em;text-shadow:0 1px 3px rgba(0,0,0,.3)}.unified-chart-svg .x-axis,.unified-chart-svg .y-axis{transition:all .3s ease}.unified-chart-svg .domain,.unified-chart-svg .tick line{stroke:#ffffff40;stroke-width:1px;transition:all .3s ease}.unified-chart-svg .tick text{fill:#fffc;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-size:11px;transition:all .3s ease}@media (max-width: 768px){.unified-chart-container{margin:12px 0;border-radius:10px}.glassmorphic-tooltip{font-size:12px!important;padding:10px 12px!important;max-width:250px}.unified-chart-svg .tick text{font-size:10px}.unified-chart-svg .axis-label{font-size:12px}}@media (max-width: 480px){.unified-chart-container{margin:8px 0;border-radius:8px}.glassmorphic-tooltip{font-size:11px!important;padding:8px 10px!important;max-width:200px}.no-data-state{height:200px!important}.unified-chart-svg .axis-label{font-size:11px}}@media (prefers-contrast: high){.unified-chart-container{border:2px solid rgba(255,255,255,.8);background:#000000e6}.glassmorphic-tooltip{background:#000000f2!important;border:2px solid rgba(255,255,255,.8)!important}.unified-chart-svg .domain,.unified-chart-svg .tick line{stroke:#fffc;stroke-width:2px}.unified-chart-svg .tick text,.unified-chart-svg .axis-label{fill:#fff;font-weight:600}}@media (prefers-reduced-motion: reduce){.unified-chart-container,.glassmorphic-tooltip,.scatter-chart .scatter-dot,.area-chart .area-dot,.pie-chart .pie-slice,.donut-chart .donut-slice{transition:none!important;animation:none!important}.area-chart .guide-line{animation:none;opacity:.7}}@media print{.unified-chart-container{background:#fff!important;border:1px solid #000!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important}.glassmorphic-tooltip{display:none!important}.unified-chart-svg .tick text,.unified-chart-svg .axis-label{fill:#000!important}.unified-chart-svg .domain,.unified-chart-svg .tick line{stroke:#000!important}}.permission-banner{background:linear-gradient(135deg,#10b9811a,#3b82f61a);border:1px solid rgba(107,114,128,.3);border-radius:8px;padding:12px 16px;margin:0 24px 16px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.permission-banner.owner{background:linear-gradient(135deg,#10b98126,#22c55e1a);border-color:#10b9814d}.permission-banner.readonly{background:linear-gradient(135deg,#fb923c26,#f59e0b1a);border-color:#fb923c4d}.permission-banner.no-model{background:linear-gradient(135deg,#6b72801a,#4b55631a);border-color:#6b72804d}.workflow-groups{padding:0 24px}.workflow-group{margin-bottom:32px}.workflow-group-header{margin-bottom:16px;padding:16px 20px;background:linear-gradient(135deg,#3b82f614,#9333ea14);border:1px solid rgba(59,130,246,.2);border-radius:12px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.workflow-group-header h4{font-size:1.125rem;font-weight:600;color:#fff;margin-bottom:4px;display:flex;align-items:center;gap:8px}.workflow-group-header p{font-size:.875rem;color:#9ca3afe6;margin:0}.group-sub-tabs .flex{border-bottom:1px solid rgba(107,114,128,.3);margin-bottom:16px}.model-sub-tab-btn{position:relative;padding:12px 16px;font-size:.875rem;font-weight:500;border-bottom:2px solid transparent;transition:all .3s ease;background:transparent;border-radius:0;display:flex;align-items:center;gap:6px}.model-sub-tab-btn:hover{background:#3b82f60d}.model-sub-tab-btn.active{color:#60a5fa!important;border-bottom-color:#60a5fa!important;background:#3b82f61a}.model-sub-tab-btn[data-group=model-specific]{border-left:3px solid rgba(34,197,94,.5)}.model-sub-tab-btn[data-group=model-management]{border-left:3px solid rgba(168,85,247,.5)}.permission-indicator{display:flex;align-items:center;gap:6px;font-size:.75rem;color:#9ca3afcc}.permission-indicator.owner:before{content:"🔓";font-size:.875rem}.permission-indicator.readonly:before{content:"👁️";font-size:.875rem}.readonly-view{margin-bottom:16px}.readonly-view .bg-orange-900{background:linear-gradient(135deg,#fb923c1a,#f59e0b1a);border:1px solid rgba(251,146,60,.3);border-radius:8px;padding:12px 16px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.owner-only-actions{border-top:1px solid rgba(107,114,128,.2);padding-top:16px;margin-top:16px}.owner-only:disabled{opacity:.5;cursor:not-allowed;position:relative}.owner-only:disabled:hover{transform:none;box-shadow:none}.model-card{background:linear-gradient(135deg,#1f2937cc,#111827cc);border:1px solid rgba(107,114,128,.3);border-radius:8px;padding:16px;transition:all .3s ease;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);position:relative;overflow:hidden}.model-card:hover{border-color:#6b728080;transform:translateY(-2px);box-shadow:0 4px 20px #0000004d}.model-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary-400),var(--primary-600));opacity:0;transition:opacity .3s ease}.model-card:hover:before{opacity:1}.model-actions{margin-top:8px;padding-top:8px;border-top:1px solid rgba(107,114,128,.2)}.model-actions button{padding:4px;border-radius:4px;transition:all .2s ease;border:none;background:transparent;cursor:pointer;font-size:14px}.model-actions button:hover{transform:scale(1.1)}#persona-display{max-height:300px;overflow-y:auto}#persona-content-display{max-height:240px;overflow-y:auto}.persona-text{line-height:1.6;color:#d1d5dbe6}.persona-text strong{color:#eff6ff;font-weight:600}.persona-text em{color:#60a5fa;font-style:italic}.model-actions-grid{gap:24px}.action-section{background:linear-gradient(135deg,#1f293799,#11182799);border:1px solid rgba(107,114,128,.3);border-radius:12px;padding:20px;transition:all .3s ease;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.action-section:hover{border-color:#6b728080;background:linear-gradient(135deg,#1f2937cc,#111827cc)}.action-section h4{font-size:1rem;font-weight:600;color:#fff;margin-bottom:8px;display:flex;align-items:center;gap:8px}.action-section p{font-size:.875rem;color:#9ca3afe6;margin-bottom:16px;line-height:1.5}.action-section button{width:100%;padding:10px 16px;border-radius:8px;font-weight:500;transition:all .3s ease;border:none;cursor:pointer;font-size:.875rem;position:relative;overflow:hidden}.action-section button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s ease}.action-section button:hover:before{left:100%}.action-section button:disabled{opacity:.5;cursor:not-allowed}.action-section button:disabled:hover{transform:none}.action-section button:disabled:before{display:none}@media (max-width: 768px){.workflow-groups{padding:0 16px}.workflow-group-header{padding:12px 16px}.workflow-group-header h4{font-size:1rem}.permission-banner{margin:0 16px 16px;padding:10px 14px}.model-sub-tab-btn{padding:10px 12px;font-size:.8rem}.model-actions-grid{grid-template-columns:1fr;gap:16px}}@keyframes permissionChange{0%{opacity:.7;transform:scale(.98)}50%{opacity:1;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}.permission-banner.changing{animation:permissionChange .5s ease-out}.model-sub-tab-btn:focus{outline:2px solid var(--primary-400);outline-offset:2px}.model-card:focus{outline:2px solid var(--primary-400);outline-offset:2px}.action-section button:focus{outline:2px solid var(--primary-400);outline-offset:2px}@media (prefers-contrast: high){.permission-banner,.workflow-group-header,.model-card,.readonly-view .bg-orange-900{border-width:2px}}@media (prefers-color-scheme: dark){.permission-banner{background:linear-gradient(135deg,#10b98114,#3b82f614)}.workflow-group-header{background:linear-gradient(135deg,#3b82f60f,#9333ea0f)}.model-card{background:linear-gradient(135deg,#111827e6,#1f2937e6)}}@media print{.permission-banner,.workflow-group-header{background:none!important;border:1px solid #000!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.model-card{background:#fff!important;border:1px solid #000!important;box-shadow:none!important}}.voice-assistant-toggle{display:flex;align-items:center;justify-content:center;padding:8px;background:#8b5cf61a;border:1px solid rgba(139,92,246,.2);border-radius:8px;color:#8b5cf6;transition:all .2s ease;cursor:pointer;min-width:40px;height:40px}.voice-assistant-toggle:hover{background:#8b5cf633;border-color:#8b5cf64d;transform:translateY(-1px)}.voice-assistant-toggle.active{background:#8b5cf64d;border-color:#8b5cf666}.voice-assistant-panel{position:fixed;top:0;right:0;width:350px;height:100vh;background:linear-gradient(135deg,#1f2937,#111827);border-left:1px solid rgba(75,85,99,.3);box-shadow:-4px 0 20px #0000004d;transform:translate(0);transition:transform .3s ease;z-index:1000;display:flex;flex-direction:column}.voice-assistant-panel.hidden{transform:translate(100%)}.voice-panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(75,85,99,.3);background:#1f2937cc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.voice-panel-title{font-size:18px;font-weight:600;color:#f9fafb;margin:0;display:flex;align-items:center;gap:10px}.voice-panel-title i{color:#8b5cf6}.voice-panel-content{flex:1;padding:20px;overflow-y:auto;color:#f9fafb}.voice-panel-actions{display:flex;gap:8px}.voice-action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:#4b55634d;color:#9ca3af;border-radius:6px;cursor:pointer;transition:all .2s ease}.voice-action-btn:hover{background:#4b556380;color:#f3f4f6}.voice-panel-content .voice-preferences-content{padding:0}.voice-panel-content .voice-setting-group{margin-bottom:24px}.voice-panel-content .voice-setting-group:last-child{margin-bottom:0}.voice-panel-content .voice-setting-group label{display:block;color:#f9fafb;font-weight:500;margin-bottom:8px;font-size:.9rem}.voice-panel-content .voice-setting-group small{display:block;color:#f9fafbb3;font-size:.8rem;margin-top:6px;line-height:1.4}.voice-panel-content .voice-select{width:100%;padding:12px 16px;background:#111827cc;border:1px solid rgba(139,92,246,.3);border-radius:8px;color:#f9fafb;font-size:.9rem;transition:all .2s ease}.voice-panel-content .voice-select:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf633}.voice-panel-content .voice-select option{background:#1f2937;color:#f9fafb}.voice-panel-content .voice-checkbox-label{display:flex;align-items:center;cursor:pointer;color:#f9fafb;font-weight:500;margin-bottom:0}.voice-panel-content .voice-checkbox{display:none}.voice-panel-content .voice-checkbox-custom{width:20px;height:20px;border:2px solid rgba(139,92,246,.4);border-radius:4px;margin-right:12px;position:relative;transition:all .2s ease;flex-shrink:0}.voice-panel-content .voice-checkbox:checked+.voice-checkbox-custom{background:#8b5cf6;border-color:#8b5cf6}.voice-panel-content .voice-checkbox:checked+.voice-checkbox-custom:after{content:"";position:absolute;left:5px;top:1px;width:6px;height:12px;border:2px solid white;border-left:none;border-top:none;transform:rotate(45deg)}.voice-panel-content .voice-checkbox-custom:hover{border-color:#8b5cf6}.voice-panel-content .voice-modal-footer{margin-top:32px;padding-top:24px;border-top:1px solid rgba(75,85,99,.3);display:flex;gap:12px}.voice-panel-content .voice-btn{flex:1;padding:12px 20px;border:none;border-radius:8px;font-weight:500;font-size:.9rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.voice-panel-content .voice-btn-primary{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.voice-panel-content .voice-btn-primary:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);transform:translateY(-1px);box-shadow:0 4px 12px #8b5cf64d}.voice-panel-content .voice-btn-secondary{background:#4b556366;color:#d1d5db;border:1px solid rgba(75,85,99,.5)}.voice-panel-content .voice-btn-secondary:hover{background:#4b556399;color:#f3f4f6;transform:translateY(-1px)}.voice-panel-content .voice-btn-test{background:linear-gradient(135deg,#10b981,#059669);color:#fff;width:100%}.voice-panel-content .voice-btn-test:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.voice-panel-content .voice-btn-test:disabled{background:#4b556366;color:#f9fafb99;cursor:not-allowed;transform:none;box-shadow:none}.voice-panel-content .voice-advanced-section{margin-top:24px;border-top:1px solid rgba(75,85,99,.3);padding-top:16px}.voice-panel-content .voice-advanced-toggle{width:100%;background:#11182799;border:1px solid rgba(139,92,246,.3);border-radius:8px;padding:12px 16px;color:#f9fafb;font-size:.9rem;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:all .2s ease}.voice-panel-content .voice-advanced-toggle:hover{background:#111827cc;border-color:#8b5cf6}.voice-panel-content .voice-advanced-toggle i{transition:transform .2s ease;color:#8b5cf6}.voice-panel-content .voice-advanced-content{margin-top:16px;padding:0;overflow:hidden;transition:all .3s ease;max-height:1000px;opacity:1}.voice-panel-content .voice-advanced-content.collapsed{max-height:0;opacity:0;margin-top:0;padding:0}.voice-panel-content .voice-slider-container{display:flex;align-items:center;gap:12px;margin-top:8px}.voice-panel-content .voice-slider{flex:1;height:6px;background:#4b556366;border-radius:3px;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.voice-panel-content .voice-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:2px solid white;cursor:pointer;box-shadow:0 2px 4px #0003;transition:all .2s ease}.voice-panel-content .voice-slider::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 4px 8px #8b5cf64d}.voice-panel-content .voice-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:2px solid white;cursor:pointer;box-shadow:0 2px 4px #0003;transition:all .2s ease}.voice-panel-content .voice-slider::-moz-range-thumb:hover{transform:scale(1.1);box-shadow:0 4px 8px #8b5cf64d}.voice-panel-content .voice-slider::-webkit-slider-track{height:6px;background:#4b556366;border-radius:3px}.voice-panel-content .voice-slider::-moz-range-track{height:6px;background:#4b556366;border-radius:3px;border:none}.voice-panel-content .voice-slider:focus{outline:none}.voice-panel-content .voice-slider:focus::-webkit-slider-thumb{box-shadow:0 0 0 3px #8b5cf64d}.voice-panel-content .voice-slider-value{min-width:50px;text-align:center;font-size:.8rem;font-weight:500;color:#8b5cf6;background:#8b5cf61a;padding:4px 8px;border-radius:4px;border:1px solid rgba(139,92,246,.2)}.voice-panel-content .voice-setting-group label{font-size:.9rem;line-height:1.4}@media (max-width: 768px){.voice-panel-content .voice-slider-container{flex-direction:column;align-items:stretch;gap:8px}.voice-panel-content .voice-slider-value{align-self:center;min-width:auto}}@media (max-width: 768px){.voice-assistant-panel{width:100%;max-width:320px}}.conversation-history-toggle{display:flex;align-items:center;justify-content:center;padding:8px;background:#3b82f61a;border:1px solid rgba(59,130,246,.2);border-radius:8px;color:#3b82f6;transition:all .2s ease;cursor:pointer;min-width:40px;height:40px}.conversation-history-toggle:hover{background:#3b82f633;border-color:#3b82f64d;transform:translateY(-1px)}.conversation-history-panel{position:fixed;top:0;left:0;width:350px;height:100vh;background:linear-gradient(135deg,#1f2937,#111827);border-right:1px solid rgba(75,85,99,.3);box-shadow:4px 0 20px #0000004d;transform:translate(0);transition:transform .3s ease;z-index:1000;display:flex;flex-direction:column}.conversation-history-panel.hidden{transform:translate(-100%)}.history-panel-header{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;border-bottom:1px solid rgba(75,85,99,.3);background:#1f2937cc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.history-panel-title{font-size:16px;font-weight:600;color:#f9fafb;margin:0;display:flex;align-items:center;gap:8px}.history-panel-title i{color:#3b82f6}.history-panel-actions{display:flex;gap:8px}.history-action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:#4b55634d;color:#9ca3af;border-radius:6px;cursor:pointer;transition:all .2s ease}.history-action-btn:hover{background:#4b556380;color:#f9fafb;transform:scale(1.05)}.history-panel-content{flex:1;overflow-y:auto;padding:16px 0}.history-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#9ca3af;gap:12px}.history-loading .spinner-ring{width:32px;height:32px;border:3px solid rgba(59,130,246,.2);border-top:3px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite}.history-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:#6b7280}.history-loading.hidden,.history-empty-state.hidden{display:none!important}.conversations-list{padding:0 16px}.conversation-history-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;margin-bottom:8px;background:#37415199;border:1px solid rgba(75,85,99,.3);border-radius:8px;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.conversation-history-item:before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:#3b82f6;opacity:0;transition:opacity .2s ease}.conversation-history-item:hover{background:#3b82f61a;border-color:#3b82f64d;transform:translate(4px)}.conversation-history-item:hover:before{opacity:1}.conversation-item-content{flex:1;min-width:0}.conversation-title{font-size:14px;font-weight:500;color:#f9fafb;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.conversation-meta{display:flex;align-items:center;gap:12px;font-size:12px;color:#9ca3af}.conversation-time,.conversation-messages{white-space:nowrap}.conversation-actions{display:flex;gap:4px;opacity:0;transition:opacity .2s ease;margin-left:12px}.conversation-history-item:hover .conversation-actions{opacity:1}.conversation-action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:#4b556366;color:#9ca3af;border-radius:4px;cursor:pointer;transition:all .2s ease}.conversation-action-btn:hover{background:#3b82f633;color:#3b82f6;transform:scale(1.1)}.conversation-action-btn.delete-conversation:hover{background:#ef444433;color:#ef4444}@media (max-width: 768px){.conversation-history-panel{width:100%;max-width:320px}}@media (max-width: 640px){.conversation-history-panel:not(.hidden):after{content:"";position:fixed;top:0;left:100%;width:0%;height:100vh;height:100dvh;background:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:-1}}.conversation-history-item.auto-saved{border-left:3px solid #10b981;background:#10b9810d}.conversation-history-item.auto-saved:hover{background:#10b9811a;border-color:#10b981}.auto-save-indicator{display:inline-block;margin-right:6px;opacity:.7;font-size:12px;animation:pulse 2s infinite}.auto-save-label{font-size:10px;color:#10b981;background:#10b9811a;padding:2px 6px;border-radius:10px;border:1px solid rgba(16,185,129,.2);margin-left:8px}@keyframes pulse{0%,to{opacity:.7}50%{opacity:1}}.model-card .model-name-input{transition:all .2s ease;background:transparent;border:1px solid transparent}.model-card .model-name-input:hover{background-color:#3741514d;border-color:#10b98133}.model-card .model-name-input:focus{background-color:#374151cc!important;box-shadow:0 0 0 2px #10b9814d;border-color:#10b98180}.model-card .model-description-input{transition:all .2s ease;font-family:inherit;min-height:60px;max-height:120px;background:transparent;border:1px solid transparent;line-height:1.4}.model-card .model-description-input:hover{background-color:#3741514d;border-color:#10b98133}.model-card .model-description-input:focus{background-color:#374151cc!important;box-shadow:0 0 0 2px #10b9814d;border-color:#10b98180}.model-card .model-name-input::placeholder,.model-card .model-description-input::placeholder{color:#9ca3af99;font-style:italic}.model-actions button{transition:all .2s ease;position:relative;overflow:hidden}.model-actions button:hover{transform:scale(1.1);box-shadow:0 2px 8px #0000004d}.model-actions button:active{transform:scale(1.05)}.model-actions button[title*=Public]{background:#10b9811a;border:1px solid rgba(16,185,129,.3)}.model-actions button[title*=Private]{background:#f973161a;border:1px solid rgba(249,115,22,.3)}.model-actions button:disabled{opacity:.5;cursor:not-allowed;transform:none!important;pointer-events:none}.model-card{min-height:180px;display:flex;flex-direction:column}.model-card:hover{transform:translateY(-1px);box-shadow:0 4px 16px #0003}.model-card:hover .model-actions button{opacity:1}.model-actions{opacity:.8;transition:opacity .2s ease;margin-top:auto}#avatar-container{background:linear-gradient(135deg,#0f172a,#111827);border-radius:16px;padding:10px;box-shadow:0 8px 20px #00000059;border:1px solid rgba(255,255,255,.08);position:relative}#avatar-video{display:block;width:100%;height:auto;background:transparent!important;border-radius:12px}.voice-input,.voice-select{background:#ffffff0f;border:1px solid rgba(255,255,255,.15);color:#e5e7eb;border-radius:8px;padding:8px 10px}#avatar-video.loading{background:#00000040;min-height:220px}.audio-unlock-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00000059;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:12px;cursor:pointer;z-index:3}.audio-unlock-overlay.hidden{display:none}.audio-unlock-content{display:inline-flex;gap:10px;align-items:center;padding:10px 14px;border-radius:9999px;background:#111827d9;color:#fff;border:1px solid rgba(255,255,255,.15);box-shadow:0 6px 18px #00000040;font-size:14px}.audio-unlock-content i{color:#8b5cf6}#avatar-container.loading:before{content:"";position:absolute;top:50%;left:50%;width:48px;height:48px;margin:-24px 0 0 -24px;border-radius:50%;border:4px solid rgba(255,255,255,.2);border-top-color:#a78bfa;animation:hs-spin 1s linear infinite;z-index:2}@keyframes hs-spin{to{transform:rotate(360deg)}}.voice-assistant-container{position:fixed;bottom:20px;right:20px;z-index:1000;font-family:var(--font-family-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif);display:none}.voice-assistant-btn{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--primary-500, #3B82F6),var(--purple-600, #8B5CF6));border:none;color:#fff;font-size:20px;cursor:pointer;box-shadow:0 4px 12px #3b82f64d,0 2px 4px #0000001a;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.voice-assistant-btn:hover{transform:scale(1.05);box-shadow:0 6px 20px #3b82f666,0 4px 8px #00000026}.voice-assistant-btn:active{transform:scale(.95)}.voice-assistant-btn.active{background:linear-gradient(135deg,#ef4444,#f97316);animation:voice-pulse 2s infinite;box-shadow:0 6px 20px #ef444466,0 2px 4px #0000001a}.voice-assistant-btn.active:hover{box-shadow:0 8px 25px #ef444480,0 4px 8px #00000026}.voice-status-indicator{position:absolute;top:-2px;right:-2px;width:16px;height:16px;border-radius:50%;background:var(--success-500, #10B981);border:2px solid white;transition:all .3s ease}.voice-status-indicator.listening{background:var(--warning-500, #F59E0B);animation:voice-indicator-pulse 1s infinite}.voice-status-indicator.processing{background:var(--primary-500, #3B82F6);animation:voice-indicator-pulse 1.5s infinite}.voice-status-indicator.speaking{background:var(--purple-600, #8B5CF6);animation:voice-indicator-pulse .8s infinite}.voice-status-panel{position:absolute;bottom:70px;right:0;width:320px;background:#111827f2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg, 12px);box-shadow:0 20px 25px -5px #0000004d,0 10px 10px -5px #0000001a;color:#fff;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);transform-origin:bottom right}.voice-status-panel.hidden{opacity:0;transform:scale(.95) translateY(10px);pointer-events:none}.voice-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4, 16px);background:#3b82f61a;border-bottom:1px solid rgba(255,255,255,.05)}.voice-persona-info{display:flex;flex-direction:column;gap:var(--space-1, 4px)}.voice-persona-info #voice-persona-name{font-size:var(--font-size-sm, 14px);font-weight:600;color:#fffffff2}.voice-persona-model{font-size:var(--font-size-xs, 12px);color:#ffffffb3;font-family:var(--font-family-mono, "Fira Code", monospace)}.voice-settings-btn{width:24px;height:24px;border:none;background:#4fc3f733;color:#4fc3f7cc;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;font-size:12px;margin-right:8px}.voice-settings-btn:hover{background:#4fc3f74d;color:#4fc3f7;transform:scale(1.05)}.voice-close-btn{width:24px;height:24px;border:none;background:#ffffff1a;color:#ffffffb3;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;font-size:12px}.voice-close-btn:hover{background:#fff3;color:#ffffffe6}.voice-status{padding:var(--space-3, 12px) var(--space-4, 16px);min-height:40px;display:flex;align-items:center}.voice-indicator{display:flex;align-items:center;gap:var(--space-2, 8px);font-size:var(--font-size-sm, 14px);color:#fffc;transition:all .3s ease}.voice-indicator.hidden{display:none}.voice-indicator i{width:16px;text-align:center}#voice-listening i{color:var(--warning-500, #F59E0B);animation:voice-icon-pulse 1s infinite}#voice-processing i{color:var(--primary-500, #3B82F6);animation:voice-spin 2s linear infinite}#voice-speaking i{color:var(--purple-600, #8B5CF6);animation:voice-icon-pulse .8s infinite}.voice-transcript{padding:var(--space-3, 12px) var(--space-4, 16px);border-top:1px solid rgba(255,255,255,.05);max-height:none}.transcript-label{font-size:var(--font-size-xs, 12px);color:#fff9;margin-bottom:var(--space-2, 8px);font-weight:500}.transcript-content{max-height:calc(78dvh - 420px);min-height:160px;overflow-y:auto;font-size:var(--font-size-sm, 14px);line-height:1.4}.transcript-entry{margin-bottom:var(--space-2, 8px);padding:var(--space-2, 8px);border-radius:var(--radius-md, 8px);background:#ffffff05}.transcript-entry.user{background:#3b82f61a;border-left:3px solid var(--primary-500, #3B82F6)}.transcript-entry.assistant{background:#8b5cf61a;border-left:3px solid var(--purple-600, #8B5CF6)}.transcript-speaker{font-weight:600;font-size:var(--font-size-xs, 12px);color:#fffc;display:block;margin-bottom:var(--space-1, 4px)}.transcript-text{color:#ffffffe6;display:block}.transcript-time{font-size:var(--font-size-xs, 12px);color:#ffffff80;display:block;margin-top:var(--space-1, 4px);text-align:right}.voice-controls{padding:var(--space-3, 12px) var(--space-4, 16px);border-top:1px solid rgba(255,255,255,.05);display:flex;gap:var(--space-2, 8px);justify-content:center}.voice-control-btn{width:36px;height:36px;border:none;background:#ffffff1a;color:#ffffffb3;border-radius:var(--radius-md, 8px);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;font-size:14px}.voice-control-btn:hover{background:#fff3;color:#ffffffe6;transform:translateY(-1px)}.voice-control-btn:active{transform:translateY(0)}@keyframes voice-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.02)}}@keyframes voice-indicator-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.1)}}@keyframes voice-icon-pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes voice-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.voice-assistant-container{bottom:15px;right:15px}.voice-assistant-btn{width:48px;height:48px;font-size:18px}.voice-status-panel{width:min(92%,320px);left:auto;right:15px;bottom:60px}.transcript-content{max-height:calc(78dvh - 360px);min-height:140px}}@media (max-width: 480px){.voice-status-panel{width:92%;left:4%;right:auto}}.voice-assistant-btn:focus,.voice-close-btn:focus,.voice-control-btn:focus{outline:2px solid var(--primary-500, #3B82F6);outline-offset:2px}@media (prefers-contrast: high){.voice-status-panel{background:#000000f2;border:2px solid rgba(255,255,255,.3)}.voice-assistant-btn{border:2px solid rgba(255,255,255,.5)}}@media (prefers-reduced-motion: reduce){.voice-assistant-btn,.voice-status-panel,.voice-indicator{transition:none}.voice-pulse,.voice-indicator-pulse,.voice-icon-pulse,.voice-spin{animation:none}}.voice-assistant-container{--voice-primary: var(--primary-500, #3B82F6);--voice-secondary: var(--purple-600, #8B5CF6);--voice-success: var(--success-500, #10B981);--voice-warning: var(--warning-500, #F59E0B);--voice-error: var(--error-500, #EF4444);--voice-background: var(--surface-900, rgba(17, 24, 39, .95));--voice-text: var(--text-primary, rgba(255, 255, 255, .9));--voice-text-secondary: var(--text-secondary, rgba(255, 255, 255, .7))}[data-theme=light] .voice-status-panel{background:#fffffff2;color:var(--gray-900, #111827);border:1px solid rgba(0,0,0,.1)}[data-theme=light] .voice-close-btn,[data-theme=light] .voice-control-btn{background:#0000001a;color:#000000b3}[data-theme=light] .voice-close-btn:hover,[data-theme=light] .voice-control-btn:hover{background:#0003;color:#000000e6}@media (max-width: 768px){.voice-assistant-panel{top:auto!important;bottom:0!important;left:0!important;right:0!important;width:100%!important;height:calc(60dvh - var(--vk-offset, 0px))!important;max-height:500px;border-radius:20px 20px 0 0!important;border-left:none!important;border-top:1px solid rgba(75,85,99,.3);transform:translateY(100%)!important;transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:9999}.voice-assistant-panel:not(.hidden){transform:translateY(0)!important}.voice-assistant-panel.hidden{transform:translateY(100%)!important}.voice-panel-header{position:relative;padding-top:24px!important}.voice-panel-header:before{content:"";position:absolute;top:8px;left:50%;transform:translate(-50%);width:40px;height:4px;background:#ffffff4d;border-radius:2px;transition:all .2s ease;animation:dragHandlePulse 2s infinite ease-in-out}.voice-panel-header:hover:before,.voice-panel-header:active:before{background:#fff9;width:50px;animation:none}@keyframes dragHandlePulse{0%,to{opacity:.3;transform:translate(-50%) scaleX(1)}50%{opacity:.6;transform:translate(-50%) scaleX(1.1)}}.voice-panel-content{padding:16px 20px 20px!important;max-height:calc(60vh - 80px);overflow-y:auto;overscroll-behavior:contain}.voice-assistant-panel:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:-1;opacity:0;transition:opacity .3s ease;pointer-events:none}.voice-assistant-panel:not(.hidden):before{opacity:1;pointer-events:auto}.voice-action-btn{width:40px!important;height:40px!important;font-size:16px!important}.voice-indicator{padding:8px 12px;border-radius:12px;background:#ffffff1a;margin-bottom:8px;font-size:14px}.voice-assistant-panel:not(.hidden)~.app-main{overflow:hidden}.voice-panel-header{-webkit-tap-highlight-color:rgba(255,255,255,.1);touch-action:pan-y}.voice-persona-info{margin-bottom:16px!important}.voice-persona-info #voice-persona-name{font-size:16px!important;margin-bottom:4px}.voice-persona-model{font-size:12px!important;opacity:.8}.voice-panel-content{-webkit-overflow-scrolling:touch;scrollbar-width:thin}.voice-panel-content::-webkit-scrollbar{width:2px}.voice-panel-content::-webkit-scrollbar-track{background:transparent}.voice-panel-content::-webkit-scrollbar-thumb{background:#fff3;border-radius:1px}}@media (max-width: 480px){.voice-assistant-panel{height:calc(70dvh - var(--vk-offset, 0px))!important;max-height:600px}.voice-panel-content{max-height:calc(70dvh - 80px - var(--vk-offset, 0px))}.voice-panel-header{padding:20px 16px 16px!important}.voice-panel-title{font-size:16px!important}}.voice-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px}.voice-modal-content{background:#1e2832f2;border-radius:16px;border:1px solid rgba(255,255,255,.1);box-shadow:0 20px 40px #0000004d;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;animation:voiceModalSlideIn .3s ease-out}@keyframes voiceModalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.voice-modal-header{padding:24px 24px 16px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:space-between}.voice-modal-header h3{margin:0;color:#fff;font-size:1.4rem;font-weight:600}.voice-modal-close{background:none;border:none;color:#fff9;font-size:24px;cursor:pointer;padding:4px;border-radius:6px;transition:all .2s ease;line-height:1;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.voice-modal-close:hover{background:#ffffff1a;color:#fff}.voice-modal-body{padding:24px}.voice-setting-group{margin-bottom:24px}.voice-setting-group:last-child{margin-bottom:0}.voice-setting-group label{display:block;color:#fff;font-weight:500;margin-bottom:8px;font-size:.9rem}.voice-setting-group small{display:block;color:#fff9;font-size:.8rem;margin-top:6px;line-height:1.4}.voice-select{width:100%;padding:12px 16px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;font-size:.9rem;transition:all .2s ease}.voice-select:focus{outline:none;border-color:#4fc3f7;box-shadow:0 0 0 3px #4fc3f733}.voice-select option{background:#1e2832;color:#fff}.voice-checkbox-label{display:flex;align-items:center;cursor:pointer;color:#fff;font-weight:500;margin-bottom:0}.voice-checkbox{display:none}.voice-checkbox-custom{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-radius:4px;margin-right:12px;position:relative;transition:all .2s ease;flex-shrink:0}.voice-checkbox:checked+.voice-checkbox-custom{background:#4fc3f7;border-color:#4fc3f7}.voice-checkbox:checked+.voice-checkbox-custom:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:12px;font-weight:700}.voice-slider-container{display:flex;align-items:center;gap:12px}.voice-slider{flex:1;height:6px;border-radius:3px;background:#fff3;outline:none;transition:all .2s ease;cursor:pointer}.voice-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#4fc3f7;cursor:pointer;border:2px solid #ffffff;box-shadow:0 2px 6px #0000004d;transition:all .2s ease}.voice-slider::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 4px 12px #4fc3f766}.voice-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#4fc3f7;cursor:pointer;border:2px solid #ffffff;box-shadow:0 2px 6px #0000004d}.voice-slider-value{color:#4fc3f7;font-weight:600;font-size:.9rem;min-width:40px;text-align:right}.voice-status-display{padding:12px 16px;background:#ffffff0d;border-radius:8px;border:1px solid rgba(255,255,255,.1)}.voice-status-indicator{font-weight:600;font-size:.9rem}.voice-status-connected{color:#4caf50}.voice-status-reconnecting{color:#ff9800}.voice-status-inactive{color:#fff9}.voice-reconnection-info{display:block;color:#fff9;font-size:.8rem;margin-top:4px}.voice-context-info{display:flex;gap:16px;margin-top:8px;font-size:.8rem}.voice-context-info span{color:#ffffffb3;background:#ffffff0d;padding:4px 8px;border-radius:4px;border:1px solid rgba(255,255,255,.1)}.voice-modal-footer{padding:16px 24px 24px;border-top:1px solid rgba(255,255,255,.1);display:flex;gap:12px;justify-content:flex-end;align-items:center}.voice-btn{padding:10px 20px;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;gap:8px;min-height:40px}.voice-btn:disabled{opacity:.6;cursor:not-allowed}.voice-btn-primary{background:linear-gradient(135deg,#4fc3f7,#29b6f6);color:#fff;box-shadow:0 4px 12px #4fc3f74d}.voice-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#29b6f6,#0288d1);box-shadow:0 6px 16px #4fc3f766;transform:translateY(-1px)}.voice-btn-secondary{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2)}.voice-btn-secondary:hover:not(:disabled){background:#fff3;border-color:#ffffff4d}@media (max-width: 600px){.voice-modal-overlay{padding:10px}.voice-modal-content{max-height:95vh}.voice-modal-header,.voice-modal-body,.voice-modal-footer{padding-left:16px;padding-right:16px}.voice-modal-footer{flex-direction:column;gap:8px}.voice-btn{width:100%;justify-content:center}}.voice-modal-content:focus-within{box-shadow:0 20px 40px #0000004d,0 0 0 3px #4fc3f74d}.voice-status-indicator{transition:all .3s ease}.voice-btn:disabled{position:relative}.voice-btn:disabled:after{content:"";position:absolute;top:50%;right:12px;width:12px;height:12px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:voiceButtonSpin 1s linear infinite}@keyframes voiceButtonSpin{to{transform:rotate(360deg)}}
