.landing-page{display:flex;justify-content:center;align-items:center;height:100vh;background:linear-gradient(135deg,#1a1a1a 0%,#0f0f0f 100%)}.landing-container{text-align:center;max-width:600px;padding:40px}.landing-header{margin-bottom:48px}.landing-logo{width:80px;height:80px;margin-bottom:24px;border-radius:12px;object-fit:contain}.landing-header h1{font-size:48px;font-weight:700;margin-bottom:12px;color:#ececec}.landing-header p{font-size:18px;color:#888}.landing-buttons{display:flex;flex-direction:column;gap:12px;margin-bottom:48px}.btn{padding:12px 24px;border-radius:8px;border:none;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit}.btn-primary{background:#10a37f;color:#fff}.btn-primary:hover{background:#0d8c6f;transform:translateY(-2px)}.btn-secondary{background:#2d2d2d;color:#ececec;border:1px solid #404040}.btn-secondary:hover{background:#383838;border-color:#505050;transform:translateY(-2px)}.btn-tertiary{background:transparent;color:#10a37f;border:2px solid #10a37f}.btn-tertiary:hover{background:#10a37f;color:#fff;transform:translateY(-2px)}.landing-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:24px}.feature{padding:24px;background:#1a1a1a;border:1px solid #2d2d2d;border-radius:12px;transition:all .2s}.feature:hover{border-color:#10a37f;transform:translateY(-4px)}.feature h3{font-size:18px;margin-bottom:12px;color:#ececec}.feature p{font-size:13px;color:#888;line-height:1.5}.auth-page{display:flex;justify-content:center;align-items:center;height:100vh;background:linear-gradient(135deg,#1a1a1a 0%,#0f0f0f 100%)}.auth-container{background:#1a1a1a;border:1px solid #2d2d2d;border-radius:12px;padding:48px;max-width:400px;width:100%;box-shadow:0 20px 60px #0000004d}.auth-header{text-align:center;margin-bottom:32px}.auth-logo{width:60px;height:60px;margin-bottom:16px;border-radius:8px;object-fit:contain}.auth-header h1{font-size:28px;font-weight:700;color:#ececec}.auth-form{margin-bottom:24px}.error-message{background:#7f2d2d;color:#ff6b6b;padding:12px 16px;border-radius:6px;font-size:14px;margin-bottom:16px;border:1px solid #a33030}.form-group{margin-bottom:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.form-group label{display:block;font-size:13px;font-weight:600;color:#d1d1d1;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.form-group input{width:100%;background:#2d2d2d;border:1px solid #404040;color:#ececec;padding:12px 16px;border-radius:6px;font-size:14px;font-family:inherit;transition:all .2s}.form-group input:focus{outline:none;border-color:#10a37f;background:#383838}.form-group input:disabled{opacity:.5;cursor:not-allowed}.password-strength{margin-top:8px;display:flex;gap:8px;align-items:center}.strength-bar{flex:1;height:4px;background:#2d2d2d;border-radius:2px;overflow:hidden;transition:all .3s}.strength-bar>div{height:100%;transition:all .3s}.password-strength span{font-size:12px;font-weight:600;min-width:60px;text-align:right}.mismatch-warning{font-size:12px;color:#ff6b6b;margin-top:6px}.auth-button{width:100%;background:#10a37f;border:none;color:#fff;padding:12px 16px;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit;margin-top:16px}.auth-button:hover:not(:disabled){background:#0d8c6f}.auth-button:disabled{opacity:.5;cursor:not-allowed}.auth-footer{text-align:center;font-size:14px;color:#888}.auth-footer p{display:inline}.link-button{background:none;border:none;color:#10a37f;cursor:pointer;font-size:14px;font-weight:600;text-decoration:underline;padding:0;margin-left:4px;transition:all .2s;font-family:inherit}.link-button:hover:not(:disabled){color:#0d8c6f}.link-button:disabled{opacity:.5;cursor:not-allowed}.auth-tabs{display:flex;gap:8px;margin-bottom:24px;border-bottom:1px solid #404040}.tab-btn{flex:1;background:transparent;border:none;color:#888;padding:12px 16px;border-bottom:2px solid transparent;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s;text-transform:uppercase;letter-spacing:.5px}.tab-btn:hover{color:#d1d1d1}.tab-btn.active{color:#10a37f;border-bottom-color:#10a37f}.back-btn{background:transparent;border:1px solid #404040;color:#888;padding:10px 16px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s;width:100%;font-family:inherit}.back-btn:hover{background:#2d2d2d;border-color:#505050;color:#ececec}.sidebar{width:260px;background:#1a1a1a;border-right:1px solid #2d2d2d;display:flex;flex-direction:column;height:100vh;padding:16px}.sidebar-header{margin-bottom:24px;text-align:center}.logo{width:40px;height:40px;border-radius:8px;object-fit:contain}.new-chat-btn{background:#2d2d2d;border:1px solid #404040;color:#ececec;padding:10px 16px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;margin-bottom:16px;transition:all .2s}.new-chat-btn:hover{background:#383838;border-color:#505050}.conversations-list{flex:1;overflow-y:auto;margin-bottom:16px}.conversations-list h3{font-size:12px;font-weight:600;text-transform:uppercase;color:#888;margin-bottom:12px;padding:0 8px;letter-spacing:.5px}.conversation-item{width:100%;background:transparent;border:none;color:#d1d1d1;padding:10px 12px;margin-bottom:8px;border-radius:6px;cursor:pointer;font-size:14px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:all .2s}.conversation-item:hover{background:#2d2d2d;color:#ececec}.empty-message{color:#666;font-size:12px;padding:12px;text-align:center}.logout-btn{background:#2d2d2d;border:1px solid #404040;color:#ececec;padding:10px 16px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s;width:100%}.logout-btn:hover{background:#383838;border-color:#505050}.conversations-list::-webkit-scrollbar{width:6px}.conversations-list::-webkit-scrollbar-track{background:transparent}.conversations-list::-webkit-scrollbar-thumb{background:#404040;border-radius:3px}.conversations-list::-webkit-scrollbar-thumb:hover{background:#505050}.conversations-container{display:flex;flex-direction:column;gap:4px}.conversation-item-wrapper{display:flex;align-items:center;gap:8px;margin-bottom:4px}.conversation-item-wrapper .conversation-item{flex:1;margin-bottom:0}.delete-conversation-btn{background:transparent;border:none;color:#d1d1d1;cursor:pointer;padding:6px 8px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0;opacity:0}.conversation-item-wrapper:hover .delete-conversation-btn{opacity:1}.delete-conversation-btn:hover{background:transparent;color:#f44}.rename-conversation-btn{background:transparent;border:none;color:#d1d1d1;cursor:pointer;padding:6px 8px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0;opacity:0}.conversation-item-wrapper:hover .rename-conversation-btn{opacity:1}.rename-conversation-btn:hover{background:transparent;color:#49f}.delete-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:1000}.delete-modal{background:#2d2d2d;border:1px solid #404040;border-radius:8px;padding:24px;max-width:320px;box-shadow:0 10px 40px #00000080}.delete-modal h4{color:#ececec;margin:0 0 12px;font-size:16px}.delete-modal p{color:#d1d1d1;margin:0 0 20px;font-size:14px;line-height:1.5}.rename-input{width:100%;background:#1a1a1a;border:1px solid #404040;color:#ececec;padding:10px 12px;border-radius:6px;font-size:14px;margin-bottom:20px;box-sizing:border-box;transition:all .2s}.rename-input:focus{outline:none;border-color:#49f;box-shadow:0 0 0 3px #4499ff1a}.modal-buttons{display:flex;gap:12px;justify-content:flex-end}.modal-btn{padding:10px 16px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s;border:none}.btn-delete{background:#ff4444;color:#fff}.btn-delete:hover{background:#ff2222}.btn-rename{background:#4499ff;color:#fff}.btn-rename:hover{background:#2277ff}.btn-cancel{background:#ffffff;color:#1a1a1a}.btn-cancel:hover{background:#f0f0f0}.chat-window{flex:1;display:flex;flex-direction:column;background:#0f0f0f;height:100vh}.messages-container{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:16px}.welcome-message{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#888}.welcome-message h1{font-size:32px;margin-bottom:12px;color:#ececec}.welcome-message p{font-size:16px}.message{display:flex;justify-content:flex-start;animation:slideIn .3s ease-in-out}.message-user{justify-content:flex-end}.message-assistant{justify-content:flex-start}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-content{max-width:60%;padding:12px 16px;border-radius:12px;word-wrap:break-word;line-height:1.5}.message-user .message-content{background:#10a37f;color:#fff;border-bottom-right-radius:4px}.message-assistant .message-content{background:#2d2d2d;color:#ececec;border-bottom-left-radius:4px}.message-content.loading{display:flex;gap:6px;align-items:center;padding:16px}.message-content.loading span{width:8px;height:8px;background:#ececec;border-radius:50%;animation:bounce 1.4s infinite}.message-content.loading span:nth-child(2){animation-delay:.2s}.message-content.loading span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,80%,to{opacity:.3}40%{opacity:1}}.input-area{padding:24px;border-top:1px solid #2d2d2d;background:#0f0f0f}.input-wrapper{display:flex;gap:12px;margin-bottom:12px}.message-input{flex:1;background:#2d2d2d;border:1px solid #404040;color:#ececec;padding:12px 16px;border-radius:6px;font-size:14px;font-family:inherit;resize:none;max-height:120px;transition:all .2s}.message-input:focus{outline:none;border-color:#10a37f;background:#383838}.message-input:disabled{opacity:.5;cursor:not-allowed}.send-btn{background:#10a37f;border:none;color:#fff;padding:12px 24px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s;min-width:80px}.send-btn:hover:not(:disabled){background:#0d8c6f}.send-btn:disabled{opacity:.5;cursor:not-allowed}.guest-notice{background:#2d2d2d;border:1px solid #404040;padding:12px 16px;border-radius:6px;display:flex;justify-content:space-between;align-items:center;gap:12px}.guest-notice p{font-size:13px;color:#d1d1d1;flex:1}.login-link{background:transparent;border:1px solid #10a37f;color:#10a37f;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:12px;font-weight:600;transition:all .2s;white-space:nowrap}.login-link:hover{background:#10a37f;color:#fff}.messages-container::-webkit-scrollbar{width:6px}.messages-container::-webkit-scrollbar-track{background:transparent}.messages-container::-webkit-scrollbar-thumb{background:#404040;border-radius:3px}.messages-container::-webkit-scrollbar-thumb:hover{background:#505050}.app{display:flex;height:100vh;width:100%;background:#0f0f0f}*{margin:0;padding:0;box-sizing:border-box}body{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:#ececec}html,body,#root{height:100%;width:100%}
