*{margin:0;padding:0;box-sizing:border-box}:root{--sidebar-bg: #171717;--sidebar-hover: #2a2a2a;--sidebar-active: #333;--main-bg: #ffffff;--user-msg-bg: #f7f7f8;--ai-msg-bg: #ffffff;--text-primary: #1a1a1a;--text-secondary: #666;--text-muted: #999;--border: #e5e5e5;--input-bg: #ffffff;--input-border: #e5e5e5;--accent: #10a37f;--accent-hover: #0d8c6d;--danger: #ef4444;--warning: #f59e0b;--radius: 12px;--sidebar-width: 280px}body{font-family:Söhne,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--main-bg);color:var(--text-primary);line-height:1.6;overflow:hidden;height:100vh}.loading-screen{display:flex;align-items:center;justify-content:center;height:100vh;font-size:1rem;color:var(--text-secondary)}.app{display:flex;height:100vh;width:100vw}.sidebar{width:var(--sidebar-width);background:var(--sidebar-bg);display:flex;flex-direction:column;flex-shrink:0;transition:width .3s,opacity .3s;z-index:20}.sidebar.collapsed{width:0;overflow:hidden;opacity:0}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.08)}.new-chat-btn{display:flex;align-items:center;gap:10px;padding:10px 14px;background:transparent;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#fff;font-size:.875rem;cursor:pointer;width:100%;transition:background .2s}.new-chat-btn:hover{background:var(--sidebar-hover)}.new-chat-icon{font-size:1.125rem}.sidebar-section-title{padding:12px 16px 6px;font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.chat-list{flex:1;overflow-y:auto;padding:0 8px}.chat-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;color:#ccc;font-size:.875rem;cursor:pointer;transition:background .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-item:hover{background:var(--sidebar-hover)}.chat-item.active{background:var(--sidebar-active);color:#fff}.chat-item-icon{font-size:1rem;flex-shrink:0}.sidebar-footer{padding:12px 16px;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:4px}.sidebar-footer-btn{display:flex;align-items:center;gap:10px;padding:10px 12px;background:transparent;border:none;border-radius:8px;color:#ccc;font-size:.875rem;cursor:pointer;transition:background .2s}.sidebar-footer-btn:hover{background:var(--sidebar-hover)}.sidebar-footer-btn.logout{color:var(--danger)}.sidebar-footer-user{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;color:#fff;font-size:.875rem}.user-avatar{width:28px;height:28px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;color:#fff;flex-shrink:0}.main-area{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--main-bg);position:relative}.top-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;border-bottom:1px solid var(--border);background:var(--main-bg);height:48px;flex-shrink:0}.toggle-sidebar-btn{background:none;border:none;font-size:1.25rem;cursor:pointer;color:var(--text-primary);padding:6px;border-radius:6px;transition:background .2s}.toggle-sidebar-btn:hover{background:#f0f0f0}.model-selector{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:8px;background:none;border:none;font-size:.875rem;font-weight:600;color:var(--text-primary);cursor:pointer}.model-selector:hover{background:#f0f0f0}.top-actions{display:flex;align-items:center;gap:6px}.top-btn{background:none;border:none;font-size:1.125rem;cursor:pointer;color:var(--text-secondary);padding:6px;border-radius:6px;transition:all .2s}.top-btn:hover{background:#f0f0f0;color:var(--text-primary)}.top-btn.danger:hover{background:#fef2f2;color:var(--danger)}.messages-container{flex:1;overflow-y:auto;scroll-behavior:smooth;padding-bottom:20px}.welcome-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:2rem;text-align:center}.welcome-logo{font-size:3rem;margin-bottom:1rem;opacity:.8}.welcome-screen h2{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.welcome-screen p{color:var(--text-secondary);font-size:1rem;margin-bottom:2rem;max-width:500px}.suggestions{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:600px;width:100%}.suggestion-card{padding:14px 16px;background:#f7f7f8;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:left;transition:background .2s}.suggestion-card:hover{background:#ececec}.suggestion-card .title{font-size:.875rem;font-weight:500;color:var(--text-primary);margin-bottom:2px}.suggestion-card .subtitle{font-size:.75rem;color:var(--text-secondary)}.message-row{padding:24px 0;border-bottom:1px solid transparent}.message-row.user{background:var(--user-msg-bg)}.message-row.assistant{background:var(--ai-msg-bg)}.message-row.crisis{background:#fef2f2;border-left:3px solid var(--danger)}.message-inner{max-width:768px;margin:0 auto;padding:0 24px;display:flex;gap:16px}.message-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;flex-shrink:0;margin-top:2px}.message-row.user .message-avatar{background:var(--accent);color:#fff}.message-row.assistant .message-avatar{background:#10a37f;color:#fff}.message-content{flex:1;min-width:0}.message-label{font-size:.875rem;font-weight:600;margin-bottom:4px;color:var(--text-primary)}.message-text{font-size:.9375rem;line-height:1.7;color:var(--text-primary);white-space:pre-wrap;word-break:break-word}.message-row.error .message-text{color:var(--danger)}.typing-dots{display:flex;gap:4px;padding:4px 0}.typing-dots span{width:8px;height:8px;background:var(--text-muted);border-radius:50%;animation:typing-bounce 1.4s infinite ease-in-out}.typing-dots span:nth-child(1){animation-delay:-.32s}.typing-dots span:nth-child(2){animation-delay:-.16s}@keyframes typing-bounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.input-area{padding:0 24px 24px;background:linear-gradient(180deg,transparent 0%,var(--main-bg) 20%);position:relative}.input-wrapper{max-width:768px;margin:0 auto;position:relative}.input-box{position:relative;background:#f7f7f8;border:1px solid transparent;border-radius:16px;transition:border-color .2s,background .2s}.input-box:focus-within{border-color:var(--border);background:#fff}.input-box textarea{width:100%;padding:14px 56px 14px 20px;border:none;outline:none;font-size:.9375rem;font-family:inherit;line-height:1.5;resize:none;max-height:200px;background:transparent;color:var(--text-primary);overflow-y:auto}.input-box textarea::-webkit-scrollbar{width:4px}.input-box textarea::-webkit-scrollbar-thumb{background:#ccc;border-radius:2px}.input-box textarea::placeholder{color:var(--text-muted)}.send-btn{position:absolute;right:10px;bottom:10px;width:32px;height:32px;border-radius:10px;background:var(--accent);border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,opacity .2s,transform .15s;padding:0}.send-btn:hover:not(:disabled){background:var(--accent-hover);transform:scale(1.05)}.send-btn:active:not(:disabled){transform:scale(.95)}.send-btn:disabled{background:#d4d4d4;color:#a3a3a3;cursor:not-allowed;box-shadow:none;transform:none}.input-disclaimer{text-align:center;font-size:.6875rem;color:var(--text-muted);margin-top:10px;line-height:1.4}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.modal{background:#fff;border-radius:var(--radius);box-shadow:0 8px 32px #00000026;width:100%;max-width:600px;max-height:80vh;overflow-y:auto}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-header h2{font-size:1.125rem}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary);padding:4px 8px;border-radius:6px}.modal-close:hover{background:#f0f0f0}.modal-body{padding:20px}.modal-body p{margin-bottom:12px;line-height:1.7}.meta{font-size:.8125rem;color:var(--text-secondary)}.tools-panel{position:fixed;right:0;top:0;bottom:0;width:380px;max-width:100%;background:#fff;box-shadow:-4px 0 20px #0000001a;display:flex;flex-direction:column;z-index:50;transition:transform .3s}.tools-panel.hidden{transform:translate(100%)}.tools-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.tools-header h3{font-size:1rem}.tools-tabs{display:flex;border-bottom:1px solid var(--border)}.tools-tab{flex:1;padding:12px;border:none;background:none;font-size:.8125rem;font-weight:500;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;transition:all .2s}.tools-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.tools-body{flex:1;overflow-y:auto;padding:20px}.tool-form{display:flex;flex-direction:column;gap:14px}.tool-form h4{font-size:.9375rem;margin-bottom:4px}.form-field{display:flex;flex-direction:column;gap:4px}.form-field label{font-size:.8125rem;font-weight:500;color:var(--text-secondary)}.form-field input,.form-field textarea{padding:10px 12px;border:1px solid var(--input-border);border-radius:8px;font-size:.875rem;font-family:inherit;transition:border-color .2s}.form-field input:focus,.form-field textarea:focus{outline:none;border-color:var(--accent)}.form-field textarea{resize:vertical;min-height:60px}.tool-submit{padding:10px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s}.tool-submit:hover{background:var(--accent-hover)}.tool-msg{margin-top:8px;padding:10px 12px;border-radius:8px;font-size:.8125rem}.tool-msg.success{background:#f0fdf4;color:#15803d}.tool-msg.error{background:#fef2f2;color:var(--danger)}.messages-container::-webkit-scrollbar,.chat-list::-webkit-scrollbar,.tools-body::-webkit-scrollbar{width:6px}.messages-container::-webkit-scrollbar-thumb,.chat-list::-webkit-scrollbar-thumb,.tools-body::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.messages-container::-webkit-scrollbar-thumb:hover,.chat-list::-webkit-scrollbar-thumb:hover{background:#aaa}.auth-page{display:flex;min-height:100vh;width:100%;background:var(--main-bg)}.auth-left{flex:1;background:linear-gradient(160deg,#0d9488,#0f766e,#115e59 60%,#134e4a);color:#fff;display:flex;flex-direction:column;padding:2.5rem;position:relative;overflow:hidden}.auth-left:before{content:"";position:absolute;top:-20%;right:-10%;width:400px;height:400px;background:#ffffff0a;border-radius:50%;pointer-events:none}.auth-left:after{content:"";position:absolute;bottom:-15%;left:20%;width:300px;height:300px;background:#ffffff08;border-radius:50%;pointer-events:none}.auth-left-content{flex:1;display:flex;flex-direction:column;justify-content:center;max-width:520px;position:relative;z-index:1}.auth-brand-icon{font-size:3rem;margin-bottom:1.5rem}.auth-left h1{font-size:2.25rem;font-weight:700;color:#fff;margin-bottom:1rem;line-height:1.2}.auth-left>.auth-left-content>p{font-size:1.0625rem;line-height:1.7;color:#ffffffd9;margin-bottom:2.5rem}.auth-features{display:flex;flex-direction:column;gap:1.25rem}.auth-feature{display:flex;align-items:flex-start;gap:1rem}.auth-feature-icon{width:44px;height:44px;border-radius:12px;background:#ffffff1f;display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.auth-feature strong{display:block;font-size:.9375rem;color:#fff;margin-bottom:2px}.auth-feature p{font-size:.8125rem;color:#ffffffb3;margin:0}.auth-left-footer{position:relative;z-index:1;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.15)}.auth-left-footer p{font-size:.75rem;color:#ffffff80}.auth-right{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem;max-width:500px}.auth-form-card{width:100%;max-width:400px}.auth-form-header{margin-bottom:2rem}.auth-form-header h2{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.auth-form-header p{font-size:.9375rem;color:var(--text-secondary)}.auth-form-body{display:flex;flex-direction:column;gap:1.25rem}.error-message{background:#fef2f2;color:var(--danger);padding:12px 14px;border-radius:10px;font-size:.8125rem;border:1px solid #fecaca}.form-field{display:flex;flex-direction:column;gap:6px}.form-field label{font-size:.8125rem;font-weight:600;color:var(--text-primary)}.optional{font-weight:400;color:var(--text-muted)}.form-field input{padding:12px 14px;border:1px solid var(--input-border);border-radius:10px;font-size:.9375rem;font-family:inherit;transition:all .2s;background:#fff}.form-field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #10a37f1a}.form-field input::placeholder{color:var(--text-muted)}.form-field textarea{padding:12px 14px;border:1px solid var(--input-border);border-radius:10px;font-size:.9375rem;font-family:inherit;transition:all .2s;resize:vertical}.form-field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #10a37f1a}.auth-submit{padding:14px;background:var(--accent);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;margin-top:.5rem}.auth-submit:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 4px 12px #10a37f4d}.auth-submit:disabled{opacity:.5;cursor:not-allowed}.loading-spinner{display:inline-flex;align-items:center;gap:8px}.auth-switch{margin-top:2rem;text-align:center}.auth-switch p{font-size:.875rem;color:var(--text-secondary)}.auth-switch button{background:none;border:none;color:var(--accent);font-weight:600;cursor:pointer;font-size:.875rem;text-decoration:none}.auth-switch button:hover{text-decoration:underline}@media (max-width: 900px){.auth-left{display:none}.auth-right{max-width:100%;padding:1.5rem}.auth-form-card{max-width:400px}}@media (max-width: 768px){.sidebar{position:fixed;left:0;top:0;bottom:0;z-index:100}.sidebar.collapsed{width:0}.suggestions{grid-template-columns:1fr}.message-inner{padding:0 16px}.input-area{padding:12px 16px 16px}.tools-panel{width:100%}}
