:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#ffffffde;background-color:#0d1117;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;display:block;min-width:320px;min-height:100vh}#root{width:100%;margin:0;padding:0;text-align:center}.layout{display:flex;height:100vh;width:100%;overflow:hidden;position:relative}.sidebar{width:280px;flex-shrink:0;background:rgba(22,27,34,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-right:1px solid #30363d;display:flex;flex-direction:column;padding:1.5rem;text-align:left;transition:transform .3s ease;z-index:100}.sidebar h2{font-size:1rem;color:#8b949e;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1.5rem}.stat-card{background:#161b22;border:1px solid #30363d;border-radius:12px;padding:1rem;margin-bottom:1rem}.stat-card .label{font-size:.8rem;color:#8b949e}.stat-card .value{font-size:1.25rem;font-weight:700;color:#58a6ff;margin-top:4px}.chat-container{flex:1;display:flex;flex-direction:column;background:#0d1117;overflow:hidden;position:relative}.chat-header{padding:1rem 1.5rem;background:rgba(22,27,34,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid #30363d;display:flex;align-items:center;gap:12px;min-height:70px}.chat-header h1{margin:0;font-size:1.1rem;background:linear-gradient(90deg,#00d2ff 0%,#3a7bd5 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.messages{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.message{max-width:85%;padding:.75rem 1rem;border-radius:12px;line-height:1.4;font-size:.95rem;animation:fadeIn .3s ease;word-wrap:break-word}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.user{align-self:flex-end;background:#238636;color:#fff;border-bottom-right-radius:2px}.message.bot{align-self:flex-start;background:#21262d;color:#c9d1d9;border-bottom-left-radius:2px;border:1px solid #30363d}.chat-input{padding:1.5rem;background:#0d1117;border-top:1px solid #30363d;display:flex;gap:10px}input{flex:1;background:#161b22;border:1px solid #30363d;border-radius:8px;padding:.75rem 1rem;color:#fff;outline:none;transition:border-color .2s;font-size:1rem}input:focus{border-color:#58a6ff}button{background:#238636;color:#fff;border:none;border-radius:8px;padding:.75rem 1.5rem;cursor:pointer;font-weight:600;transition:background .2s}button:hover:not(:disabled){background:#2ea043}.mobile-menu-btn{display:none}@media (max-width: 768px){.mobile-menu-btn{display:flex;align-items:center;justify-content:center}.mobile-only{display:block!important}.sidebar{position:absolute;left:0;top:0;bottom:0;transform:translate(-100%);box-shadow:10px 0 30px #00000080}.sidebar.show{transform:translate(0)}.message{max-width:90%}.chat-header{padding:.75rem 1rem}.chat-input{padding:1rem}}@media (max-width: 480px){.stat-grid{grid-template-columns:1fr!important}.chat-header h1{font-size:1rem}.chat-header .user-info{display:none}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeInModal .2s ease-out}.modal-content{background:#161b22;padding:2rem;border-radius:16px;border:1px solid #30363d;width:90%;max-width:500px;position:relative;animation:slideUpModal .3s ease-out}@keyframes fadeInModal{0%{opacity:0}to{opacity:1}}@keyframes slideUpModal{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.auth-container{width:90%;max-width:400px;margin:2rem auto;padding:2rem;background:#161b22;border-radius:16px;border:1px solid #30363d;text-align:left}.auth-container input,.modal-content select{width:100%;background:#0d1117!important;border:1px solid #30363d!important;color:#fff;padding:.75rem;border-radius:8px;margin-bottom:.5rem;box-sizing:border-box}.dot{animation:bounce 1.4s infinite ease-in-out}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}
