@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.simple-chat{display:flex;flex-direction:column;height:100%;background:#1a1a1a;border-radius:12px;overflow:hidden;border:1px solid #333}.simple-chat .chat-messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1rem}.simple-chat .chat-messages::-webkit-scrollbar{width:6px}.simple-chat .chat-messages::-webkit-scrollbar-track{background:transparent}.simple-chat .chat-messages::-webkit-scrollbar-thumb{background:#444;border-radius:3px}.simple-chat .chat-messages::-webkit-scrollbar-thumb:hover{background:#555}.simple-chat .message{display:flex;gap:.75rem;animation:messageSlide .3s ease-out}.simple-chat .message.message-user{flex-direction:row-reverse}.simple-chat .message.message-user .message-content{align-items:flex-end}.simple-chat .message.message-user .message-content .message-body{background:#0066cc;color:#fff;border-bottom-right-radius:4px}.simple-chat .message.message-user .message-avatar{background:#0066cc;color:#fff}.simple-chat .message.message-assistant .message-body{background:#2d2d2d;color:#e0e0e0;border-bottom-left-radius:4px}.simple-chat .message.message-assistant .message-avatar{background:#4a9eff;color:#fff}.simple-chat .message-avatar{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.simple-chat .message-content{display:flex;flex-direction:column;gap:.25rem;max-width:80%;min-width:0}.simple-chat .message-body{padding:.75rem 1rem;border-radius:12px;word-wrap:break-word}.simple-chat .message-body p{margin:0}.simple-chat .message-body p:not(:last-child){margin-bottom:.5rem}.simple-chat .message-body code{background:rgba(255,255,255,.1);padding:.125rem .25rem;border-radius:4px;font-family:Fira Code,Consolas,monospace;font-size:.9em}.simple-chat .message-body pre{margin:.5rem 0;border-radius:8px;overflow:hidden}.simple-chat .message-body pre code{background:none;padding:0}.simple-chat .message-body ul,.simple-chat .message-body ol{margin:.5rem 0;padding-left:1.5rem}.simple-chat .message-body blockquote{border-left:3px solid #4a9eff;margin:.5rem 0;padding-left:1rem;font-style:italic;color:#ccc}.simple-chat .message-timestamp{font-size:.75rem;color:#888;opacity:.7}.simple-chat .typing-indicator{padding:.75rem 1rem;background:#2d2d2d;border-radius:12px 12px 12px 4px}.simple-chat .typing-indicator .typing-dots{display:flex;gap:4px}.simple-chat .typing-indicator .typing-dots span{width:6px;height:6px;background:#4a9eff;border-radius:50%;animation:typingDots 1.4s infinite ease-in-out}.simple-chat .typing-indicator .typing-dots span:nth-child(2){animation-delay:.2s}.simple-chat .typing-indicator .typing-dots span:nth-child(3){animation-delay:.4s}.simple-chat .chat-input{border-top:1px solid #333;padding:1rem;background:#1a1a1a}.simple-chat .chat-input .input-container{display:flex;gap:.75rem;align-items:flex-end}.simple-chat .chat-input .message-textarea{flex:1;background:#2d2d2d;border:1px solid #444;border-radius:8px;padding:.75rem;color:#e0e0e0;font-family:inherit;font-size:.95rem;resize:none;min-height:44px;max-height:120px;outline:none;transition:border-color .2s}.simple-chat .chat-input .message-textarea:focus{border-color:#4a9eff}.simple-chat .chat-input .message-textarea::placeholder{color:#888}.simple-chat .chat-input .message-textarea:disabled{opacity:.6;cursor:not-allowed}.simple-chat .chat-input .send-button{width:44px;height:44px;background:#4a9eff;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.simple-chat .chat-input .send-button:hover:not(:disabled){background:#0066cc;transform:translateY(-1px)}.simple-chat .chat-input .send-button:active{transform:translateY(0)}.simple-chat .chat-input .send-button:disabled{background:#444;cursor:not-allowed;transform:none}@keyframes messageSlide{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes typingDots{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-8px);opacity:1}}@media (max-width: 768px){.simple-chat{border-radius:0;height:100vh}.simple-chat .chat-messages{padding:.75rem}.simple-chat .message-content{max-width:90%}.simple-chat .chat-input{padding:.75rem}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0;font-family:-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:#0f0f0f;color:#e0e0e0;min-height:100vh}#root{height:100vh}.app{height:100vh;background:linear-gradient(135deg,#0f0f0f 0%,#1a1a1a 100%);position:relative;overflow:hidden}.app:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 80%,rgba(74,158,255,.05) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(74,158,255,.05) 0%,transparent 50%);pointer-events:none}.app-container{height:100%;display:flex;flex-direction:column;position:relative;z-index:1}.app-header{background:rgba(26,26,26,.8);backdrop-filter:blur(10px);border-bottom:1px solid #333;padding:1rem 1.5rem;flex-shrink:0}.app-header .header-content{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto}.app-header .logo{display:flex;align-items:center;gap:.75rem}.app-header .logo .logo-icon{font-size:1.75rem;filter:drop-shadow(0 0 8px rgba(74,158,255,.3))}.app-header .logo .app-title{font-size:1.5rem;font-weight:600;background:linear-gradient(135deg,#4a9eff 0%,#0066cc 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.app-header .header-info{display:flex;align-items:center;gap:1rem}.app-header .status-indicator{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:rgba(45,45,45,.8);border-radius:20px;border:1px solid #444}.app-header .status-indicator .status-dot{width:8px;height:8px;border-radius:50%;background:#666}.app-header .status-indicator .status-dot.active{background:#4a9eff;box-shadow:0 0 6px #4a9eff80;animation:pulse 2s infinite}.app-header .status-indicator span{font-size:.9rem;color:#ccc}.app-main{flex:1;padding:1.5rem;display:flex;justify-content:center;align-items:center;min-height:0}.chat-container{width:100%;max-width:1000px;height:100%;max-height:800px;margin:0 auto;display:flex;flex-direction:column;position:relative}.loading-container{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0f0f0f;gap:2rem}.loading-container .loading-spinner{position:relative;width:60px;height:60px}.loading-container .loading-spinner .spinner-ring{position:absolute;width:100%;height:100%;border:3px solid transparent;border-top-color:#4a9eff;border-radius:50%;animation:spin 1.2s linear infinite}.loading-container .loading-spinner .spinner-ring:nth-child(2){width:80%;height:80%;top:10%;left:10%;border-top-color:#06c;animation-delay:-.4s}.loading-container .loading-spinner .spinner-ring:nth-child(3){width:60%;height:60%;top:20%;left:20%;border-top-color:#74b3ff;animation-delay:-.8s}.loading-container .loading-text{color:#ccc;font-size:1.1rem}.error-fallback{height:100vh;display:flex;align-items:center;justify-content:center;background:#0f0f0f;padding:2rem}.error-fallback .error-container{text-align:center;max-width:500px;background:#1a1a1a;padding:2rem;border-radius:12px;border:1px solid #333}.error-fallback .error-container .error-icon{font-size:3rem;margin-bottom:1rem}.error-fallback .error-container h2{color:#ff6b6b;margin-bottom:1rem}.error-fallback .error-container .error-message{color:#ccc;margin-bottom:1rem}.error-fallback .error-container .error-details{text-align:left;margin:1rem 0}.error-fallback .error-container .error-details summary{cursor:pointer;color:#4a9eff;margin-bottom:.5rem}.error-fallback .error-container .error-details .error-stack{background:#111;padding:1rem;border-radius:8px;font-size:.85rem;overflow-x:auto;white-space:pre-wrap;color:#f99}.error-fallback .error-container .error-actions{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.error-fallback .error-container .error-actions button{padding:.75rem 1.5rem;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .2s}.error-fallback .error-container .error-actions button.retry-button{background:#4a9eff;color:#fff}.error-fallback .error-container .error-actions button.retry-button:hover{background:#0066cc}.error-fallback .error-container .error-actions button.reload-button{background:#666;color:#fff}.error-fallback .error-container .error-actions button.reload-button:hover{background:#777}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.app-header{padding:1rem}.app-header .header-content{flex-direction:column;gap:1rem;text-align:center}.app-header .logo .app-title{font-size:1.25rem}.app-main{padding:1rem}.chat-container{max-height:none;height:100%}.error-fallback .error-container{margin:1rem;padding:1.5rem}}.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}
