*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f0f2f5;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{margin:0;padding:0}.app{background:#f0f2f5;display:flex;height:100vh;overflow:hidden}.status-message{border-radius:.5rem;box-shadow:0 2px 4px #0000001a;color:#fff;font-weight:700;left:0;opacity:1;padding:10px 20px;position:fixed;right:0;text-align:center;top:0;transition:background-color .3s ease,opacity .3s ease;z-index:1000}.status-message.success{background-color:#4caf50}.status-message.error{background-color:#f44336}.auth-container{align-items:center;background-color:#f0f2f5;display:flex;flex:1 1;justify-content:center;min-height:100vh;padding:1rem;width:100%}.auth-card{background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #0000001a;max-width:400px;padding:40px;width:100%}.auth-header{margin-bottom:30px;text-align:center}.logo{align-items:center;color:#6a0dad;display:flex;gap:.75rem;justify-content:center;margin-bottom:1rem}.logo h1{color:#333;font-size:24px;font-weight:700}.auth-form{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.auth-form input{border:1px solid #ddd;border-radius:4px;font-size:16px;margin-bottom:15px;padding:10px;transition:border-color .2s;width:calc(100% - 20px)}.auth-form input:focus{border-color:#6a0dad;outline:none}.auth-button{background-color:#6a0dad;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px;transition:background-color .3s ease;width:100%}.auth-button:hover{background-color:#5a009a;transform:translateY(-1px)}.auth-switch{color:#666;font-size:14px;margin-top:20px;text-align:center}.link-button{background:none;border:none;color:#6a0dad;cursor:pointer;font-size:inherit;text-decoration:underline}.link-button:hover{color:#5a009a}.auth-error{background-color:#fee2e2;border-radius:.5rem;color:#dc2626;font-size:.875rem;margin-bottom:1rem;padding:.75rem;text-align:center}.sidebar{background-color:#2c3e50;border-right:1px solid #374151;box-shadow:2px 0 5px #0000001a;color:#ecf0f1;display:flex;flex-direction:column;flex-shrink:0;width:250px}.sidebar-header{align-items:center;display:flex;margin-bottom:30px}.sidebar-header .logo{align-items:center;color:#ecf0f1;display:flex}.sidebar-header .logo h1{font-size:20px;margin:0 0 0 10px}.sidebar-nav ul{list-style:none;margin:0;padding:0}.sidebar-nav li{margin-bottom:10px}.sidebar-nav button{align-items:center;background:none;border:none;border-radius:5px;color:#ecf0f1;cursor:pointer;display:flex;gap:10px;padding:10px 15px;text-align:left;transition:background-color .2s ease;width:100%}.sidebar-nav button.active,.sidebar-nav button:hover{background-color:#34495e}.sidebar-nav button svg{flex-shrink:0}.sidebar-nav button span{flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-footer{border-top:1px solid #34495e;display:flex;flex-direction:column;gap:10px;margin-top:auto;padding-top:20px}.user-info{align-items:center;display:flex;justify-content:space-between}.user-details{display:flex;flex-direction:column;gap:.25rem}.user-name{font-size:.875rem;font-weight:500}.subscription-badge{align-items:center;border-radius:.375rem;display:flex;font-size:.75rem;font-weight:500;gap:.25rem;padding:.125rem .5rem}.subscription-badge.premium{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff}.subscription-badge.free{background:#374151;color:#9ca3af}.logout-button{background:none;border:none;border-radius:5px;color:#ecf0f1;cursor:pointer;padding:8px 15px;transition:all .2s ease}.logout-button:hover{background-color:#34495e;color:#fff}.main-content{background-color:#fff;display:flex;flex:1 1;flex-direction:column;position:relative}.no-conversation{align-items:center;background-color:#f9f9f9;display:flex;flex:1 1;flex-grow:1;justify-content:center;text-align:center}.no-conversation-content{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000d;padding:20px}.no-conversation-content svg{color:#6a0dad;margin-bottom:15px}.no-conversation-content h2{color:#333;font-size:28px;margin-bottom:10px}.no-conversation-content p{color:#666;font-size:16px;margin-bottom:20px}.start-button{align-items:center;background-color:#6a0dad;border:none;border-radius:5px;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:.5rem;padding:12px 25px;transition:background-color .3s ease}.start-button:hover{background-color:#5a009a}.chat-area{display:flex;flex-direction:column;flex-grow:1;overflow-y:auto;padding:20px;position:relative}.chat-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.chat-header h2{color:#333;font-size:22px;margin:0}.chat-header .actions button{background:none;border:none;border-radius:4px;color:#6a0dad;cursor:pointer;font-size:14px;padding:5px 10px;transition:background-color .2s ease}.chat-header .actions button:hover{background-color:#f0f2f5}.messages-container{flex-grow:1;overflow-y:auto;padding-right:10px}.message{align-items:flex-start;display:flex;margin-bottom:15px}.message.user{justify-content:flex-end}.message.assistant{justify-content:flex-start}.message-avatar{align-items:center;background-color:#6a0dad;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:30px;justify-content:center;width:30px}.message.assistant .message-avatar{margin-right:10px}.message.user .message-avatar{background-color:#3498db;margin-left:10px}.message-bubble{border-radius:18px;line-height:1.5;max-width:70%;padding:10px 15px;position:relative}.message.user .message-bubble{background-color:#e0f7fa;border-bottom-right-radius:2px;color:#333}.message.assistant .message-bubble{background-color:#f0f0f0;border-bottom-left-radius:2px;color:#333}.message-text strong{font-weight:700}.message-text em.example-text{color:#667eea;font-style:italic}.message-actions{display:flex;gap:5px;justify-content:flex-end;margin-top:5px}.message-actions button{align-items:center;background:none;border:none;border-radius:3px;color:#666;cursor:pointer;display:flex;font-size:12px;gap:3px;padding:3px 5px;transition:background-color .2s ease}.message-actions button:hover{background-color:#e0e0e0}.message-actions button.copied{color:#4caf50}.chat-input-container{align-items:center;background-color:#fff;border-top:1px solid #eee;display:flex;flex-shrink:0;gap:10px;padding:20px}.chat-input-container input{border:1px solid #ddd;border-radius:25px;flex-grow:1;font-size:16px;outline:none;padding:12px 15px;transition:border-color .2s}.chat-input-container input:focus{border-color:#6a0dad}.chat-input-container button{align-items:center;background-color:#6a0dad;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:45px;justify-content:center;transition:background-color .3s ease;width:45px}.chat-input-container button:hover:not(:disabled){background-color:#5a009a}.chat-input-container button:disabled{background-color:#ccc;cursor:not-allowed}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background-color:#fff;border-radius:8px;box-shadow:0 4px 20px #0003;max-width:600px;padding:30px;position:relative;text-align:center;width:90%}.modal-close-button{background:none;border:none;color:#666;cursor:pointer;font-size:24px;position:absolute;right:15px;top:15px}.modal-content h2{color:#333;font-size:28px;margin-bottom:15px}.modal-content p{color:#666;margin-bottom:25px}.premium-benefits{list-style:none;margin-bottom:30px;padding:0}.premium-benefits li{align-items:center;color:#555;display:flex;font-size:16px;gap:10px;justify-content:center;margin-bottom:10px}.premium-benefits li svg{color:#4caf50}.pricing-options{display:flex;flex-wrap:wrap;gap:20px;justify-content:center}.pricing-card{align-items:center;background-color:#f9f9f9;border:1px solid #ddd;border-radius:8px;display:flex;flex-direction:column;max-width:250px;padding:20px;position:relative;width:100%}.pricing-card.popular{background-color:#fff;border-color:#6a0dad;box-shadow:0 0 10px #6a00ad33}.pricing-card .badge{background-color:#6a0dad;border-radius:20px;color:#fff;font-size:12px;font-weight:700;padding:5px 10px;position:absolute;top:-15px}.pricing-card h3{color:#333;font-size:24px;margin-bottom:10px}.pricing-card .price{color:#6a0dad;font-size:36px;font-weight:700;margin-bottom:10px}.pricing-card .price span{color:#666;font-size:16px;font-weight:400}.pricing-card .save-text{color:#4caf50;font-size:14px;margin-bottom:20px}.pricing-card button{background-color:#6a0dad;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;padding:10px 20px;transition:background-color .3s ease;width:100%}.pricing-card button:hover{background-color:#5a009a}.code-block{background-color:#2d2d2d;border-radius:8px;color:#f8f8f2;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:14px;margin-top:10px;overflow:hidden}.code-header{align-items:center;background-color:#3c3c3c;border-bottom:1px solid #4a4a4a;display:flex;justify-content:space-between;padding:8px 15px}.code-header span{color:#ccc;font-weight:500}.code-block pre{word-wrap:break-word;margin:0;overflow-x:auto;padding:15px;white-space:pre-wrap}.typing-indicator span{animation:bounce 1.4s ease-in-out infinite;background-color:#bbb;border-radius:50%;display:inline-block;height:8px;margin:0 2px;opacity:.7;width:8px}.typing-indicator span:first-child{animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}.typing-indicator span:nth-child(3){animation-delay:0s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}@media (max-width:768px){.app{flex-direction:column}.sidebar{box-shadow:0 2px 5px #0000001a;height:auto;order:2;padding:15px;width:100%}.main-content{height:calc(100vh - 200px);order:1;overflow-y:auto}.chat-area{padding:15px}.message-bubble{max-width:85%}.chat-input-container{padding:15px}.modal-content{padding:20px}.pricing-options{align-items:center;flex-direction:column}.pricing-card{max-width:90%}}
/*# sourceMappingURL=main.a367e98c.css.map*/