@import"https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap";:root{--md-sys-color-primary: #0A56D1;--md-sys-color-on-primary: #FFFFFF;--md-sys-color-primary-container: #D3E3FD;--md-sys-color-on-primary-container: #041E49;--md-sys-color-secondary: #0F5223;--md-sys-color-secondary-container: #C4EED0;--md-sys-color-on-secondary-container: #00210A;--md-sys-color-surface: #F8F9FA;--md-sys-color-surface-container-lowest: #FFFFFF;--md-sys-color-surface-container-low: #F3F4F8;--md-sys-color-surface-container: #ECEEF4;--md-sys-color-surface-container-high: #E6E8EE;--md-sys-color-on-surface: #191C20;--md-sys-color-on-surface-variant: #44474E;--md-sys-color-outline: #74777F;--md-sys-color-outline-variant: #C4C6D0;--md-sys-elevation-1: 0px 1px 2px 0px rgba(0, 0, 0, .3), 0px 1px 3px 1px rgba(0, 0, 0, .15);--md-sys-elevation-2: 0px 1px 2px 0px rgba(0, 0, 0, .3), 0px 2px 6px 2px rgba(0, 0, 0, .15);--md-sys-elevation-3: 0px 1px 3px 0px rgba(0, 0, 0, .3), 0px 4px 8px 3px rgba(0, 0, 0, .15);--md-sys-shape-corner-extra-large: 28px;--md-sys-shape-corner-large: 16px;--md-sys-shape-corner-medium: 12px;--md-sys-shape-corner-small: 8px;--md-sys-shape-corner-pill: 9999px}body{margin:0;padding:0;font-family:Roboto,system-ui,sans-serif;background-color:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface);height:100vh;display:flex;overflow:hidden}.app-container{display:flex;width:100vw;height:100vh;background-color:var(--md-sys-color-surface)}.md3-nav-drawer{width:300px;background-color:var(--md-sys-color-surface-container-low);padding:12px;display:flex;flex-direction:column;gap:8px;border-radius:0 var(--md-sys-shape-corner-large) var(--md-sys-shape-corner-large) 0}.md3-profile-section{display:flex;align-items:center;padding:16px;gap:16px;margin-bottom:12px}.md3-avatar-wrapper{position:relative;display:inline-block}.md3-avatar{background-color:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);width:48px;height:48px;border-radius:var(--md-sys-shape-corner-pill);display:flex;align-items:center;justify-content:center;font-size:24px}.md3-status-dot{position:absolute;bottom:0;right:0;width:14px;height:14px;background-color:var(--md-sys-color-secondary);border:2px solid var(--md-sys-color-surface-container-low);border-radius:var(--md-sys-shape-corner-pill)}.md3-nav-btn{display:flex;align-items:center;gap:12px;padding:0 16px;height:56px;border-radius:var(--md-sys-shape-corner-pill);background:transparent;border:none;font-family:inherit;font-size:14px;font-weight:500;color:var(--md-sys-color-on-surface-variant);cursor:pointer;transition:background-color .2s,color .2s;text-align:left}.md3-nav-btn:hover{background-color:#191c2014}.md3-nav-btn.active{background-color:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.md3-main-content{flex:1;display:flex;flex-direction:column;background-color:var(--md-sys-color-surface);border-radius:var(--md-sys-shape-corner-extra-large) 0 0 var(--md-sys-shape-corner-extra-large);margin:12px 12px 12px 0;overflow:hidden;box-shadow:var(--md-sys-elevation-1);background-color:var(--md-sys-color-surface-container-lowest)}.md3-top-app-bar{height:64px;display:flex;align-items:center;padding:0 16px;border-bottom:1px solid var(--md-sys-color-surface-container-high)}.md3-chat-history{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:8px}.md3-msg-wrapper{display:flex;flex-direction:column;max-width:75%}.md3-msg-wrapper.user{align-self:flex-end}.md3-msg-wrapper.assistant{align-self:flex-start}.md3-msg-label{font-size:12px;color:var(--md-sys-color-on-surface-variant);margin-bottom:4px;margin-left:12px;margin-right:12px}.md3-msg-wrapper.user .md3-msg-label{text-align:right}.md3-msg-bubble{padding:12px 16px;font-size:15px;line-height:1.5;box-shadow:0 1px 2px #0000000d}.md3-msg-wrapper.user .md3-msg-bubble{background-color:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);border-radius:var(--md-sys-shape-corner-extra-large) var(--md-sys-shape-corner-medium) var(--md-sys-shape-corner-small) var(--md-sys-shape-corner-extra-large)}.md3-msg-wrapper.assistant .md3-msg-bubble{background-color:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface);border-radius:var(--md-sys-shape-corner-medium) var(--md-sys-shape-corner-extra-large) var(--md-sys-shape-corner-extra-large) var(--md-sys-shape-corner-small)}.md3-input-area{padding:16px 24px;background-color:var(--md-sys-color-surface-container-lowest)}.md3-input-field{display:flex;align-items:center;background-color:var(--md-sys-color-surface-container-high);border-radius:var(--md-sys-shape-corner-pill);padding:8px 8px 8px 24px;gap:8px}.md3-input-field input,.md3-input-field textarea{flex:1;border:none;background:transparent;outline:none;font-family:inherit;font-size:16px;color:var(--md-sys-color-on-surface);resize:none;min-height:24px}.md3-input-field input::placeholder{color:var(--md-sys-color-on-surface-variant)}.md3-fab{width:40px;height:40px;border-radius:var(--md-sys-shape-corner-pill);background-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:box-shadow .2s;box-shadow:var(--md-sys-elevation-1)}.md3-fab:hover:not(:disabled){box-shadow:var(--md-sys-elevation-2)}.md3-fab:disabled{background-color:#191c201f;color:#191c2061;box-shadow:none;cursor:not-allowed}.md3-login-bg{display:flex;align-items:center;justify-content:center;height:100vh;background-color:var(--md-sys-color-surface-container-low)}.md3-card{background-color:var(--md-sys-color-surface-container-lowest);padding:32px;border-radius:var(--md-sys-shape-corner-extra-large);box-shadow:var(--md-sys-elevation-2);width:100%;max-width:400px;text-align:center}.md3-text-field{position:relative;margin-bottom:24px;text-align:left}.md3-text-field label{display:block;font-size:12px;color:var(--md-sys-color-on-surface-variant);margin-bottom:4px;margin-left:16px}.md3-text-field input{width:100%;box-sizing:border-box;padding:16px;border:1px solid var(--md-sys-color-outline);border-radius:var(--md-sys-shape-corner-small);font-size:16px;font-family:inherit;background-color:transparent;color:var(--md-sys-color-on-surface);transition:border-color .2s}.md3-text-field input:focus{outline:none;border-color:var(--md-sys-color-primary);border-width:2px;padding:15px}.md3-button-filled{background-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border:none;border-radius:var(--md-sys-shape-corner-pill);padding:12px 24px;font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;transition:box-shadow .2s,background-color .2s;box-shadow:var(--md-sys-elevation-1);width:100%}.md3-button-filled:hover{box-shadow:var(--md-sys-elevation-2)}.md3-button-filled:disabled{background-color:#191c201f;color:#191c2061;box-shadow:none;cursor:not-allowed}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-pill)}::-webkit-scrollbar-thumb:hover{background-color:var(--md-sys-color-outline)}.md3-main-content h2,.md3-main-content h3{color:var(--md-sys-color-on-surface);margin-top:0;font-weight:500}.tool-panel,.md3-card-outlined{background-color:var(--md-sys-color-surface-container-low);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-large);padding:24px;margin-bottom:24px}.tool-header,.panel-header{font-size:20px;font-weight:500;margin-bottom:16px;display:flex;align-items:center;gap:8px;color:var(--md-sys-color-on-surface)}.tool-input,select,input[type=text],input[type=password]{background-color:var(--md-sys-color-surface-container-lowest);border:1px solid var(--md-sys-color-outline);border-radius:var(--md-sys-shape-corner-small);padding:12px 16px;font-family:inherit;font-size:14px;color:var(--md-sys-color-on-surface);transition:border-color .2s}.tool-input:focus,select:focus,input:focus{outline:none;border-color:var(--md-sys-color-primary);box-shadow:0 0 0 1px var(--md-sys-color-primary)}.tool-btn,.btn{background-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border:none;border-radius:var(--md-sys-shape-corner-pill);padding:10px 24px;font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;transition:box-shadow .2s,background-color .2s}.tool-btn:hover,.btn:hover{box-shadow:var(--md-sys-elevation-1)}.tool-btn.secondary{background-color:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.memory-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-top:16px}.memory-card{background-color:var(--md-sys-color-surface-container);border-radius:var(--md-sys-shape-corner-medium);padding:16px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--md-sys-elevation-1)}.memory-card-header{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--md-sys-color-on-surface-variant)}.memory-category{background-color:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);padding:4px 8px;border-radius:var(--md-sys-shape-corner-small);font-weight:500;text-transform:capitalize}.memory-content{font-size:14px;line-height:1.5;color:var(--md-sys-color-on-surface);margin:0;flex:1}.memory-card-footer{display:flex;justify-content:space-between;align-items:center;font-size:12px;border-top:1px solid var(--md-sys-color-outline-variant);padding-top:12px}.memory-delete{background:transparent;border:none;color:#ba1a1a;cursor:pointer;font-family:inherit;font-weight:500;padding:4px 8px;border-radius:4px}.memory-delete:hover{background-color:#ba1a1a14}.category-btn{background:transparent;border:1px solid var(--md-sys-color-outline);color:var(--md-sys-color-on-surface-variant);padding:6px 16px;border-radius:var(--md-sys-shape-corner-pill);font-size:13px;cursor:pointer;transition:all .2s;text-transform:capitalize}.category-btn:hover{background-color:var(--md-sys-color-surface-container-high)}.category-btn.active{background-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border-color:var(--md-sys-color-primary)}.profile-stats{display:flex;gap:16px;margin-bottom:24px;flex-wrap:wrap}.stat-box{background-color:var(--md-sys-color-surface-container);padding:16px 24px;border-radius:var(--md-sys-shape-corner-medium);display:flex;flex-direction:column;align-items:center;gap:8px;min-width:120px}.stat-value{font-size:24px;font-weight:700;color:var(--md-sys-color-primary)}.stat-label{font-size:12px;color:var(--md-sys-color-on-surface-variant);text-transform:uppercase;letter-spacing:.5px}
