.header{background-color:var(--bg-surface);border-bottom:1px solid var(--border);height:var(--header-height);left:0;position:fixed;right:0;top:0;z-index:100}.header-content{align-items:center;display:flex;height:100%;justify-content:space-between;max-width:100%;padding:0 var(--space-md)}.logo{font-size:var(--font-size-lg);font-weight:600;margin:0}.header-actions{align-items:center;display:flex;gap:var(--space-md)}.language-selector{background-color:var(--bg-dark);border:1px solid var(--border);border-radius:var(--border-radius);color:var(--text-primary);cursor:pointer;padding:var(--space-xs) var(--space-sm)}.username{color:var(--text-secondary)}.logout-btn,.username{font-size:var(--font-size-sm)}.logout-btn{padding:var(--space-xs) var(--space-md)}.sidebar{background-color:var(--bg-surface);border-right:1px solid var(--border);height:calc(100vh - var(--header-height));left:0;overflow-y:auto;padding:var(--space-md);position:fixed;top:var(--header-height);width:var(--sidebar-width)}.sidebar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-md)}.sidebar-title{font-size:var(--font-size-lg);font-weight:600}.new-chat-btn{font-size:var(--font-size-sm);padding:var(--space-xs) var(--space-sm)}.session-list{list-style:none;margin:0;padding:0}.session-item{align-items:center;border-radius:var(--border-radius);cursor:pointer;display:flex;justify-content:space-between;margin-bottom:var(--space-xs);padding:var(--space-sm);transition:background-color var(--transition-fast)}.session-item:hover{background-color:var(--bg-hover)}.session-item.active{background-color:#3a86ff33}.session-title{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.delete-session-btn{background-color:initial;color:var(--error);font-size:var(--font-size-sm);padding:var(--space-xs)}.delete-session-btn:hover{background-color:#ff45451a}.empty-sessions{color:var(--text-secondary);padding:var(--space-lg);text-align:center}@media (max-width:768px){.sidebar{border-bottom:1px solid var(--border);border-right:none;height:auto;position:relative;top:0;width:100%}.header-content{padding:0 var(--space-sm)}.logo{font-size:var(--font-size-base)}}.auth-container{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:var(--space-md)}.auth-form{background-color:var(--bg-surface);border:1px solid var(--border);border-radius:var(--border-radius);max-width:400px;padding:var(--space-xl);width:100%}.auth-form h1{font-size:var(--font-size-xl);margin-bottom:var(--space-lg);text-align:center}.form-field{margin-bottom:var(--space-md)}.form-field label{color:var(--text-secondary);display:block;font-size:var(--font-size-sm);margin-bottom:var(--space-xs)}.auth-form button[type=submit],.form-field input{font-size:var(--font-size-base);padding:var(--space-sm);width:100%}.auth-form button[type=submit],.auth-link{margin-top:var(--space-md)}.auth-link{color:var(--text-secondary);font-size:var(--font-size-sm);text-align:center}.auth-link a{color:var(--accent);text-decoration:none}.auth-link a:hover{text-decoration:underline}.auth-form .error-text,.auth-form .success-text{border-radius:var(--border-radius);margin-bottom:var(--space-md);padding:var(--space-sm);text-align:center}.auth-form .error-text{background-color:#ff45451a;border:1px solid var(--error)}.auth-form .success-text{background-color:#4caf501a;border:1px solid var(--success)}@media (max-width:480px){.auth-form{padding:var(--space-lg)}.auth-form h1{font-size:var(--font-size-lg)}}.chat-container{display:flex;height:100vh;padding-top:var(--header-height)}.chat-content{height:calc(100vh - var(--header-height));margin-left:var(--sidebar-width)}.chat-content,.chat-window{display:flex;flex:1 1;flex-direction:column}.chat-window{overflow-y:auto;padding:var(--space-md)}.messages{gap:var(--space-md)}.message,.messages{display:flex;flex-direction:column}.message{animation:fadeIn .3s ease;max-width:85%}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.user-message{align-self:flex-end}.ai-message{align-self:flex-start}.message-content{word-wrap:break-word;border-radius:var(--border-radius);line-height:1.5;overflow-wrap:break-word;padding:var(--space-md);white-space:pre-wrap}.user-message .message-content{background-color:#3a86ff33;border:1px solid #3a86ff4d}.ai-message .message-content{background-color:var(--bg-surface);border:1px solid var(--border)}.empty-chat{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;height:100%;justify-content:center;padding:var(--space-xl);text-align:center}.empty-chat p{font-size:var(--font-size-lg);margin:0}.loading-indicator{align-self:flex-start;display:flex;gap:var(--space-xs);padding:var(--space-md)}.dot{animation:pulse 1.4s ease-in-out infinite both;background-color:var(--text-secondary);border-radius:50%;height:8px;width:8px}.dot:first-child{animation-delay:-.32s}.dot:nth-child(2){animation-delay:-.16s}@keyframes pulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.chat-input-container{background-color:var(--bg-surface);border-top:1px solid var(--border);padding:var(--space-md)}.chat-input-form{display:flex;gap:var(--space-md);max-width:100%}.chat-input-form textarea{flex:1 1;font-family:var(--font-family);font-size:var(--font-size-base);max-height:200px;min-height:60px;padding:var(--space-sm);resize:none}.send-button{align-self:flex-end;padding:var(--space-sm) var(--space-lg);white-space:nowrap}@media (max-width:768px){.chat-content{margin-left:0}.message{max-width:95%}.chat-input-form{gap:var(--space-sm)}.send-button{padding:var(--space-sm)}}:root{--bg-dark:#121212;--bg-surface:#1e1e1e;--bg-hover:#2a2a2a;--text-primary:#e0e0e0;--text-secondary:#a0a0a0;--accent:#3a86ff;--accent-hover:#2d6fd4;--error:#ff4545;--success:#4caf50;--border:#333;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--header-height:56px;--sidebar-width:250px;--input-height:40px;--border-radius:4px;--font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-mono:source-code-pro,Menlo,Monaco,Consolas,"Courier New",monospace;--font-size-sm:14px;--font-size-base:16px;--font-size-lg:18px;--font-size-xl:24px;--transition-fast:150ms ease;--transition-normal:250ms ease}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-dark);color:var(--text-primary);font-family:var(--font-family);line-height:1.6}code{font-family:var(--font-mono)}a{color:var(--accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-hover);text-decoration:underline}button{background-color:var(--accent);border:none;border-radius:var(--border-radius);color:var(--text-primary);cursor:pointer;font-family:var(--font-family);font-size:var(--font-size-base);padding:var(--space-sm) var(--space-md);transition:background-color var(--transition-fast)}button:hover:not(:disabled){background-color:var(--accent-hover)}button:disabled{cursor:not-allowed;opacity:.5}button.secondary{background-color:var(--bg-surface);border:1px solid var(--border)}button.secondary:hover:not(:disabled){background-color:var(--bg-hover)}input,select,textarea{background-color:var(--bg-surface);border:1px solid var(--border);border-radius:var(--border-radius);color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-base);outline:none;padding:var(--space-sm);transition:border-color var(--transition-fast)}input:focus,select:focus,textarea:focus{border-color:var(--accent)}input::placeholder,textarea::placeholder{color:var(--text-secondary)}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:var(--bg-dark)}::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:var(--border-radius)}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.error-text{color:var(--error)}.error-text,.success-text{font-size:var(--font-size-sm);margin-top:var(--space-xs)}.success-text{color:var(--success)}.text-center{text-align:center}.text-secondary{color:var(--text-secondary)}
/*# sourceMappingURL=main.10a4678c.css.map*/