@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap";:root{--font-family:"Inter", sans-serif;--bg-color:#f7f9f7;--text-primary:#2d3748;--text-secondary:#718096;--sage-green:#90b494;--sage-light:#c1d3c4;--soft-blue:#a3bdeb;--warm-peach:#f9d8c4;--glass-bg:#ffffffb3;--glass-border:#ffffff80;--glass-shadow:0 8px 32px 0 #90b49426}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-color);color:var(--text-primary);height:100vh;position:relative;overflow:hidden}.bg-animation{z-index:-1;background:linear-gradient(135deg,#f7f9f7 0%,#e2ece4 100%);width:100vw;height:100vh;position:fixed;top:0;left:0;overflow:hidden}.orb{filter:blur(80px);opacity:.6;border-radius:50%;animation:20s ease-in-out infinite alternate float;position:absolute}.orb-1{background:var(--sage-light);width:60vw;height:60vw;animation-delay:0s;top:-10vw;left:-10vw}.orb-2{background:var(--soft-blue);width:50vw;height:50vw;animation-duration:25s;animation-delay:-5s;bottom:-10vw;right:-5vw}.orb-3{background:var(--warm-peach);opacity:.4;width:40vw;height:40vw;animation-duration:30s;animation-delay:-10s;top:40vh;left:20vw}@keyframes float{0%{transform:translate(0)scale(1)}33%{transform:translate(5vw,5vh)scale(1.05)}66%{transform:translate(-2vw,8vh)scale(.95)}to{transform:translate(-5vw,-2vh)scale(1)}}#root{width:100vw;height:100vh;display:flex}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.flex{display:flex}.flex-col{flex-direction:column;display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.flex-1{flex:1}.btn{background:var(--sage-green);color:#fff;cursor:pointer;border:none;border-radius:.5rem;align-items:center;gap:.5rem;padding:.75rem 1rem;font-family:inherit;font-weight:500;transition:all .2s;display:flex}.btn:hover{background:#7ca380;transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-icon{color:var(--text-secondary);background:0 0;border-radius:50%;padding:.5rem}.btn-icon:hover{color:var(--text-primary);background:#0000000d}input,textarea{background:#fffc;border:1px solid #0000001a;border-radius:.5rem;outline:none;padding:.75rem;font-family:inherit;transition:border-color .2s}input:focus,textarea:focus{border-color:var(--sage-green)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#0000001a;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#0003}.app-container{z-index:1;gap:1.5rem;width:100vw;height:100vh;padding:1.5rem;display:flex;position:relative}.sidebar{border-radius:1rem;flex-direction:column;width:320px;display:flex;position:relative;overflow:hidden}.sidebar-header{border-bottom:1px solid var(--glass-border);justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.sidebar-header h1{color:var(--sage-green);font-size:1.25rem;font-weight:600}.session-list{flex-direction:column;flex:1;gap:.5rem;padding:1rem;display:flex;overflow-y:auto}.session-item{cursor:pointer;border-radius:.5rem;flex-direction:column;gap:.25rem;padding:.75rem 1rem;transition:background .2s;display:flex}.session-item:hover{background:#ffffff80}.session-item.active{background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:0 2px 8px #0000000d}.session-title{white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:500;overflow:hidden}.session-date{color:var(--text-secondary);font-size:.75rem}.main-chat{border-radius:1rem;flex-direction:column;flex:1;display:flex;overflow:hidden}.chat-header{border-bottom:1px solid var(--glass-border);justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.chat-header h2{font-size:1.15rem;font-weight:500}.messages-container{flex-direction:column;flex:1;gap:1rem;padding:1.5rem;display:flex;overflow-y:auto}.message{border-radius:1rem;max-width:75%;padding:1rem 1.25rem;font-size:.95rem;line-height:1.5;animation:.3s fadeIn;position:relative}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.user{background:var(--sage-green);color:#fff;border-bottom-right-radius:.25rem;align-self:flex-end}.message.assistant{border:1px solid var(--glass-border);color:var(--text-primary);background:#fffc;border-bottom-left-radius:.25rem;align-self:flex-start}.chat-input-area{border-top:1px solid var(--glass-border);align-items:flex-end;gap:1rem;padding:1.5rem;display:flex}.chat-input-area textarea{resize:none;background:#ffffffe6;border-radius:1rem;flex:1;max-height:150px;padding:1rem}.chat-input-area .btn{border-radius:50%;justify-content:center;width:3.5rem;height:3.5rem;padding:0}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;background:#0003;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.settings-modal{border-radius:1rem;flex-direction:column;gap:1.5rem;width:400px;padding:2rem;display:flex}.settings-modal h2{margin-bottom:.5rem;font-size:1.25rem}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{color:var(--text-secondary);font-size:.85rem;font-weight:500}.form-group input{width:100%}.modal-actions{justify-content:flex-end;gap:1rem;margin-top:1rem;display:flex}.btn-secondary{color:var(--text-primary);border:1px solid var(--glass-border);background:0 0}.btn-secondary:hover{background:#0000000d}.empty-state{text-align:center;color:var(--text-secondary);opacity:.7;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.empty-state svg{color:var(--sage-green);margin-bottom:1rem}.typing-indicator{background:#ffffff80;border-radius:1rem;align-self:flex-start;gap:.3rem;margin-bottom:1rem;padding:.5rem 1rem;display:flex}.typing-dot{background:var(--sage-green);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite both bounce}.typing-dot:first-child{animation-delay:-.32s}.typing-dot:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.app-logo{object-fit:cover;border-radius:50%;width:90px;height:90px}.app-logo-large{object-fit:cover;opacity:.9;border-radius:50%;width:64px;height:64px}
