.message.loading{opacity:.8;min-height:40px;max-height:125px;padding:8px 12px;max-width:80px;margin-left:auto;margin-right:auto}.typing-indicator{display:inline-flex;align-items:center;padding:4px 8px;border-radius:12px;background-color:transparent;width:auto;height:auto}.typing-indicator span.dot{height:6px;width:6px;margin:0 2px;background-color:var(--text-color);border-radius:50%;display:inline-block;animation:typing 1.4s ease-in-out infinite both}.typing-indicator span.dot:first-child{animation-delay:0s}.typing-indicator span.dot:nth-child(2){animation-delay:.2s}.typing-indicator span.dot:nth-child(3){animation-delay:.4s}[data-theme=dark] .typing-indicator span.dot{background-color:var(--text-color-dark,#a0b7d0)}.session-expired-banner{background-color:var(--error-bg-color,#ffebee);color:var(--error-text-color,#d32f2f);padding:12px 16px;margin:10px;border-radius:8px;border:1px solid var(--error-border-color,#ef9a9a);display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.session-expired-banner p{margin:0;font-weight:500}.sign-in-button{background-color:var(--primary-color,#1976d2);color:#fff;border:none;border-radius:4px;padding:8px 16px;font-weight:500;cursor:pointer;transition:background-color .2s}.sign-in-button:hover{background-color:var(--primary-dark-color,#1565c0)}[data-theme=dark] .session-expired-banner{background-color:var(--error-bg-color-dark,#311b1b);color:var(--error-text-color-dark,#f48fb1);border-color:var(--error-border-color-dark,#b71c1c)}[data-theme=dark] .sign-in-button{background-color:var(--primary-color-dark,#90caf9);color:var(--text-color-dark,#121212)}[data-theme=dark] .sign-in-button:hover{background-color:var(--primary-light-color-dark,#bbdefb)}.app-container{display:flex;flex-direction:column;height:100vh;width:100%;overflow:hidden;padding:0;margin:0}.chat-container{flex:1 1;display:flex;flex-direction:column;overflow-y:auto;position:relative;padding-bottom:80px;scroll-behavior:smooth;background-color:var(--chat-bg);border-radius:12px;margin-bottom:80px}.messages-wrapper{flex:1 1;padding:20px;scroll-behavior:smooth;margin-bottom:60px}.chat-input-container{position:fixed;bottom:0;left:0;right:0;background-color:var(--bg-color);padding:16px;border-top:1px solid var(--border-color);z-index:50;display:flex;justify-content:center;align-items:center;box-shadow:0 -2px 10px rgba(0,0,0,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.input-wrapper{display:flex;align-items:center;background-color:var(--input-bg);border-radius:8px;padding:8px 12px;width:100%;max-width:900px;position:relative;border:1px solid var(--border-color);box-shadow:0 2px 8px rgba(0,0,0,.1);transition:all .2s ease}.input-wrapper:focus-within{border-color:var(--primary-color);box-shadow:0 4px 12px rgba(0,0,0,.15)}.input-wrapper.processing{border-color:var(--processing-color);box-shadow:0 0 0 1px var(--processing-color,#08c)}[data-theme=dark] .input-wrapper.processing{border-color:var(--processing-color-dark);box-shadow:0 0 0 1px var(--processing-color-dark,#4db8ff)}.chat-textarea{flex:1 1;min-height:24px;max-height:80px;padding:8px;border:none;background:transparent;color:var(--text-color);font-family:inherit;font-size:1rem;line-height:1.5;resize:none;outline:none;overflow-y:auto;width:100%}.chat-textarea::placeholder{color:var(--placeholder-color);opacity:.7}.chat-textarea:disabled::placeholder{color:var(--processing-color);opacity:.9;font-style:italic;animation:pulse 1.5s ease-in-out infinite}.send-button{display:flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:8px;border:none;background-color:var(--primary-color);color:#fff;border-radius:8px;cursor:pointer;transition:all .2s ease;margin-left:8px}.send-button svg{width:20px;height:20px}.send-button:hover:not(:disabled){background-color:var(--primary-hover);transform:translateY(-1px)}.send-button:disabled{opacity:.6;cursor:not-allowed}.scroll-anchor{height:1px;margin-top:20px;opacity:0;pointer-events:none}[data-theme=dark] .chat-input-container{background-color:var(--bg-dark);border-top-color:var(--border-color-dark)}[data-theme=dark] .input-wrapper{background-color:var(--input-bg-dark)}[data-theme=dark] .chat-textarea{color:var(--text-color-dark)}[data-theme=dark] .chat-textarea::placeholder{color:var(--placeholder-color-dark);opacity:.7}[data-theme=dark] .chat-textarea:disabled::placeholder{color:var(--processing-color-dark);opacity:.9;animation:pulse 1.5s ease-in-out infinite}.quick-start-container{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:20px;gap:20px;max-width:800px;margin:25px auto 0;padding:20px;position:absolute;z-index:5}.intro-content{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;height:100%;width:100%}.quick-start-container.hidden{display:none}.quick-start-tile{background-color:var(--card-bg);border-radius:8px;padding:15px;cursor:pointer;transition:all .2s ease;border:1px solid var(--border-color);box-shadow:0 2px 8px rgba(0,0,0,.05);max-height:120px;display:flex;flex-direction:column;justify-content:space-between}.quick-start-tile:hover{transform:translateY(-3px);box-shadow:0 4px 12px rgba(0,0,0,.1);background-color:var(--card-hover-bg)}.quick-start-tile h3{margin-top:0;margin-bottom:10px;font-size:16px;display:flex;justify-content:space-between;align-items:center;letter-spacing:.02em;font-weight:600}.quick-start-tile p{margin:0;font-size:14px;line-height:1.5;letter-spacing:.01em}.quick-start-tile .arrow{font-size:18px;transition:transform .2s ease}.quick-start-tile:hover .arrow{transform:translateX(3px)}[data-theme=dark] .quick-start-tile{background-color:var(--card-bg-dark);border-color:var(--border-color-dark)}[data-theme=dark] .quick-start-tile:hover{background-color:var(--card-hover-bg-dark)}[data-theme=dark] .quick-start-tile h3{color:var(--text-color-dark)}[data-theme=dark] .quick-start-tile p{color:var(--text-muted-dark)}@media (max-width:768px){.quick-start-container{gap:10px;padding:10px}.quick-start-tile{max-height:100px;padding:10px}.quick-start-tile h3{font-size:14px;margin-bottom:6px}.quick-start-tile p{font-size:12px;line-height:1.3}}@media (max-width:480px){.quick-start-container{grid-template-columns:1fr;gap:8px}.quick-start-tile{max-height:80px}}@media (max-height:600px){.quick-start-container{grid-template-columns:1fr;gap:8px;padding:8px}.quick-start-tile{max-height:70px}.greeting-text{font-size:1rem;margin-bottom:10px}}.send-button:disabled svg{opacity:.5}.send-button.processing svg{opacity:.8;animation:pulse 1.5s ease-in-out infinite}.greeting-text{text-align:center;margin-bottom:20px;font-size:1.5rem;color:#333;font-weight:500;animation:fadeIn .5s ease-in-out;position:relative;z-index:10;letter-spacing:.03em}.greeting-emoji{display:inline-block;animation-name:emojiSwitch;animation-duration:.5s;animation-timing-function:ease-in-out;animation-fill-mode:both;margin-right:.2em;transform-origin:center}.greeting-text-content{display:inline-block;opacity:1;transition:opacity .3s ease}@keyframes pulseEmoji{0%{transform:scale(.8);opacity:.7}50%{transform:scale(1.2);opacity:1}to{transform:scale(1);opacity:1}}@keyframes emojiSwitch{0%{transform:scale(.5) rotate(-10deg);opacity:.3}25%{transform:scale(1.3) rotate(5deg);opacity:1}50%{transform:scale(1.1) rotate(-5deg);opacity:1}75%{transform:scale(1.2) rotate(3deg);opacity:1}to{transform:scale(1) rotate(0deg);opacity:1}}[data-theme=dark] .greeting-text{color:#fff}[data-theme=light] .greeting-text{color:#333}.source-link{display:inline-block;background-color:#ff6200;padding:3px 8px;border-radius:4px;margin:0 4px 4px;font-size:.8rem;transition:all .2s ease;font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.1);cursor:pointer;vertical-align:middle;letter-spacing:.5px;text-transform:uppercase;border:none;line-height:1.2;position:relative;z-index:1;white-space:nowrap;overflow:visible;word-break:keep-all}.source-link,.source-link:hover{color:#fff!important;text-decoration:none!important}.source-link:hover{background-color:#e65800;transform:translateY(-1px);box-shadow:0 2px 5px rgba(0,0,0,.2)}[data-theme=dark] .source-link{background-color:#ff6200;color:#fff!important;box-shadow:0 1px 3px rgba(0,0,0,.3);text-decoration:none!important}.message-content{line-height:1.5;white-space:pre-wrap}.message-content,.message.bot .message-content{padding:0;margin:0}.message-content br+br{display:block;content:"";margin-top:12px}.message-content span:first-child{font-weight:500;margin-top:0}.warning-text{color:#e6b800;font-weight:600;background-color:rgba(255,215,0,.1);padding:1px 3px;border-radius:3px;display:inline-block}[data-theme=dark] .warning-text{color:#fc0;background-color:rgba(255,215,0,.15)}.processing-indicator{position:fixed;top:50vh;left:50vw;transform:translate(-50%,-50%)!important;width:90%;max-width:450px;background-color:var(--background-secondary,#1e293b);border-radius:12px;padding:20px;box-shadow:0 8px 32px rgba(0,0,0,.3);z-index:5000;border:1px solid var(--border-color,#2e3b52);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);opacity:0;margin:0;will-change:opacity,transform;transition:all .3s cubic-bezier(.4,0,.2,1)}.processing-indicator.entering{opacity:0;transform:translate(-50%,-48%) scale(.95)}.processing-indicator.entered{opacity:1;transform:translate(-50%,-50%) scale(1)}.processing-indicator.exiting{opacity:0;transform:translate(-50%,-52%) scale(.95)}.processing-header{display:flex;align-items:center;margin-bottom:20px;position:relative}.processing-header h3{font-size:1.1rem;color:var(--text-primary,#f1f5f9);font-weight:600;margin:0 0 0 12px;flex:1 1}.processing-actions{display:flex;gap:8px}.minimize-button,.sound-toggle{background:none;border:none;cursor:pointer;padding:6px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-secondary,#94a3b8);transition:background-color .2s,color .2s}.minimize-button:hover,.sound-toggle:hover{background-color:var(--background-tertiary,hsla(0,0%,100%,.1));color:var(--text-primary,#f1f5f9)}.sound-toggle.sound-on{color:var(--accent-color,#3b82f6)}.processing-spinner{width:24px;height:24px;border:3px solid hsla(0,0%,100%,.15);border-top:3px solid var(--accent-color,#3b82f6);border-radius:50%;animation:spin 1s linear infinite}.processing-spinner-small{width:18px;height:18px;border:2px solid hsla(0,0%,100%,.15);border-top:2px solid var(--accent-color,#3b82f6);border-radius:50%;animation:spin 1s linear infinite;margin-right:10px}.processing-steps{display:flex;flex-direction:column;gap:16px}.processing-step{display:flex;align-items:center;padding:12px;border-radius:8px;margin-bottom:8px;background-color:hsla(0,0%,100%,.03);transition:all .3s cubic-bezier(.4,0,.2,1);transform-origin:left center}.processing-step:hover{background-color:hsla(0,0%,100%,.05);transform:translateX(4px)}.processing-step.current{background-color:rgba(59,130,246,.1);transform:translateX(4px);animation:pulse 3s infinite}.processing-step.completed{opacity:.7;transform:translateX(0)}.step-indicator{display:flex;align-items:center;justify-content:center;width:28px;height:28px;margin-right:12px;flex-shrink:0}.step-dot{width:8px;height:8px;background-color:currentColor;border-radius:50%}.step-indicator svg{color:#10b981;width:16px;height:16px}.step-text{flex:1 1;font-size:.9rem;line-height:1.4;padding-top:4px}.step-text.pulse{animation:pulse 3s infinite}.processing-indicator-minimized{position:fixed;bottom:20px;right:20px;background-color:var(--background-secondary,#1e293b);border-radius:30px;padding:10px 16px;box-shadow:0 4px 12px rgba(0,0,0,.25);z-index:5000;border:1px solid var(--border-color,#2e3b52);display:flex;align-items:center;max-width:250px;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);opacity:0;will-change:opacity,transform;transition:all .3s cubic-bezier(.4,0,.2,1)}.processing-indicator-minimized.entering{opacity:0;transform:translateX(20px)}.processing-indicator-minimized.entered{opacity:1;transform:translateX(0)}.processing-indicator-minimized.exiting{opacity:0;transform:translateX(20px)}.minimized-step{font-size:.85rem;margin:0 10px;color:var(--accent-color,#3b82f6);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 1}body.processing-active:after{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.4);z-index:4999;pointer-events:none}@media (max-width:768px){.processing-indicator{width:90%;max-width:400px;padding:16px}.processing-header h3{font-size:1rem}.step-text{font-size:.85rem}.processing-indicator-minimized{bottom:16px;right:16px;max-width:200px}}.message{display:flex;flex-direction:column;margin:12px 0;padding:12px 16px;border-radius:8px;position:relative;max-width:85%;animation:fadeIn .3s ease-in-out;box-shadow:0 1px 2px rgba(0,0,0,.1)}.message.bot.isStreaming{min-width:300px;width:500px}.message.user{align-self:flex-end;background-color:var(--user-message-bg,#e3f2fd);color:var(--user-message-text,#0d47a1);margin-left:auto;border-bottom-right-radius:2px}.message.bot{align-self:flex-start;background-color:var(--bot-message-bg,#f5f5f5);color:var(--bot-message-text,#333);margin-right:auto;border-bottom-left-radius:2px}.message-content{margin-top:4px;overflow-wrap:break-word;word-break:break-word}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;position:relative;font-size:.85rem}.message-sender{font-weight:600;margin-right:8px;color:var(--sender-color,#555)}.message-time{font-size:.75rem;opacity:.7;color:var(--time-color,#777)}.copy-button{position:absolute;top:0;right:0;background-color:var(--copy-button-bg,rgba(0,0,0,.05));color:var(--copy-button-color,#666);border:none;border-radius:4px;padding:2px 8px;font-size:.75rem;cursor:pointer;transition:all .2s ease}.copy-button:hover{background-color:var(--copy-button-hover-bg,rgba(0,0,0,.1));color:var(--copy-button-hover-color,#333)}.copy-button.copied{background-color:var(--success-color,#4caf50);color:#fff}[data-theme=dark] .copy-button{background-color:var(--copy-button-bg-dark,hsla(0,0%,100%,.1));color:var(--copy-button-color-dark,#a0b7d0)}[data-theme=dark] .copy-button:hover{background-color:var(--copy-button-hover-bg-dark,hsla(0,0%,100%,.2));color:var(--copy-button-hover-color-dark,#f5f5f5)}[data-theme=dark] .copy-button.copied{background-color:var(--success-color-dark,#43a047);color:#fff}.message-actions{position:absolute;bottom:8px;right:8px;display:flex;gap:8px;opacity:0;transition:opacity .2s ease}.message:hover .message-actions{opacity:1}.message-action-button{background:none;border:none;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;color:var(--action-button-color,#666);transition:background-color .2s,color .2s}.message-action-button:hover{background-color:var(--action-button-hover-bg,rgba(0,0,0,.05));color:var(--action-button-hover-color,#333)}.message-action-button svg{width:16px;height:16px}.copy-success{position:absolute;bottom:-20px;right:8px;background-color:var(--success-bg,#4caf50);color:#fff;padding:2px 6px;border-radius:4px;font-size:.75rem;animation:fadeOut 2s forwards;animation-delay:1s}.message pre{background-color:var(--code-bg,#f1f1f1);padding:12px;border-radius:4px;overflow-x:auto;margin:8px 0}.message code{font-family:monospace;font-size:.9rem}[data-theme=dark] .message.user{background-color:var(--user-message-bg-dark,#1a3b5e);color:var(--user-message-text-dark,#fff)}[data-theme=dark] .message.bot{background-color:var(--bot-message-bg-dark,#172331);color:var(--bot-message-text-dark,#f5f5f5)}[data-theme=dark] .message-info{color:var(--message-info-color-dark,#a0b7d0)}[data-theme=dark] .message-action-button{color:var(--action-button-color-dark,#a0b7d0)}[data-theme=dark] .message-action-button:hover{background-color:var(--action-button-hover-bg-dark,hsla(0,0%,100%,.1));color:var(--action-button-hover-color-dark,#f5f5f5)}[data-theme=dark] .message pre{background-color:var(--code-bg-dark,#0f2137)}.message.error{background-color:var(--error-bg,#ffebee);color:var(--error-text,#c62828);border-left:3px solid var(--error-border,#f44336)}[data-theme=dark] .message.error{background-color:var(--error-bg-dark,#2d1a1a);color:var(--error-text-dark,#ef9a9a);border-left:3px solid var(--error-border-dark,#c62828)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.source-button{display:inline-block;background-color:var(--source-button-bg,#0d47a1);color:#fff!important;padding:4px 8px;margin:4px;border-radius:4px;font-size:.8rem;font-weight:500;text-decoration:none;transition:background-color .2s ease}.source-button:hover{background-color:var(--source-button-hover-bg,#1565c0);text-decoration:none}[data-theme=dark] .source-button{background-color:var(--source-button-bg-dark,#1976d2)}[data-theme=dark] .source-button:hover{background-color:var(--source-button-hover-bg-dark,#2196f3)}.streaming-indicator{display:inline-flex;align-items:center;margin-left:8px;vertical-align:middle}.streaming-indicator .dot{width:6px;height:6px;margin:0 2px;background-color:var(--dot-color,#888);border-radius:50%;display:inline-block;animation:pulse 1.4s ease-in-out infinite}.streaming-indicator .dot:first-child{animation-delay:0s}.streaming-indicator .dot:nth-child(2){animation-delay:.2s}.streaming-indicator .dot:nth-child(3){animation-delay:.4s}@keyframes pulse{0%,60%,to{transform:scale(1);opacity:.4}30%{transform:scale(1.5);opacity:1}}[data-theme=dark] .streaming-indicator .dot{background-color:var(--dot-color-dark,#aaa)}.typing-indicator{display:flex;flex-direction:column;align-items:flex-start;padding:8px 0}.typing-animation{display:flex;align-items:center;justify-content:center;margin-bottom:6px}.typing-animation span{height:8px;width:8px;margin:0 1px;background-color:var(--accent-color);border-radius:50%;opacity:.8;animation:typing 1.5s ease-in-out infinite}.typing-animation span:first-child{animation-delay:0s}.typing-animation span:nth-child(2){animation-delay:.2s}.typing-animation span:nth-child(3){animation-delay:.4s}.typing-text{font-size:.9rem;color:var(--text-secondary);font-style:italic;animation:fadeInOut 2s ease-in-out infinite}@keyframes typing{0%{transform:translateY(0)}50%{transform:translateY(-5px)}to{transform:translateY(0)}}@keyframes fadeInOut{0%,to{opacity:.5}50%{opacity:1}}.message.loading .message-content{min-height:40px;display:flex;align-items:center}.message.bot.loading{animation:subtle-pulse 2s ease-in-out infinite;border-left:3px solid var(--accent-color)}@keyframes subtle-pulse{0%,to{background-color:var(--background-primary)}50%{background-color:var(--background-secondary)}}.load-more-container{display:flex;justify-content:center;margin-bottom:1rem;width:100%}.load-more-button{background-color:var(--bg-secondary,#f3f2f1);border:1px solid var(--border-color,#e1dfdd);color:var(--text-color,#323130);padding:.5rem 1rem;border-radius:var(--border-radius,4px);cursor:pointer;font-size:.875rem;transition:background-color .2s ease}.load-more-button:hover{background-color:var(--border-color,#e1dfdd)}.load-more-button:disabled{opacity:.6;cursor:not-allowed}.loading-spinner{display:inline-block;width:1rem;height:1rem;border:2px solid rgba(0,0,0,.1);border-left:2px solid var(--primary-color,#0078d4);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.scroll-bottom-btn{position:fixed;bottom:90px;right:20px;width:40px;height:40px;border-radius:50%;background-color:var(--button-bg,#0078d4);color:var(--button-text,#fff);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:.8;transition:all .2s ease;z-index:99;font-size:20px;box-shadow:0 2px 10px rgba(0,0,0,.3);border:none}.scroll-bottom-btn:hover{opacity:1;transform:translateY(-2px)}[data-theme=dark] .load-more-button{background-color:var(--bg-secondary,#2d2d2d);border-color:var(--border-color,#3d3d3d);color:var(--text-color,#f3f2f1)}[data-theme=dark] .loading-spinner{border-color:hsla(0,0%,100%,.1);border-left-color:var(--primary-color,#0078d4)}[data-theme=dark] .scroll-bottom-btn{background-color:var(--button-bg,#ff6200);color:var(--button-text,#fff)}[data-theme=light] .load-more-button{background-color:var(--bg-secondary,#f3f2f1);border-color:var(--border-color,#e1dfdd);color:var(--text-color,#323130)}[data-theme=light] .loading-spinner{border-color:rgba(0,0,0,.1);border-left-color:var(--primary-color,#0078d4)}[data-theme=light] .scroll-bottom-btn{background-color:var(--button-bg,#ff6200);color:var(--button-text,#fff)}.info-btn{background-color:#0578ff;color:#fff;border:none;border-radius:4px;padding:6px 12px;display:flex;align-items:center;gap:6px;cursor:pointer;transition:all .2s ease;font-size:.9rem;font-weight:500}.info-btn:hover{background-color:#0466e0;transform:translateY(-1px)}[data-theme=dark] .info-btn{background-color:#0578ff;color:#fff}[data-theme=dark] .info-btn:hover{background-color:#0466e0}.markdown-body{color:var(--text-color,#e5e7eb);line-height:1.2;font-size:.95rem;white-space:normal}.markdown-body p{margin:0 0 .6rem}.markdown-body h2{margin:0;font-size:1.125rem;font-weight:400}.markdown-body h3{margin:0;font-size:1rem;font-weight:400}.markdown-body h1,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin:0;font-size:inherit;font-weight:400}.markdown-body ol,.markdown-body ul{padding-left:1.1rem;margin:.25rem 0 .5rem}.markdown-body ul{list-style-type:disc}.markdown-body ol{list-style-type:decimal}.markdown-body li{margin:.15rem 0}.markdown-body li:empty,.markdown-body li>p:empty,.markdown-body p:empty{display:none}.markdown-body li p{margin:0}.markdown-body .md-link{color:#93c5fd;text-decoration:underline;text-underline-offset:2px;line-height:inherit;font-weight:400}.markdown-body .md-link:hover{opacity:.95}.markdown-body b,.markdown-body strong{font-weight:400}