html,body{margin:0;padding:0;box-sizing:border-box;width:100%;height:100%}*,*:before,*:after{box-sizing:border-box}#root{width:100%;height:100%;margin:0;padding:0}.chat-app{position:fixed;top:0;left:0;width:100vw;height:100vh;margin:0;padding:20px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#030391,#1488d8);display:flex;justify-content:center;align-items:center;box-sizing:border-box}.chat-app *{box-sizing:border-box}.chat-window{width:100%;max-width:800px;height:90vh;max-height:800px;min-height:500px;background:#fff;border-radius:20px;box-shadow:0 20px 40px #0000001a;display:flex;flex-direction:column;overflow:hidden}.chat-header{background:linear-gradient(135deg,#030391,#1488d8);color:#fff;padding:24px 20px;box-shadow:0 2px 10px #0000001a}.chat-header-content{display:flex;justify-content:space-between;align-items:center;gap:12px}.chat-logo{flex-shrink:0}.logo-image{height:50px;width:auto;object-fit:contain}.chat-title{flex:1;min-width:0}.chat-title h1{font-size:1.5rem;font-weight:600;margin-bottom:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.connection-status{display:flex;align-items:center;font-size:.9rem;opacity:.9;white-space:nowrap}.chat-actions{flex-shrink:0;margin-left:12px}.status-dot{width:8px;height:8px;border-radius:50%;margin-right:6px;animation:pulse 2s infinite}.connection-status.connected .status-dot{background-color:#4ade80}.connection-status.disconnected .status-dot{background-color:#f87171}.reset-btn{background:#fff3;border:none;color:#fff;padding:8px 16px;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;gap:6px}.reset-btn:hover:not(:disabled){background:#ffffff4d;transform:translateY(-1px)}.reset-btn:disabled{opacity:.5;cursor:not-allowed}.chat-messages{flex:1;overflow-y:auto;overflow-x:hidden;padding:20px;background:#f8fafc;display:flex;flex-direction:column;gap:16px;min-height:0;scroll-behavior:smooth}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:#f1f5f9}.chat-messages::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.chat-messages::-webkit-scrollbar-thumb:hover{background:#94a3b8}.message-bubble{max-width:80%;animation:fadeIn .3s ease-out}.message-bubble.user{align-self:flex-end}.message-bubble.bot{align-self:flex-start}.message-content{display:flex;align-items:flex-start;gap:8px}.message-bubble.user .message-content{flex-direction:row-reverse}.avatar-container{display:flex;flex-direction:column;align-items:center;gap:4px}.message-text{background:#fff;padding:12px 16px;border-radius:18px;box-shadow:0 2px 8px #0000000d;line-height:1.5;word-wrap:break-word;position:relative}.message-bubble.user .message-text{background:linear-gradient(135deg,#030391,#1488d8);color:#fff}.message-bubble.bot .message-text{background:#fff;color:#334155;border:1px solid #e2e8f0}.bot-avatar,.user-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}.bot-avatar{background:#f1f5f9;color:#64748b}.user-avatar{background:linear-gradient(135deg,#030391,#1488d8);color:#fff}.message-time{font-size:.6rem;color:#94a3b8;text-align:center;white-space:nowrap;margin-top:2px}.loading-spinner{display:flex;align-items:center;gap:8px;color:#64748b;font-size:.9rem}.spinner-dots{display:flex;gap:4px}.spinner-dots .dot{width:8px;height:8px;background:#cbd5e1;border-radius:50%;animation:bounce 1.4s infinite ease-in-out}.spinner-dots .dot:nth-child(1){animation-delay:-.32s}.spinner-dots .dot:nth-child(2){animation-delay:-.16s}.error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:0 20px 20px;animation:slideIn .3s ease-out}.error-content{display:flex;align-items:center;gap:12px;padding:12px 16px}.error-icon{font-size:1.2rem;flex-shrink:0}.error-text{flex:1;color:#dc2626;font-size:.9rem}.error-actions{display:flex;gap:8px}.retry-button,.close-button{background:none;border:none;color:#dc2626;cursor:pointer;font-size:.85rem;padding:4px 8px;border-radius:4px;transition:background-color .2s;display:flex;align-items:center;gap:4px}.retry-button:hover,.close-button:hover{background:#fee2e2}.message-input{padding:16px 20px;background:#fff;border-top:1px solid #e2e8f0}.input-form{width:100%}.input-container{display:flex;align-items:flex-end;gap:12px;background:#f8fafc;border-radius:12px;padding:10px;border:1px solid #e2e8f0;transition:all .2s ease}.input-container:focus-within{border-color:#1488d8;box-shadow:0 0 0 3px #1488d81a}.message-textarea{flex:1;border:none;outline:none;background:transparent;resize:none;font-size:1rem;line-height:1.5;font-family:inherit;min-height:24px;max-height:120px;color:#334155}.message-textarea::placeholder{color:#94a3b8}.message-textarea:disabled{opacity:.6;cursor:not-allowed}.send-button{background:linear-gradient(135deg,#030391,#1488d8);border:none;color:#fff;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.2rem;transition:all .2s ease;flex-shrink:0}.send-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #1488d84d}.send-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.icon-button{display:inline-flex;align-items:center;gap:6px;border:none;cursor:pointer;transition:all .2s ease;border-radius:6px;font-family:inherit}.icon-button:disabled{opacity:.5;cursor:not-allowed}.icon-button__text{font-size:inherit}.message-text .markdown-h1{font-size:1.5rem;font-weight:700;color:#1e293b;margin:.8em 0 .4em;line-height:1.3;border-bottom:2px solid #e2e8f0;padding-bottom:.3em}.message-text .markdown-h2{font-size:1.3rem;font-weight:600;color:#334155;margin:.7em 0 .3em;line-height:1.4;border-bottom:1px solid #e2e8f0;padding-bottom:.2em}.message-text .markdown-h3{font-size:1.1rem;font-weight:600;color:#475569;margin:.6em 0 .3em;line-height:1.4}.message-text .markdown-p{margin:.5em 0;line-height:1.6;color:#334155}.message-text .markdown-p:first-child{margin-top:0}.message-text .markdown-p:last-child{margin-bottom:0}.message-text .markdown-ul{margin:.5em 0;padding-left:1.5em;list-style-type:disc}.message-text .markdown-ol{margin:.5em 0;padding-left:1.5em;list-style-type:decimal}.message-text .markdown-li{margin:.25em 0;line-height:1.5;color:#334155}.message-text .markdown-li::marker{color:#1488d8}.message-text .markdown-strong{font-weight:600;color:#1e293b}.message-text .markdown-em{font-style:italic;color:#475569}.message-text .markdown-inline-code{background-color:#f1f5f9;color:#e11d48;padding:.2em .4em;border-radius:3px;font-size:.9em;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;border:1px solid #e2e8f0}.message-text .markdown-pre{background-color:#1e293b;border-radius:8px;padding:1em;margin:.8em 0;overflow-x:auto;border:1px solid #334155;box-shadow:0 2px 4px #0000001a}.message-text .markdown-code-block{color:#e2e8f0;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-size:.9em;line-height:1.5;white-space:pre;overflow-x:auto}.message-text .markdown-blockquote{border-left:4px solid #1488D8;background-color:#f8fafc;margin:.8em 0;padding:.8em 1em;font-style:italic;color:#475569;border-radius:0 4px 4px 0}.message-text .markdown-table{border-collapse:collapse;width:100%;margin:.8em 0;font-size:.9em;border-radius:6px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.message-text .markdown-th{background-color:#1488d8;color:#fff;padding:.75em;text-align:left;font-weight:600;border:1px solid #1170b8}.message-text .markdown-td{padding:.75em;border:1px solid #e2e8f0;background-color:#fff}.message-text .markdown-table tr:nth-child(2n) .markdown-td{background-color:#f8fafc}.message-text .markdown-table tr:hover .markdown-td{background-color:#f1f5f9}@media (max-width: 768px){.message-text .markdown-h1{font-size:1.3rem}.message-text .markdown-h2{font-size:1.1rem}.message-text .markdown-h3{font-size:1rem}.message-text .markdown-pre{padding:.8em;font-size:.8em}.message-text .markdown-table{font-size:.8em}.message-text .markdown-th,.message-text .markdown-td{padding:.5em}}@media (max-width: 480px){.message-text .markdown-ul,.message-text .markdown-ol{padding-left:1.2em}.message-text .markdown-pre{padding:.6em;margin:.6em 0}.message-text .markdown-blockquote{padding:.6em .8em;margin:.6em 0}}.message-text .hljs{display:block;overflow-x:auto;padding:1em;color:#e6edf3;background:#0d1117}.message-text .hljs-comment,.message-text .hljs-quote{color:#8b949e;font-style:italic}.message-text .hljs-keyword,.message-text .hljs-selector-tag,.message-text .hljs-subst{color:#ff7b72}.message-text .hljs-number,.message-text .hljs-literal,.message-text .hljs-variable,.message-text .hljs-template-variable,.message-text .hljs-tag .hljs-attr{color:#79c0ff}.message-text .hljs-string,.message-text .hljs-doctag{color:#a5c9ea}.message-text .hljs-title,.message-text .hljs-section,.message-text .hljs-selector-id{color:#d2a8ff}.message-text .hljs-class .hljs-title,.message-text .hljs-type{color:#ffa657}.message-text .hljs-function .hljs-title{color:#d2a8ff}.message-text .hljs-params{color:#e6edf3}.message-text .hljs-symbol,.message-text .hljs-bullet,.message-text .hljs-link{color:#a5c9ea}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}@keyframes pulse{0%{transform:scale(.95);box-shadow:0 0 #ffffffb3}70%{transform:scale(1);box-shadow:0 0 0 10px #fff0}to{transform:scale(.95);box-shadow:0 0 #fff0}}.chat-footer{background:#f8fafc;border-top:1px solid #e2e8f0;padding:10px 20px;text-align:center}.copyright-text{font-size:.85rem;color:#64748b;margin-bottom:4px;font-weight:500}.developer-info{font-size:.75rem;color:#94a3b8;font-weight:400}.quick-replies{margin:12px 0;animation:fadeIn .3s ease-out;position:relative;z-index:1}.quick-replies-container{display:flex;flex-wrap:wrap;gap:6px;max-width:100%;justify-content:flex-start}.quick-reply-btn{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:8px 12px;cursor:pointer;font-size:.85rem;color:#334155;transition:all .2s ease;display:flex;align-items:center;gap:4px;box-shadow:0 2px 4px #0000000d;font-family:inherit;min-height:32px;white-space:normal;word-wrap:break-word;max-width:100%}.quick-reply-btn:hover{background:#f8fafc;border-color:#1488d8;transform:translateY(-1px);box-shadow:0 4px 8px #1488d81a}.quick-reply-btn:active{transform:translateY(0)}.quick-reply-icon{font-size:.9rem;flex-shrink:0}.quick-reply-text{word-wrap:break-word;overflow-wrap:break-word}@media (max-width: 1024px){.chat-title h1{font-size:1.4rem}}@media (max-width: 768px){.App{padding:5px}.chat-window{height:100vh;max-height:100vh;min-height:100vh;border-radius:0}.chat-header{padding:16px 18px}.chat-header-content{display:flex;justify-content:space-between;align-items:center;gap:8px}.logo-image{height:42px}.chat-title h1{font-size:1.2rem;margin-bottom:3px}.connection-status{font-size:.8rem}.chat-actions{margin-left:8px}.reset-btn{padding:6px 10px;font-size:.8rem;min-width:auto;gap:4px}.chat-messages{padding:15px;flex:1;min-height:0}.message-bubble{max-width:90%}.message-input{padding:12px 15px}.input-container{padding:8px}.send-button{width:36px;height:36px;font-size:1rem}.quick-replies{margin:12px 0 16px}.quick-replies-container{gap:6px;justify-content:flex-start}.quick-reply-btn{padding:6px 10px;font-size:.8rem;border-radius:14px;min-height:30px;flex:0 1 auto;max-width:calc(50% - 3px)}.quick-reply-icon{font-size:.8rem}}@media (max-width: 480px){.App{padding:0}.chat-header{padding:14px 12px}.chat-header-content{gap:6px}.logo-image{height:36px}.chat-title h1{font-size:1.1rem;margin-bottom:2px}.connection-status{font-size:.75rem}.chat-actions{margin-left:6px}.reset-btn{padding:4px 8px;font-size:.75rem;border-radius:6px;gap:3px}.message-text{padding:10px 14px}.message-input{padding:10px 12px}.input-container{padding:6px}.chat-footer{padding:6px 12px}.copyright-text{font-size:.75rem}.developer-info{font-size:.65rem}.quick-replies{margin:10px 0 20px}.quick-replies-container{gap:4px}.quick-reply-btn{padding:5px 8px;font-size:.75rem;border-radius:12px;min-height:28px;flex:1 1 calc(100% - 2px);max-width:100%;margin-bottom:2px}.quick-reply-text{font-size:.75rem;text-align:center}}@media (max-width: 360px){.logo-image{height:30px}.chat-title h1{font-size:1rem}.connection-status{font-size:.7rem}.reset-btn{padding:3px 6px;font-size:.7rem}.copyright-text{font-size:.7rem}.developer-info{font-size:.6rem}}.quick-replies.hidden{opacity:0;transform:translateY(-10px);transition:all .3s ease}.quick-replies.visible{opacity:1;transform:translateY(0);transition:all .3s ease}
