.chat-message{display:flex;padding:24px 0;animation:slideIn .3s ease-out;width:100%}.chat-message--user{background:transparent}.chat-message--assistant{background:var(--color-grey-500, #f7f7f8)}.chat-message__avatar{flex-shrink:0;width:32px;height:32px;border-radius:4px;display:flex;align-items:center;justify-content:center;margin-right:16px;margin-left:24px;font-size:18px}.chat-message--user .chat-message__avatar{background:#19c37d;color:#fff}.chat-message--assistant .chat-message__avatar{background:#ab68ff;color:#fff}.chat-message__content{flex:1;min-width:0;max-width:800px;padding-right:24px}.chat-message__header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.chat-message__role{font-weight:600;font-size:14px;color:var(--color-text-900, #202123)}.chat-message__time{font-size:12px;color:var(--color-text-700, #8e8ea0)}.chat-message__text{color:var(--color-text-800, #374151);font-size:15px;line-height:1.7;word-wrap:break-word}.chat-message__text .markdown-content{font-size:inherit}.chat-message__text .markdown-content *{font-size:15px!important}.chat-message__text .markdown-content .markdown-h1{font-size:20px!important;text-align:left;margin:20px 0 12px}.chat-message__text .markdown-content .markdown-h2{font-size:18px!important;text-align:left;margin:18px 0 10px}.chat-message__text .markdown-content .markdown-h3{font-size:16px!important;margin:14px 0 8px}.chat-message__text .markdown-content .markdown-p{text-align:left;margin:0 0 12px}.chat-message__text p{margin:0 0 16px;white-space:pre-wrap}.chat-message__text p:last-child{margin-bottom:0}.chat-message__text code{background:#0000000d;padding:2px 6px;border-radius:4px;font-size:.9em;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace}.chat-message__text pre{background:#000;color:#fff;padding:16px;border-radius:8px;overflow-x:auto;margin:16px 0;font-size:14px}.chat-message__text pre code{background:none;padding:0;color:inherit}.chat-message__text strong{font-weight:700;color:var(--color-text-900, #202123)}.chat-message__text h1,.chat-message__text h2,.chat-message__text h3,.chat-message__text h4{margin:24px 0 12px;color:var(--color-text-900, #202123);font-weight:600}.chat-message__text h1{font-size:24px}.chat-message__text h2{font-size:20px}.chat-message__text h3{font-size:18px}.chat-message__text h4{font-size:16px}.chat-message__text ul,.chat-message__text ol{margin:12px 0;padding-left:24px}.chat-message__text ul li,.chat-message__text ol li{margin:8px 0}.chat-message__text blockquote{border-left:3px solid var(--color-grey-800, #e5e5e5);padding-left:16px;margin:16px 0;color:var(--color-text-700, #6e6e80);font-style:italic}.chat-message__cursor{display:inline-block;width:3px;height:18px;background:linear-gradient(180deg,#6366f1,#8b5cf6);margin-left:2px;animation:cursorBlink 1s ease-in-out infinite;vertical-align:text-bottom;border-radius:1px;box-shadow:0 0 8px #6366f166}.chat-message__streaming-indicator{display:inline-flex;align-items:center;gap:6px;margin-left:8px;padding:4px 10px;background:linear-gradient(135deg,#6366f11a,#8b5cf61a);border-radius:12px;font-size:11px;color:#6366f1;font-weight:500;vertical-align:middle}.chat-message__streaming-indicator:before{content:"";width:6px;height:6px;background:#6366f1;border-radius:50%;animation:streamPulse 1.5s ease-in-out infinite}.chat-message__actions{margin-top:16px;display:flex;gap:8px}.chat-message__action-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:6px;border:1px solid var(--color-grey-800, #e5e5e5);background:var(--color-neutral-white, #ffffff);color:var(--color-text-800, #374151);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.chat-message__action-btn:hover{background:var(--color-grey-600, #f3f4f6);border-color:var(--color-grey-700, #d1d5db);transform:translateY(-1px)}.chat-message__action-btn svg{color:var(--color-information-600, #2563eb)}@keyframes slideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes cursorBlink{0%,to{opacity:1;transform:scaleY(1)}50%{opacity:.3;transform:scaleY(.8)}}@keyframes streamPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}@media (max-width: 768px){.chat-message{padding:20px 0}.chat-message__avatar{width:28px;height:28px;margin-left:16px;margin-right:12px;font-size:16px}.chat-message__content{padding-right:16px}.chat-message__text{font-size:14px}}html[data-theme=dark] .chat-message--user,html[data-theme=dark].dark .chat-message--user,html.dark .chat-message--user{background:transparent!important}html[data-theme=dark] .chat-message--assistant,html[data-theme=dark].dark .chat-message--assistant,html.dark .chat-message--assistant{background:var(--color-grey-800, #1a1f26)!important}html[data-theme=dark] .chat-message__role,html[data-theme=dark].dark .chat-message__role,html.dark .chat-message__role{color:var(--color-text-900, #e8e9ea)!important}html[data-theme=dark] .chat-message__time,html[data-theme=dark].dark .chat-message__time,html.dark .chat-message__time{color:var(--color-text-600, #737a82)!important}html[data-theme=dark] .chat-message__text,html[data-theme=dark].dark .chat-message__text,html.dark .chat-message__text,html[data-theme=dark] .chat-message__text p,html[data-theme=dark].dark .chat-message__text p,html.dark .chat-message__text p{color:var(--color-text-900, #e8e9ea)!important}html[data-theme=dark] .chat-message__text strong,html[data-theme=dark] .chat-message__text b,html[data-theme=dark].dark .chat-message__text strong,html[data-theme=dark].dark .chat-message__text b,html.dark .chat-message__text strong,html.dark .chat-message__text b{font-weight:700;color:#fff!important}html[data-theme=dark] .chat-message__text h1,html[data-theme=dark] .chat-message__text h2,html[data-theme=dark] .chat-message__text h3,html[data-theme=dark] .chat-message__text h4,html[data-theme=dark].dark .chat-message__text h1,html[data-theme=dark].dark .chat-message__text h2,html[data-theme=dark].dark .chat-message__text h3,html[data-theme=dark].dark .chat-message__text h4,html.dark .chat-message__text h1,html.dark .chat-message__text h2,html.dark .chat-message__text h3,html.dark .chat-message__text h4{color:var(--color-neutral-white, #ffffff)!important}html[data-theme=dark] .chat-message__text code,html[data-theme=dark].dark .chat-message__text code,html.dark .chat-message__text code{background:#ffffff1a!important;color:var(--color-text-900, #e8e9ea)!important}html[data-theme=dark] .chat-message__text pre,html[data-theme=dark].dark .chat-message__text pre,html.dark .chat-message__text pre{background:var(--color-neutral-black, #000000)!important;color:var(--color-neutral-white, #ffffff)!important}html[data-theme=dark] .chat-message__text ul li,html[data-theme=dark] .chat-message__text ol li,html[data-theme=dark].dark .chat-message__text ul li,html[data-theme=dark].dark .chat-message__text ol li,html.dark .chat-message__text ul li,html.dark .chat-message__text ol li{color:var(--color-text-900, #e8e9ea)!important}html[data-theme=dark] .chat-message__text blockquote,html[data-theme=dark].dark .chat-message__text blockquote,html.dark .chat-message__text blockquote{border-left-color:var(--color-grey-600, #2f3740)!important;color:var(--color-text-700, #9a9fa4)!important}html[data-theme=dark] .chat-message__cursor,html[data-theme=dark].dark .chat-message__cursor,html.dark .chat-message__cursor{background:var(--color-text-900, #e8e9ea)!important}html[data-theme=dark] .chat-message__action-btn,html[data-theme=dark].dark .chat-message__action-btn,html.dark .chat-message__action-btn{background:var(--color-grey-700, #252b33)!important;border-color:var(--color-grey-600, #2f3740)!important;color:var(--color-text-900, #e8e9ea)!important}html[data-theme=dark] .chat-message__action-btn:hover,html[data-theme=dark].dark .chat-message__action-btn:hover,html.dark .chat-message__action-btn:hover{background:var(--color-grey-600, #2f3740)!important;border-color:var(--color-grey-500, #3a434d)!important}html[data-theme=dark] .chat-message__action-btn svg,html[data-theme=dark].dark .chat-message__action-btn svg,html.dark .chat-message__action-btn svg{color:var(--color-information-400, #60a5fa)!important}.card{background:#fff;border:1px solid #dde1e3;border-radius:12px;padding:24px;transition:all .2s ease;box-shadow:0 1px 3px #0000000d}.card-hoverable:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.card-clickable{cursor:pointer}.card-header{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #dde1e3}.card-body{flex:1}.card-footer{margin-top:16px;padding-top:16px;border-top:1px solid #dde1e3}.modal-overlay{position:fixed;inset:0;background:#0009;backdrop-filter:blur(4px);display:flex;flex-direction:row;justify-content:center;align-items:center;z-index:1000;padding:20px;animation:fadeIn .2s cubic-bezier(.4,0,.2,1);overflow-y:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--color-neutral-white);border-radius:16px;box-shadow:0 25px 50px -12px #00000040,0 10px 20px -8px #00000026;max-height:90vh;display:flex;flex-direction:column;justify-content:stretch;align-items:flex-start;animation:slideUp .3s cubic-bezier(.4,0,.2,1);position:relative;margin:auto}@keyframes slideUp{0%{transform:translateY(40px) scale(.96);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.modal-sm{width:100%;max-width:400px}.modal-md{width:100%;max-width:600px}.modal-lg{width:100%;max-width:900px}.modal-xl{width:100%;max-width:1200px}.modal-full{width:100%;max-width:100%;max-height:100%;height:100vh;margin:0;border-radius:0}.modal-header{display:flex;flex-direction:row;justify-content:center;align-items:space-between;padding:24px 28px;border-bottom:1px solid var(--color-grey-800);flex-shrink:0}.modal-title{margin:0;font-size:20px;font-weight:600;line-height:1.4;color:var(--color-text-900)}.modal-subtitle{margin:4px 0 0;font-size:14px;font-weight:400;color:var(--color-text-600)}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:var(--color-text-600);padding:8px;display:flex;flex-direction:row;justify-content:center;align-items:center;border-radius:8px;transition:all .2s ease;flex-shrink:0;margin-left:16px}.modal-close:hover{background:var(--color-grey-600);color:var(--color-text-900);transform:scale(1.05)}.modal-close:active{transform:scale(.95)}.modal-body{padding:28px;overflow-y:auto;flex:1;min-height:0}.modal-body.modal-body-compact{padding:20px 28px}.modal-body.modal-body-no-padding{padding:0}.modal-body::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-track{background:var(--color-grey-600);border-radius:4px}.modal-body::-webkit-scrollbar-thumb{background:var(--color-grey-800);border-radius:4px}.modal-body::-webkit-scrollbar-thumb:hover{background:var(--color-grey-900)}.modal-footer{padding:20px 28px;border-top:1px solid var(--color-grey-800);display:flex;flex-direction:row;justify-content:center;align-items:flex-end;gap:12px;flex-shrink:0;background:var(--color-grey-500)}.modal-footer.modal-footer-start{justify-content:flex-start}.modal-footer.modal-footer-center{justify-content:center}.modal-footer.modal-footer-between{justify-content:space-between}.modal-destructive .modal-header{background:#fff3f3;border-bottom-color:#ff9292}.modal-destructive .modal-title{color:#330a0a}.modal-destructive .modal-close:hover{background:#ffc2c2;color:#330a0a}.modal-success .modal-header{background:#f3fbf4;border-bottom-color:#97dc99}.modal-success .modal-title{color:#0c260d}.modal-success .modal-close:hover{background:#c5ebc6;color:#0c260d}@media (max-width: 768px){.modal-overlay{padding:0}.modal-content{border-radius:0;max-height:100vh;min-height:100vh;width:100%}.modal-sm,.modal-md,.modal-lg,.modal-xl{max-width:100%}.modal-header{padding:16px 20px}.modal-title{font-size:18px}.modal-body{padding:20px}.modal-footer{padding:16px 20px;flex-wrap:wrap}.modal-footer button{flex:1;min-width:120px}}@media (max-width: 480px){.modal-header{padding:14px 16px}.modal-title{font-size:16px}.modal-subtitle{font-size:13px}.modal-body{padding:16px}.modal-footer{padding:14px 16px}.modal-footer button{width:100%;min-width:100%}}.modal-loading{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:48px;gap:16px}.modal-loading .spinner{width:48px;height:48px;border:3px solid var(--color-grey-700);border-top:3px solid var(--color-information-500);border-radius:50%;animation:spin .8s cubic-bezier(.65,0,.35,1) infinite}.modal-loading p{color:var(--color-text-700);font-size:14px;margin:0}.toast-container{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:12px;pointer-events:none;max-width:400px}.toast{display:flex;flex-direction:row;justify-content:center;align-items:flex-start;gap:12px;padding:16px;border-radius:8px;box-shadow:0 2px 8px #0000001a;min-width:320px;max-width:400px;pointer-events:all;animation:slideInRight .3s ease-out;cursor:default;background:#fff;border:1px solid #dde1e3;position:relative;overflow:hidden;transition:transform .2s ease,opacity .2s ease,box-shadow .2s ease}.toast:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.toast:before{content:"";position:absolute;bottom:0;left:0;height:3px;width:100%;animation:progress 4s linear}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes progress{0%{width:100%}to{width:0%}}.toast-icon{font-size:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;border-radius:8px;position:relative}.toast-icon i{font-weight:600}.toast-content{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.toast-title{font-size:14px;font-weight:600;line-height:20px;color:#0d0e0f;letter-spacing:.3px}.toast-message{font-size:14px;line-height:20px;color:#6a6f73;font-weight:400}.toast-close{background:none;border:none;font-size:18px;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease;flex-shrink:0;color:#9c9fa1;margin-left:4px}.toast-close:hover{background:#e4e7e9;color:#0d0e0f}.toast-close:active{transform:scale(.95)}.toast-success{background:#f9fdfa;border-color:#3abc3f}.toast-success:before{background:#3abc3f}.toast-success .toast-icon{background:#f3fbf4;color:#2e9632}.toast-success .toast-title{color:#0c260d}.toast-success .toast-message{color:#237126}.toast-error{background:#fff9f9;border-color:#ff3131}.toast-error:before{background:#ff3131}.toast-error .toast-icon{background:#fff3f3;color:#cc2727}.toast-error .toast-title{color:#330a0a}.toast-error .toast-message{color:#991d1d}.toast-warning{background:#fffcf9;border-color:#ffa931}.toast-warning:before{background:#ffa931}.toast-warning .toast-icon{background:#fffaf3;color:#cc8727}.toast-warning .toast-title{color:#33220a}.toast-warning .toast-message{color:#99651d}.toast-info{background:#f7faff;border-color:#0066f5}.toast-info:before{background:#0066f5}.toast-info .toast-icon{background:#f0f6fe;color:#0052c4}.toast-info .toast-title{color:#001431}.toast-info .toast-message{color:#003d93}@media (max-width: 640px){.toast-container{top:12px;right:12px;left:12px;max-width:none}.toast{min-width:auto;max-width:none}}:root{--color-text-900: #0d0e0f;--color-text-800: #3c3e40;--color-text-700: #6a6f73;--color-text-600: #9c9fa1;--color-text-500: #cecfd0;--color-grey-900: #dde1e3;--color-grey-800: #e4e7e9;--color-grey-700: #ebedee;--color-grey-600: #f1f3f4;--color-grey-500: #f8f9f9;--color-information-900: #001431;--color-information-800: #002962;--color-information-700: #003d93;--color-information-600: #0052c4;--color-information-500: #0066f5;--color-information-400: #3c8af7;--color-information-300: #78aefa;--color-information-200: #b4d2fc;--color-information-100: #f0f6fe;--color-success-900: #0c260d;--color-success-800: #174b19;--color-success-700: #237126;--color-success-600: #2e9632;--color-success-500: #3abc3f;--color-success-400: #68cc6c;--color-success-300: #97dc99;--color-success-200: #c5ebc6;--color-success-100: #f3fbf4;--color-danger-900: #330a0a;--color-danger-800: #661414;--color-danger-700: #991d1d;--color-danger-600: #cc2727;--color-danger-500: #ff3131;--color-danger-400: #ff6161;--color-danger-300: #ff9292;--color-danger-200: #ffc2c2;--color-danger-100: #fff3f3;--color-warning-900: #33220a;--color-warning-800: #664414;--color-warning-700: #99651d;--color-warning-600: #cc8727;--color-warning-500: #ffa931;--color-warning-400: #ffbd61;--color-warning-300: #ffd192;--color-warning-200: #ffe6c2;--color-warning-100: #fffaf3;--color-primary-900: #1e3a8a;--color-primary-800: #1e40af;--color-primary-700: #1d4ed8;--color-primary-600: #2563eb;--color-primary-500: #3b82f6;--color-primary-400: #60a5fa;--color-primary-300: #93c5fd;--color-primary-200: #bfdbfe;--color-primary-100: #dbeafe;--color-neutral-white: #ffffff;--color-neutral-black: #000000;--color-information-50: #f7faff;--color-success-50: #f9fdfa;--color-danger-50: #fff9f9;--color-warning-50: #fffcf9;--color-primary-50: #eff6ff;--chat-bg: #ffffff;--chat-sidebar-bg: #202123;--chat-message-user-bg: transparent;--chat-message-assistant-bg: #f7f7f8;--chat-avatar-user: #10a37f;--chat-avatar-assistant: #8b5cf6;--chat-input-bg: #ffffff;--chat-input-border: #d1d5db;--chat-input-focus: #9ca3af;--chat-send-btn: #10a37f;--chat-send-btn-hover: #0d8f6f}html[data-theme=dark],:root[data-theme=dark]{--chat-bg: #0f1419 !important;--chat-sidebar-bg: #202123 !important;--chat-message-user-bg: transparent !important;--chat-message-assistant-bg: #1a1f26 !important;--chat-avatar-user: #10a37f !important;--chat-avatar-assistant: #8b5cf6 !important;--chat-input-bg: #252b33 !important;--chat-input-border: #2f3740 !important;--chat-input-focus: #0066f5 !important;--chat-send-btn: #10a37f !important;--chat-send-btn-hover: #0d8f6f !important}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px}.loading-container.loading-fullpage{min-height:100vh;position:fixed;inset:0;background:#ffffffe6;z-index:9999}.loading-spinner{display:flex;align-items:center;justify-content:center;color:#1d4ed8}.loading-spinner i{animation:spin 1s linear infinite}.loading-spinner.loading-sm i{font-size:24px}.loading-spinner.loading-md i{font-size:48px}.loading-spinner.loading-lg i{font-size:72px}.loading-text{margin-top:16px;color:#9c9fa1;font-size:14px;text-align:center}.skeleton{background:linear-gradient(90deg,#f1f3f4,#ebedee,#f1f3f4);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:6px;margin-bottom:12px}.skeleton.skeleton-circle{border-radius:50%}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.chat-input{background:transparent;padding:0;max-width:800px;margin:0 auto;width:100%}.chat-input__file-preview{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--color-grey-600, #f0f0f0);border-radius:10px;margin-bottom:12px;font-size:13px;color:var(--color-text-800, #374151)}.chat-input__file-preview span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-input__remove-file{background:none;border:none;cursor:pointer;padding:4px;color:var(--color-text-700, #6e6e80);display:flex;align-items:center;transition:color .15s}.chat-input__remove-file:hover{color:var(--color-danger-500, #ef4444)}.chat-input__container{display:flex;gap:10px;align-items:flex-end;background:var(--color-neutral-white, #ffffff);border:1px solid var(--color-grey-900, #d1d5db);border-radius:12px;padding:12px 14px;box-shadow:0 0 #0000;transition:all .15s ease}.chat-input__container:focus-within{border-color:var(--color-grey-900, #9ca3af);box-shadow:0 0 0 3px #00000005}.chat-input__file-input{display:none}.chat-input__attach-btn{flex-shrink:0;width:36px;height:36px;border-radius:8px;border:none;background:transparent;color:var(--color-text-700, #6e6e80);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s}.chat-input__attach-btn:hover:not(:disabled){background:var(--color-grey-600, #f3f4f6);color:var(--color-text-800, #374151)}.chat-input__attach-btn:disabled{opacity:.4;cursor:not-allowed}.chat-input__textarea{flex:1;min-height:24px;max-height:200px;padding:6px 0;border:none;background:transparent;color:var(--color-text-800, #374151);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.5;resize:none;overflow-y:auto}.chat-input__textarea:focus{outline:none}.chat-input__textarea:disabled{opacity:.5;cursor:not-allowed}.chat-input__textarea::placeholder{color:var(--color-text-600, #9ca3af)}.chat-input__textarea::-webkit-scrollbar{width:8px}.chat-input__textarea::-webkit-scrollbar-track{background:transparent}.chat-input__textarea::-webkit-scrollbar-thumb{background:var(--color-grey-900, #d1d5db);border-radius:4px}.chat-input__send-btn{flex-shrink:0;margin:0!important}.chat-input__send-btn svg{width:18px;height:18px}@media (max-width: 768px){.chat-input__container{padding:10px 12px}.chat-input__textarea{font-size:16px}}html[data-theme=dark] .chat-input__file-preview,html.dark .chat-input__file-preview{background:var(--color-grey-600, #2f3740)!important;color:var(--color-text-900, #e8e9ea)!important}html[data-theme=dark] .chat-input__remove-file,html.dark .chat-input__remove-file{color:var(--color-text-700, #9a9fa4)!important}html[data-theme=dark] .chat-input__remove-file:hover,html.dark .chat-input__remove-file:hover{color:var(--color-danger-500, #ef4444)!important}html[data-theme=dark] .chat-input__container,html.dark .chat-input__container{background:var(--color-grey-700, #252b33)!important;border-color:var(--color-grey-600, #2f3740)!important}html[data-theme=dark] .chat-input__container:focus-within,html.dark .chat-input__container:focus-within{border-color:var(--color-primary-500, #0066f5)!important;box-shadow:0 0 0 3px #0066f51a!important}html[data-theme=dark] .chat-input__attach-btn,html.dark .chat-input__attach-btn{color:var(--color-text-700, #9a9fa4)!important}html[data-theme=dark] .chat-input__attach-btn:hover:not(:disabled),html.dark .chat-input__attach-btn:hover:not(:disabled){background:var(--color-grey-600, #2f3740)!important;color:var(--color-text-900, #e8e9ea)!important}html[data-theme=dark] .chat-input__textarea,html.dark .chat-input__textarea{color:var(--color-text-900, #e8e9ea)!important;background:transparent!important}html[data-theme=dark] .chat-input__textarea::placeholder,html.dark .chat-input__textarea::placeholder{color:var(--color-text-600, #737a82)!important}html[data-theme=dark] .chat-input__textarea::-webkit-scrollbar-thumb,html.dark .chat-input__textarea::-webkit-scrollbar-thumb{background:var(--color-grey-600, #2f3740)!important}.thinking-indicator{display:flex;flex-direction:column;gap:12px;padding:16px 20px;background:linear-gradient(135deg,#6366f10a,#3b82f60a);border:1px solid rgba(99,102,241,.12);border-radius:16px;margin:16px 24px;animation:fadeInSlide .4s ease-out;box-shadow:0 2px 8px #6366f10f}.thinking-indicator__progress-bar{width:100%;height:3px;background:#6366f11a;border-radius:3px;overflow:hidden}.thinking-indicator__progress-fill{height:100%;border-radius:3px;transition:width .5s ease-out,background-color .3s ease;animation:progressPulse 2s ease-in-out infinite}.thinking-indicator__content{display:flex;align-items:center;gap:14px}.thinking-indicator__icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;transition:all .3s ease}.thinking-indicator__icon svg{animation:iconFloat 2s ease-in-out infinite}.thinking-indicator__text{flex:1;display:flex;flex-direction:column;gap:2px}.thinking-indicator__label{font-size:14px;font-weight:600;color:#1f2937;letter-spacing:-.01em}.thinking-indicator__description{font-size:12px;color:#6b7280;font-weight:400}.thinking-indicator__dots{display:flex;gap:5px;padding:8px}.thinking-indicator__dots span{width:6px;height:6px;border-radius:50%;opacity:.7;animation:dotBounce 1.4s infinite ease-in-out}.thinking-indicator__dots span:nth-child(1){animation-delay:-.32s}.thinking-indicator__dots span:nth-child(2){animation-delay:-.16s}.thinking-indicator__dots span:nth-child(3){animation-delay:0s}@keyframes fadeInSlide{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes progressPulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes iconFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes dotBounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}@media (max-width: 768px){.thinking-indicator{padding:12px 16px;margin:12px 16px}.thinking-indicator__icon{width:36px;height:36px}.thinking-indicator__label{font-size:13px}.thinking-indicator__description{font-size:11px}}html[data-theme=dark] .thinking-indicator,html.dark .thinking-indicator{background:linear-gradient(135deg,#6366f114,#3b82f614)!important;border-color:#6366f133!important;box-shadow:0 2px 8px #0003!important}html[data-theme=dark] .thinking-indicator__progress-bar,html.dark .thinking-indicator__progress-bar{background:#6366f126!important}html[data-theme=dark] .thinking-indicator__label,html.dark .thinking-indicator__label{color:#e8e9ea!important}html[data-theme=dark] .thinking-indicator__description,html.dark .thinking-indicator__description{color:#9a9fa4!important}:root{--color-text-900: #0d0e0f;--color-text-800: #3c3e40;--color-text-700: #6a6f73;--color-text-600: #9c9fa1;--color-text-500: #cecfd0;--color-grey-900: #dde1e3;--color-grey-800: #e4e7e9;--color-grey-700: #ebedee;--color-grey-600: #f1f3f4;--color-grey-500: #f8f9f9;--color-information-900: #1e3a8a;--color-information-800: #1e40af;--color-information-700: #1d4ed8;--color-information-600: #2563eb;--color-information-500: #3b82f6;--color-information-400: #60a5fa;--color-information-300: #93c5fd;--color-information-200: #bfdbfe;--color-information-100: #dbeafe;--color-information-50: #eff6ff;--color-success-900: #0c260d;--color-success-800: #174b19;--color-success-700: #237126;--color-success-600: #2e9632;--color-success-500: #3abc3f;--color-success-400: #68cc6c;--color-success-300: #97dc99;--color-success-200: #c5ebc6;--color-success-100: #f3fbf4;--color-success-50: #f9fdfa;--color-danger-900: #330a0a;--color-danger-800: #661414;--color-danger-700: #991d1d;--color-danger-600: #cc2727;--color-danger-500: #ff3131;--color-danger-400: #ff6161;--color-danger-300: #ff9292;--color-danger-200: #ffc2c2;--color-danger-100: #fff3f3;--color-danger-50: #fff9f9;--color-warning-900: #33220a;--color-warning-800: #664414;--color-warning-700: #99651d;--color-warning-600: #cc8727;--color-warning-500: #ffa931;--color-warning-400: #ffbd61;--color-warning-300: #ffd192;--color-warning-200: #ffe6c2;--color-warning-100: #fffaf3;--color-warning-50: #fffcf9;--color-primary-900: #1e3a8a;--color-primary-800: #1e40af;--color-primary-700: #1d4ed8;--color-primary-600: #2563eb;--color-primary-500: #3b82f6;--color-primary-400: #60a5fa;--color-primary-300: #93c5fd;--color-primary-200: #bfdbfe;--color-primary-100: #dbeafe;--color-primary-50: #dbeafe;--color-white: #ffffff;--color-black: #000000;--color-neutral-white: #ffffff;--color-neutral-black: #000000}.doc-generation-progress{background:var(--color-grey-500, #f9fafb);border:1px solid var(--color-grey-700, #e5e7eb);border-radius:12px;padding:16px;margin:16px 0}.doc-generation-progress .progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.doc-generation-progress .progress-header h4{margin:0;font-size:14px;font-weight:600;color:var(--color-text-900, #111827)}.doc-generation-progress .progress-header .quality-badge{display:flex;align-items:center;gap:4px;padding:4px 10px;border-radius:16px;font-size:12px;font-weight:600}.doc-generation-progress .progress-header .quality-badge.complete{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.doc-generation-progress .progress-header .quality-badge.good{background:#d1fae5;color:#059669}.doc-generation-progress .progress-header .quality-badge.needs-work{background:#fef3c7;color:#d97706}.doc-generation-progress .progress-phases{display:flex;flex-direction:column;gap:0}.doc-generation-progress .phase-item{display:flex;align-items:flex-start;gap:12px;padding:8px 0;transition:opacity .2s}.doc-generation-progress .phase-item.pending{opacity:.5}.doc-generation-progress .phase-item.active{opacity:1}.doc-generation-progress .phase-item.active .phase-label{color:var(--color-primary-600, #7c3aed);font-weight:600}.doc-generation-progress .phase-item.active .phase-icon{background:var(--color-primary-100, #ede9fe);color:var(--color-primary-600, #7c3aed)}.doc-generation-progress .phase-item.complete{opacity:1}.doc-generation-progress .phase-item.complete .phase-icon{background:#d1fae5;color:#059669}.doc-generation-progress .phase-item.complete .phase-connector{background:#059669}.doc-generation-progress .phase-item.error .phase-icon{background:#fee2e2;color:#dc2626}.doc-generation-progress .phase-indicator{display:flex;flex-direction:column;align-items:center;position:relative}.doc-generation-progress .phase-icon{width:32px;height:32px;border-radius:8px;background:var(--color-grey-600, #f3f4f6);display:flex;align-items:center;justify-content:center;color:var(--color-text-600, #6b7280);transition:all .2s}.doc-generation-progress .phase-connector{width:2px;height:24px;background:var(--color-grey-700, #e5e7eb);margin-top:4px;transition:background .2s}.doc-generation-progress .phase-content{flex:1;min-width:0;padding-top:4px}.doc-generation-progress .phase-label{font-size:13px;font-weight:500;color:var(--color-text-800, #374151);margin-bottom:2px}.doc-generation-progress .phase-description{font-size:12px;color:var(--color-text-600, #6b7280);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-generation-progress .phase-status{padding-top:8px}.doc-generation-progress .phase-status .status-icon.complete{color:#059669}.doc-generation-progress .phase-status .status-icon.active{color:var(--color-primary-600, #7c3aed)}.doc-generation-progress .phase-status .status-icon.pending{color:var(--color-grey-800, #d1d5db)}.doc-generation-progress .phase-status .status-icon.error{color:#dc2626}.doc-generation-progress .phase-status .status-icon.spinning{animation:spin 1s linear infinite}.doc-generation-progress .progress-summary{display:flex;align-items:center;gap:8px;margin-top:16px;padding:12px;background:#d1fae5;border-radius:8px;color:#059669;font-size:13px;font-weight:500}.doc-generation-progress .progress-summary .summary-icon{flex-shrink:0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}html[data-theme=dark] .doc-generation-progress,html.dark .doc-generation-progress{background:var(--color-grey-800, #1f2937);border-color:var(--color-grey-700, #374151)}html[data-theme=dark] .doc-generation-progress .progress-header h4,html.dark .doc-generation-progress .progress-header h4{color:var(--color-text-100, #f9fafb)}html[data-theme=dark] .doc-generation-progress .phase-icon,html.dark .doc-generation-progress .phase-icon{background:var(--color-grey-700, #374151);color:var(--color-text-400, #9ca3af)}html[data-theme=dark] .doc-generation-progress .phase-item.active .phase-icon,html.dark .doc-generation-progress .phase-item.active .phase-icon{background:var(--color-primary-900, #4c1d95);color:var(--color-primary-300, #c4b5fd)}html[data-theme=dark] .doc-generation-progress .phase-item.complete .phase-icon,html.dark .doc-generation-progress .phase-item.complete .phase-icon{background:#064e3b;color:#34d399}html[data-theme=dark] .doc-generation-progress .phase-label,html.dark .doc-generation-progress .phase-label{color:var(--color-text-200, #e5e7eb)}html[data-theme=dark] .doc-generation-progress .phase-description,html.dark .doc-generation-progress .phase-description{color:var(--color-text-500, #6b7280)}html[data-theme=dark] .doc-generation-progress .phase-connector,html.dark .doc-generation-progress .phase-connector{background:var(--color-grey-600, #4b5563)}html[data-theme=dark] .doc-generation-progress .phase-item.complete .phase-connector,html.dark .doc-generation-progress .phase-item.complete .phase-connector{background:#059669}html[data-theme=dark] .doc-generation-progress .progress-summary,html.dark .doc-generation-progress .progress-summary,html[data-theme=dark] .doc-generation-progress .quality-badge.good,html.dark .doc-generation-progress .quality-badge.good{background:#064e3b;color:#34d399}html[data-theme=dark] .doc-generation-progress .quality-badge.needs-work,html.dark .doc-generation-progress .quality-badge.needs-work{background:#78350f;color:#fbbf24}
