#app{width:100%;height:100vh;overflow:hidden}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--primary: #3390EC;--primary-dark: #267DD8;--primary-light: #E6F2FF;--primary-gradient: linear-gradient(135deg, #3390EC 0%, #267DD8 100%);--success: #4DC271;--warning: #F5A623;--danger: #FF3B30;--info: #3390EC;--bg-primary: #F5F7FA;--bg-secondary: #FFFFFF;--bg-chat: #E6F2FF;--bg-sidebar: #FFFFFF;--bg-hover: #F0F2F5;--bg-active: #E6F2FF;--text-primary: #1E1F23;--text-secondary: #6B7B89;--text-muted: #9EAAB4;--text-inverse: #FFFFFF;--border-color: #E5E6EB;--border-light: #F0F2F5;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .15);--shadow-xl: 0 4px 12px rgba(0, 0, 0, .08);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--sidebar-width: 360px;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--bubble-own: #EEFFDE;--bubble-other: #FFFFFF;--bubble-own-text: #1E1F23}html,body{height:100%;font-family:var(--font-family);font-size:14px;color:var(--text-primary);background-color:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary-dark)}button{cursor:pointer;border:none;outline:none;font-family:inherit}input,textarea{font-family:inherit;outline:none;border:none}img{max-width:100%;display:block}ul,ol{list-style:none}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.flex-1{flex:1}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fade-enter-active,.fade-leave-active{transition:opacity .2s ease}.fade-enter-from,.fade-leave-to{opacity:0}.slide-enter-active,.slide-leave-active{transition:transform .3s ease}.slide-enter-from{transform:translate(100%)}.slide-leave-to{transform:translate(-100%)}
