:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{box-sizing:border-box}body{margin:0;padding:20px;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:linear-gradient(135deg,#667eea,#764ba2);height:100vh;overflow:hidden;display:flex;align-items:center;justify-content:center}#root{width:100%;height:100vh;display:flex;align-items:center;justify-content:center}.app{display:flex;flex-direction:column;width:100%;height:90vh;max-width:1200px;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;box-shadow:0 10px 30px #0003}.app-header{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff;padding:20px 30px;border-radius:20px 20px 0 0;box-shadow:0 2px 10px #0000001a}.header-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px}.header-content h1{margin:0;font-size:1.8rem;font-weight:600;text-shadow:0 2px 4px rgba(0,0,0,.1)}.header-content p{margin:5px 0 0;opacity:.9;font-size:.9rem}.header-actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.api-info{background:#fff3;padding:5px 12px;border-radius:15px;font-size:.8rem;font-family:Courier New,monospace}.clear-button{background:#fff3;border:none;color:#fff;padding:8px 16px;border-radius:20px;cursor:pointer;font-size:.9rem;transition:all .2s ease}.clear-button:hover{background:#ffffff4d;transform:translateY(-1px)}.chat-container{display:flex;flex-direction:column;flex:1;min-height:0}.chat-messages{flex:1;overflow-y:auto;padding:20px;scroll-behavior:smooth}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.chat-messages::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.chat-messages::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.welcome-message{display:flex;justify-content:center;align-items:center;height:100%;text-align:center}.welcome-content{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;padding:40px;border-radius:20px;box-shadow:0 10px 25px #0000001a;max-width:500px}.welcome-content h2{margin:0 0 15px;font-size:2rem}.welcome-content p{margin:0 0 25px;opacity:.9}.example-prompts p{margin-bottom:15px;font-weight:500}.example-button{display:block;width:100%;margin:10px 0;padding:12px 20px;background:#fff3;border:none;color:#fff;border-radius:10px;cursor:pointer;transition:all .2s ease;font-size:.9rem}.example-button:hover{background:#ffffff4d;transform:translateY(-1px)}.chat-message{display:flex;margin-bottom:20px;animation:fadeInUp .3s ease}.chat-message.user{flex-direction:row-reverse}.chat-message.user .message-content{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;margin-right:12px;margin-left:60px}.chat-message.assistant .message-content{background:#f8f9fa;color:#333;margin-left:12px;margin-right:60px;border:1px solid #e9ecef}.message-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff;flex-shrink:0}.chat-message.user .message-avatar{background:linear-gradient(135deg,#fa709a,#fee140)}.message-content{max-width:calc(100% - 60px);border-radius:18px;padding:15px 20px;box-shadow:0 2px 10px #0000001a}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:.8rem}.message-role{font-weight:600;opacity:.8}.message-time{opacity:.6;font-size:.75rem}.message-text{line-height:1.5}.message-text pre{margin:0;white-space:pre-wrap;word-wrap:break-word;font-family:inherit}.loading-dots{display:flex;gap:4px;align-items:center}.loading-dots span{width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.4;animation:pulse 1.4s ease-in-out infinite both}.loading-dots span:nth-child(1){animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes pulse{0%,80%,to{opacity:.4;transform:scale(1)}40%{opacity:1;transform:scale(1.2)}}.chat-input-container{padding:20px 30px;background:#f8f9fa;border-top:1px solid #e9ecef}.chat-input-wrapper{display:flex;align-items:flex-end;gap:12px;max-width:100%}.chat-input{flex:1;min-height:44px;max-height:120px;padding:12px 16px;border:2px solid #e9ecef;border-radius:22px;font-size:1rem;font-family:inherit;line-height:1.4;resize:none;transition:all .2s ease;background:#fff}.chat-input:focus{outline:none;border-color:#4facfe;box-shadow:0 0 0 3px #4facfe1a}.chat-input:disabled{background:#f8f9fa;color:#6c757d}.send-button{width:44px;height:44px;border-radius:50%;border:none;background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff;font-size:1.2rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.send-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #4facfe66}.send-button:disabled{background:#6c757d;cursor:not-allowed;transform:none;box-shadow:none}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){body{padding:0}.app{border-radius:0;height:100vh;width:100vw}.app-header{border-radius:0;padding:15px 20px}.header-content{flex-direction:column;align-items:flex-start;gap:10px}.header-content h1{font-size:1.5rem}.header-actions{align-self:stretch;justify-content:space-between}.chat-messages{padding:15px}.chat-input-container{padding:15px 20px}.message-content{max-width:calc(100% - 50px)}.chat-message.user .message-content{margin-left:40px}.chat-message.assistant .message-content{margin-right:40px}.welcome-content{padding:30px 25px;margin:0 15px}}
