body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{font-family:Arial,sans-serif;margin:0 auto;max-width:1200px;padding:0 20px}.App-header{background-color:#282c34;color:#fff;padding:20px;position:relative;text-align:center}.App-header h1{margin:0 0 20px}.App-header nav{display:flex;gap:10px;justify-content:center}.App-header button{background-color:#61dafb;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;padding:10px 20px}.App-header button.active{background-color:#21a3c4}main{padding:20px 0}.chat-container{margin:0 auto;max-width:800px}.messages{background-color:#f9f9f9;border:1px solid #ccc;height:400px;overflow-y:auto}.message,.messages{margin-bottom:10px;padding:10px}.message{border-radius:10px;max-width:70%}.message.user{background-color:#007bff;color:#fff;margin-left:auto;text-align:right}.message.ai{background-color:#e9ecef;color:#000}.message.loading{color:#666;font-style:italic}.chat-container form{display:flex;gap:10px}.chat-container input{border:1px solid #ccc;border-radius:5px;flex:1 1;font-size:16px;padding:10px}.chat-container button{background-color:#28a745;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;padding:10px 20px}.chat-container button:disabled{background-color:#ccc;cursor:not-allowed}.auth-section{position:absolute;right:20px;top:20px}.user-info{align-items:center;display:flex;gap:15px}.auth-btn{border:none;border-radius:5px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:background-color .3s}.login-btn{background-color:#4a76a8;color:#fff}.login-btn:hover{background-color:#3a5f87}.logout-btn{background-color:#dc3545;color:#fff}.logout-btn:hover{background-color:#c82333}@media (max-width:768px){.App{padding:0 10px}.auth-section{margin-top:15px;position:static}.user-info{justify-content:center}.message{max-width:90%}.chat-container form{flex-direction:column}}.auth-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.auth-card{background:#fff;border-radius:15px;box-shadow:0 15px 35px #0000001a;max-width:400px;padding:40px;text-align:center;width:100%}.auth-card h2{color:#333;font-size:28px;font-weight:600;margin-bottom:30px}.form-group{margin-bottom:20px;text-align:left}.form-group label{color:#555;display:block;font-weight:500;margin-bottom:5px}.form-group input{border:2px solid #e1e5e9;border-radius:8px;box-sizing:border-box;font-size:16px;padding:12px 15px;transition:border-color .3s ease;width:100%}.form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group input:disabled{background-color:#f8f9fa;cursor:not-allowed}button[type=submit]{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:10px;padding:14px;transition:transform .2s ease,box-shadow .2s ease;width:100%}button[type=submit]:hover:not(:disabled){box-shadow:0 5px 15px #667eea66;transform:translateY(-2px)}button[type=submit]:disabled{cursor:not-allowed;opacity:.7;transform:none}.auth-links{display:flex;gap:10px;justify-content:space-between;margin-top:20px}.auth-links button{background:none;border:none;color:#667eea;cursor:pointer;font-size:14px;padding:5px;text-decoration:underline;transition:color .3s ease}.auth-links button:hover:not(:disabled){color:#764ba2}.auth-links button:disabled{color:#ccc;cursor:not-allowed;text-decoration:none}.auth-message{border-radius:8px;font-weight:500;margin-bottom:20px;padding:12px 15px;text-align:center}.auth-message.success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.auth-message.error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.auth-message.info{background-color:#d1ecf1;border:1px solid #bee5eb;color:#0c5460}.auth-card p{color:#666;line-height:1.5;margin-bottom:20px}@media (max-width:480px){.auth-container{padding:10px}.auth-card{padding:30px 20px}.auth-card h2{font-size:24px}.auth-links{flex-direction:column}.auth-links button{font-size:16px;padding:10px}}