.floating-chat-button{position:fixed!important;bottom:24px!important;right:24px!important;width:56px!important;height:56px!important;border-radius:50%!important;background:linear-gradient(135deg,#4c75e7,#1d4fd7)!important;border:none!important;cursor:pointer!important;box-shadow:0 4px 12px rgba(29,79,215,.3)!important;display:flex!important;align-items:center!important;justify-content:center!important;transition:all .3s ease!important;z-index:9999!important;color:white!important;animation:fadeInButton .3s ease-out!important}@keyframes fadeInButton{0%{opacity:0;transform:scale(.8) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.floating-chat-button:hover{transform:scale(1.1);box-shadow:0 6px 16px rgba(29,79,215,.4)}.floating-chat-button:active{transform:scale(.95)}.floating-chat-button svg{width:24px;height:24px}.unread-indicator{position:absolute;top:8px;right:8px;width:12px;height:12px;background-color:#e34444;border-radius:50%;border:2px solid white;animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(227,68,68,.7)}70%{box-shadow:0 0 0 10px rgba(227,68,68,0)}to{box-shadow:0 0 0 0 rgba(227,68,68,0)}}@media (max-width:768px){.floating-chat-button{bottom:16px;right:16px;width:48px;height:48px}.floating-chat-button svg{width:20px;height:20px}}.message-renderer{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--gray-900,#191d24);line-height:1.7;font-size:14px}.module-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:linear-gradient(135deg,rgba(76,117,231,.1),rgba(29,79,215,.05));border:1px solid rgba(76,117,231,.2);border-radius:8px;font-size:12px;font-weight:600;margin-bottom:12px;width:-moz-fit-content;width:fit-content}.module-icon{font-size:14px}.module-name{color:var(--primary-700,#1d4fd7);text-transform:uppercase;letter-spacing:.5px}.message-text{white-space:pre-wrap;word-break:break-word}.error-text{color:#c62828}.markdown-paragraph{margin:0 0 16px;line-height:1.7;color:var(--gray-800,#242b35)}.markdown-paragraph:last-child{margin-bottom:0}.markdown-heading{margin:24px 0 12px;line-height:1.3;font-weight:700;color:var(--gray-900,#191d24)}.markdown-heading:first-child{margin-top:0}.markdown-heading.h1{font-size:24px;border-bottom:3px solid var(--primary-600,#4c75e7);padding-bottom:8px;margin-bottom:16px}.markdown-heading.h2{font-size:20px;border-bottom:2px solid var(--gray-300,#c8ced9);padding-bottom:6px;margin-bottom:14px}.markdown-heading.h3{font-size:17px;color:var(--primary-700,#1d4fd7);margin-bottom:12px}.markdown-heading.h4{font-size:15px;color:var(--gray-800,#242b35);font-weight:600;margin-bottom:10px}.markdown-list{margin:16px 0;padding-left:24px}.markdown-list.bulleted-list{list-style-type:disc}.markdown-list.numbered-list{list-style-type:decimal}.list-item{margin:8px 0;line-height:1.7;color:var(--gray-800,#242b35);padding-left:8px}.list-item::marker{color:var(--primary-600,#4c75e7);font-weight:700}.markdown-list .markdown-list{margin:8px 0;padding-left:20px}.markdown-list .markdown-list.bulleted-list{list-style-type:circle}.code-block-wrapper{margin:16px 0;border-radius:12px;overflow:hidden;border:1px solid var(--gray-300,#c8ced9);box-shadow:0 4px 12px rgba(0,0,0,.08);background:#1e1e1e}.code-block-header{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:#2d2d30;border-bottom:1px solid #3e3e42}.code-language{text-transform:uppercase;letter-spacing:.5px}.code-language,.copy-button{font-size:12px;font-weight:600;color:#569cd6}.copy-button{display:flex;align-items:center;gap:6px;background:rgba(76,117,231,.15);border:1px solid rgba(76,117,231,.3);padding:6px 12px;border-radius:6px;cursor:pointer;transition:all .2s ease}.copy-button:hover{background:rgba(76,117,231,.25);border-color:rgba(76,117,231,.5);transform:translateY(-1px)}.copy-button svg{stroke:currentColor}.syntax-highlighter{margin:0!important;padding:16px!important;background:#1e1e1e!important;font-size:13px!important;line-height:1.6!important}.syntax-highlighter,.syntax-highlighter code{font-family:Consolas,Monaco,Courier New,monospace!important}.inline-code{background:rgba(76,117,231,.08);color:var(--primary-700,#1d4fd7);padding:2px 6px;border-radius:4px;font-family:Consolas,Monaco,Courier New,monospace;font-size:.9em;font-weight:600;border:1px solid rgba(76,117,231,.15)}.table-wrapper{margin:20px 0;overflow-x:auto;border-radius:12px;border:2px solid var(--gray-300,#c8ced9);box-shadow:0 4px 12px rgba(0,0,0,.08)}.markdown-table{width:100%;border-collapse:collapse;font-size:13px;background:white}.table-header{background:linear-gradient(135deg,var(--primary-600,#4c75e7),var(--primary-700,#1d4fd7));color:white}.table-row{transition:background .2s ease}.table-row:nth-child(2n){background:var(--gray-50,#f9f9f9)}.table-row:hover{background:rgba(76,117,231,.05)}.table-cell{padding:12px 16px;border:1px solid var(--gray-200,#e0e4ea);text-align:left;color:var(--gray-800,#242b35);line-height:1.5}.table-header-cell{font-weight:700;text-transform:uppercase;letter-spacing:.5px;font-size:12px;border-color:rgba(255,255,255,.2);color:white}.markdown-blockquote{margin:20px 0;padding:16px 20px;background:linear-gradient(90deg,rgba(76,117,231,.05),rgba(76,117,231,.02));border-left:4px solid var(--primary-600,#4c75e7);border-radius:0 8px 8px 0;color:var(--gray-800,#242b35);font-style:italic;box-shadow:0 2px 8px rgba(76,117,231,.08)}.markdown-blockquote p{margin:0}.markdown-blockquote:before{content:"\201C";font-size:36px;line-height:0;color:var(--primary-600,#4c75e7);opacity:.3;font-weight:700;float:left;margin-right:8px;margin-top:12px}.markdown-link{color:var(--primary-600,#4c75e7);text-decoration:none;font-weight:600;border-bottom:2px solid transparent;transition:all .2s ease;display:inline-flex;align-items:center;gap:4px}.markdown-link:hover{color:var(--primary-700,#1d4fd7);border-bottom-color:var(--primary-600,#4c75e7)}.markdown-link svg{width:12px;height:12px;opacity:.7;transition:transform .2s ease}.markdown-link:hover svg{transform:translate(2px,-2px);opacity:1}.markdown-strong{font-weight:700;color:var(--gray-900,#191d24)}.markdown-em{font-style:italic;color:var(--gray-800,#242b35)}.markdown-hr{margin:24px 0;border:none;height:2px;background:linear-gradient(to right,transparent,var(--gray-300,#c8ced9),transparent)}@media (max-width:768px){.message-renderer{font-size:13px}.markdown-heading.h1{font-size:20px}.markdown-heading.h2{font-size:18px}.markdown-heading.h3{font-size:16px}.code-block-wrapper{margin:12px -8px;border-radius:8px}.syntax-highlighter{font-size:12px!important;padding:12px!important}.table-wrapper{margin:16px -8px}.table-cell{padding:10px 12px;font-size:12px}}.message-renderer p:has(strong:first-child){background:rgba(76,117,231,.03);padding:8px 12px;border-radius:6px;border-left:3px solid var(--primary-600,#4c75e7);margin:8px 0}.markdown-list.numbered-list>.list-item{padding-left:12px;margin:12px 0}.markdown-list.numbered-list>.list-item::marker{font-size:1.1em;font-weight:700}.message-renderer>:first-child{margin-top:0}.message-renderer>:last-child{margin-bottom:0}.list-item .inline-code{font-size:.85em}.message-renderer .markdown-list+p,.message-renderer p+.markdown-list,.message-renderer p+p{margin-top:16px}.message-renderer .code-block-wrapper+p,.message-renderer p+.code-block-wrapper{margin-top:20px}.list-item p{margin:4px 0}.list-item>.markdown-list{margin-top:8px}.chat-panel{position:fixed;right:-450px;top:0;bottom:0;width:450px;background:#ffffff;box-shadow:-8px 0 32px rgba(29,79,215,.12),-4px 0 16px rgba(0,0,0,.08);display:flex;flex-direction:column;transition:right .4s cubic-bezier(.4,0,.2,1);z-index:9998;border-left:1px solid var(--gray-200,#e0e4ea)}.chat-panel.open{right:0}.chat-panel-header{padding:24px;background:linear-gradient(135deg,var(--primary-600,#4c75e7) 0,var(--primary-700,#1d4fd7) 100%);color:white;display:flex;justify-content:space-between;align-items:center;flex-shrink:0;box-shadow:0 4px 12px rgba(29,79,215,.15)}.header-content{gap:12px}.header-content,.header-icon{display:flex;align-items:center}.header-icon{width:40px;height:40px;background:rgba(255,255,255,.25);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:10px;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.1)}.header-text h3{margin:0;font-size:18px;font-weight:600}.context-badge{display:inline-block;background:rgba(255,255,255,.25);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:4px 12px;border-radius:16px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-top:6px;border:1px solid rgba(255,255,255,.3);animation:contextBadgeFadeIn .4s ease-out}@keyframes contextBadgeFadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.header-actions{display:flex;gap:8px}.clear-button,.close-button{background:rgba(255,255,255,.2);border:none;color:white;cursor:pointer;padding:8px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:background .2s}.clear-button:hover,.close-button:hover{background:rgba(255,255,255,.3)}.chat-panel-messages{flex:1 1;overflow-y:auto;padding:24px;background:linear-gradient(to bottom,var(--gray-50,#f9f9f9) 0,var(--gray-100,#f1f3f6) 100%)}.welcome-message{text-align:center;padding:60px 24px 40px;color:var(--gray-600,#5b6b86)}.welcome-icon{color:var(--primary-600,#4c75e7);margin-bottom:20px;filter:drop-shadow(0 4px 12px rgba(76,117,231,.25));animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.welcome-message h4{margin:0 0 12px;font-size:24px;font-weight:700;color:var(--gray-900,#191d24);background:linear-gradient(135deg,var(--primary-600,#4c75e7),var(--primary-700,#1d4fd7));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.welcome-message p{margin:0 0 32px;font-size:15px;line-height:1.6;color:var(--gray-600,#5b6b86)}.suggested-prompts{margin-top:32px;text-align:left}.suggested-label{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--gray-700,#384252);margin-bottom:16px;display:flex;align-items:center;gap:8px}.suggested-label:before{content:"✨";font-size:16px}.suggested-prompt{display:flex;align-items:flex-start;gap:12px;width:100%;text-align:left;padding:16px 18px;margin-bottom:10px;background:white;border:2px solid var(--gray-200,#e0e4ea);border-radius:12px;font-size:14px;line-height:1.5;color:var(--gray-800,#242b35);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.suggested-prompt:before{content:"💡";font-size:18px;flex-shrink:0;transition:transform .3s ease}.suggested-prompt:after{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(135deg,var(--primary-600,#4c75e7),var(--primary-700,#1d4fd7));transform:scaleY(0);transition:transform .3s ease}.suggested-prompt:hover{background:linear-gradient(90deg,rgba(76,117,231,.05),white);border-color:var(--primary-600,#4c75e7);transform:translateX(8px);box-shadow:0 4px 12px rgba(76,117,231,.15)}.suggested-prompt:hover:before{transform:scale(1.2) rotate(10deg)}.suggested-prompt:hover:after{transform:scaleY(1)}.suggested-prompt:active{transform:translateX(6px) scale(.98)}.message-wrapper{margin-bottom:16px;animation:messageSlideIn .3s ease-out}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-wrapper.user{display:flex;justify-content:flex-end}.message-wrapper.assistant{display:flex;justify-content:flex-start}.message-wrapper.error{display:flex;justify-content:center}.message-content{max-width:85%;padding:16px 20px;border-radius:16px;word-wrap:break-word;box-shadow:0 2px 8px rgba(0,0,0,.06);animation:slideIn .3s ease;overflow-x:auto}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-wrapper.user .message-content{background:linear-gradient(135deg,var(--primary-600,#4c75e7) 0,var(--primary-700,#1d4fd7) 100%);color:white;border-radius:16px 16px 4px 16px;box-shadow:0 4px 12px rgba(76,117,231,.3)}.message-wrapper.assistant .message-content{background:white;color:var(--gray-900,#191d24);border:2px solid var(--gray-200,#e0e4ea);border-radius:16px 16px 16px 4px}.message-wrapper.error .message-content{background:#ffebee;color:#c62828;border:1px solid #ef9a9a}.typing-indicator{display:flex;gap:4px;padding:12px 16px;background:white;border-radius:12px;width:-moz-fit-content;width:fit-content}.typing-indicator span{width:8px;height:8px;background:#667eea;border-radius:50%;animation:typing 1.4s infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.7}30%{transform:translateY(-10px);opacity:1}}.chat-panel-input{padding:20px 24px;background:white;border-top:2px solid var(--gray-200,#e0e4ea);display:flex;gap:12px;align-items:flex-end;flex-shrink:0;box-shadow:0 -4px 12px rgba(0,0,0,.04)}.chat-panel-input textarea{flex:1 1;border:2px solid var(--gray-300,#c8ced9);border-radius:12px;padding:14px 16px;font-size:14px;font-family:inherit;resize:none;min-height:48px;max-height:120px;overflow-y:auto;transition:all .2s ease}.chat-panel-input textarea:focus{outline:none;border-color:var(--primary-600,#4c75e7);box-shadow:0 0 0 3px rgba(76,117,231,.1)}.chat-panel-input textarea:disabled{background:#f5f5f5;cursor:not-allowed}.send-button{width:48px;height:48px;background:linear-gradient(135deg,var(--primary-600,#4c75e7) 0,var(--primary-700,#1d4fd7) 100%);border:none;border-radius:12px;color:white;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);flex-shrink:0;box-shadow:0 4px 12px rgba(76,117,231,.25)}.send-button:hover:not(:disabled){transform:scale(1.08) rotate(5deg);box-shadow:0 6px 20px rgba(76,117,231,.4)}.send-button:disabled{opacity:.5;cursor:not-allowed}@media (max-width:768px){.chat-panel{width:100%;right:-100%}.chat-panel.open{right:0}.chat-panel-header,.chat-panel-messages{padding:16px}.chat-panel-input{padding:12px 16px}}html{box-sizing:border-box;scroll-behavior:smooth}body,html{height:100%}body{margin:0;padding:0!important;font-family:var(
    --font-plus-jakarta,"Plus Jakarta Sans","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif
  );background:#F8F9FA;color:#1E293B;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{-webkit-tap-highlight-color:transparent;scrollbar-width:thin;scrollbar-color:transparent transparent}:hover{scrollbar-color:rgba(148,163,184,.45) transparent}:active{scrollbar-color:rgba(148,163,184,.6) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:transparent;border-radius:100px;border:2px solid transparent;background-clip:content-box}:hover::-webkit-scrollbar-thumb{background:rgba(148,163,184,.45);border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:rgba(148,163,184,.7);border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:active{background:rgba(100,116,139,.8);border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-corner{background:transparent}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}:focus-visible{outline:2px solid #0056D2;outline-offset:2px}.MuiButtonBase-root:focus-visible,.MuiIconButton-root:focus-visible,.MuiInputBase-root :focus-visible,.MuiOutlinedInput-root :focus-visible,.MuiSelect-select:focus-visible{outline:none}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root{--primary-50:#EFF6FF;--primary-100:#DBEAFE;--primary-200:#BFDBFE;--primary-300:#93C5FD;--primary-400:#60A5FA;--primary-500:#3B82F6;--primary-600:#0056D2;--primary-700:#003D94;--primary-800:#1E3A5F;--primary-900:#1E293B;--primary:var(--primary-600);--gray-50:#F8FAFC;--gray-100:#F1F5F9;--gray-200:#E2E8F0;--gray-300:#CBD5E1;--gray-400:#94A3B8;--gray-500:#64748B;--gray-600:#475569;--gray-700:#334155;--gray-800:#1E293B;--gray-900:#0F172A;--red-50:#FEF2F2;--red-100:#FEE2E2;--red-500:#EF4444;--red-600:#DC2626;--red-700:#B91C1C;--green-50:#ECFDF5;--green-100:#D1FAE5;--green-500:#10B981;--green-600:#059669;--green-700:#047857;--amber-50:#FFFBEB;--amber-100:#FEF3C7;--amber-500:#F59E0B;--amber-600:#D97706;--amber-700:#B45309;--color-background:#F8F9FA;--color-surface:#FFFFFF;--color-surface-variant:var(--gray-50);--color-on-background:var(--gray-800);--color-on-surface:var(--gray-800);--color-on-surface-variant:var(--gray-600);--color-primary:var(--primary-600);--color-on-primary:white;--color-primary-container:var(--primary-100);--color-on-primary-container:var(--primary-900);--color-secondary:var(--gray-600);--color-on-secondary:white;--color-error:var(--red-500);--color-on-error:white;--color-error-container:var(--red-50);--color-success:var(--green-500);--color-on-success:white;--color-success-container:var(--green-50);--color-warning:var(--amber-500);--color-on-warning:white;--color-warning-container:var(--amber-50);--color-outline:var(--gray-200);--color-outline-variant:var(--gray-300);--shadow-xs:0 1px 2px rgba(0,0,0,0.05);--shadow-sm:0 1px 3px rgba(0,0,0,0.04),0 1px 2px rgba(0,0,0,0.06);--shadow-md:0 4px 6px -1px rgba(0,0,0,0.05),0 2px 4px -2px rgba(0,0,0,0.05);--shadow-lg:0 10px 15px -3px rgba(0,0,0,0.06),0 4px 6px -4px rgba(0,0,0,0.05);--shadow-xl:0 20px 25px -5px rgba(0,0,0,0.08),0 8px 10px -6px rgba(0,0,0,0.05);--font-primary:"Plus Jakarta Sans","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-mono:"JetBrains Mono","Fira Code",Consolas,monospace;--font-light:300;--font-regular:400;--font-medium:500;--font-semibold:600;--font-bold:700;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:2.5rem;--space-8:3rem;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-pill:20px;--duration-instant:100ms;--duration-fast:150ms;--duration-normal:200ms;--duration-moderate:300ms;--duration-slow:500ms;--ease-out:cubic-bezier(0,0,0.2,1);--ease-in:cubic-bezier(0.4,0,1,1);--ease-standard:cubic-bezier(0.4,0,0.2,1)}