.chat-layout[data-v-27d9e9b6]{display:flex;height:100%;background:var(--bg-tertiary)}.chat-sidebar[data-v-27d9e9b6]{width:200px;background:var(--bg-primary);border-right:1px solid var(--border-secondary);display:flex;flex-direction:column;flex-shrink:0;box-shadow:var(--shadow-1)}.sidebar-header[data-v-27d9e9b6]{padding:var(--spacing-sm) var(--spacing-base);border-bottom:1px solid var(--border-secondary);display:flex;align-items:center;justify-content:space-between;background:var(--bg-primary);position:sticky;top:0;z-index:10}.sidebar-header h3[data-v-27d9e9b6]{margin:0;font-size:15px;font-weight:600;color:var(--text-primary)}.sidebar-content[data-v-27d9e9b6]{flex:1;overflow-y:auto;padding:var(--spacing-xs)}.conversation-groups[data-v-27d9e9b6]{padding:4px 0}.conversation-group[data-v-27d9e9b6]{margin-bottom:16px}.group-header[data-v-27d9e9b6]{padding:6px 12px;font-size:12px;color:#999;font-weight:500;background:#f5f5f5;border-radius:4px;margin-bottom:4px}.group-items[data-v-27d9e9b6]{padding:0 4px}.conversation-item[data-v-27d9e9b6]{position:relative;padding:10px 12px;margin:3px 0;border-radius:var(--radius-base);cursor:pointer;transition:all var(--transition-base);font-size:14px;color:var(--text-primary)}.conversation-title[data-v-27d9e9b6]{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.more-icon[data-v-27d9e9b6]{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:16px;color:#999;cursor:pointer;opacity:0;transition:all var(--transition-base);padding:4px;border-radius:4px;z-index:10;background:var(--bg-primary)}.conversation-active .more-icon[data-v-27d9e9b6],.conversation-item:hover .more-icon[data-v-27d9e9b6]{opacity:1}.more-icon[data-v-27d9e9b6]:hover{color:var(--primary-color);background:rgba(0,0,0,.05)}.conversation-item[data-v-27d9e9b6]:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:0;background:var(--primary-color);border-radius:0 2px 2px 0;transition:height var(--transition-base)}.conversation-item[data-v-27d9e9b6]:hover{background:var(--bg-secondary);transform:translateX(2px)}.conversation-item[data-v-27d9e9b6]:hover:before{height:20px}.conversation-item:hover .conversation-actions[data-v-27d9e9b6]{opacity:1}.conversation-active[data-v-27d9e9b6]{background:var(--primary-light)!important}.conversation-active[data-v-27d9e9b6]:before{height:40px}.conversation-active .conversation-actions[data-v-27d9e9b6]{opacity:1}.empty-conversations[data-v-27d9e9b6]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xxl) var(--spacing-base);color:var(--text-tertiary)}.empty-conversations p[data-v-27d9e9b6]{margin-top:var(--spacing-base);font-size:14px}.loading-conversations[data-v-27d9e9b6]{display:flex;align-items:center;justify-content:center;gap:8px;padding:var(--spacing-xxl) var(--spacing-base);color:var(--text-tertiary);font-size:14px}.more-menu-overlay[data-v-27d9e9b6]{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1000;background:transparent}.more-menu[data-v-27d9e9b6]{position:absolute;min-width:120px;background:#fff;border-radius:var(--radius-base);box-shadow:0 2px 8px rgba(0,0,0,.15);overflow:hidden}.menu-item[data-v-27d9e9b6]{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;transition:background var(--transition-base);font-size:14px;color:var(--text-primary)}.menu-item[data-v-27d9e9b6]:hover{background:var(--bg-secondary)}.menu-item.danger[data-v-27d9e9b6]{color:#ff4d4f}.menu-item.danger[data-v-27d9e9b6]:hover{background:#fff1f0}.menu-item .anticon[data-v-27d9e9b6]{font-size:16px}.chat-main[data-v-27d9e9b6]{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--bg-tertiary)}.messages-container[data-v-27d9e9b6]{flex:1;overflow-y:auto;padding:var(--spacing-md) var(--spacing-xl);scroll-behavior:smooth}.empty-state[data-v-27d9e9b6]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-tertiary)}.empty-text[data-v-27d9e9b6]{margin-top:var(--spacing-base);font-size:18px;font-weight:500;color:var(--text-primary)}.empty-hint[data-v-27d9e9b6]{margin-top:var(--spacing-sm);font-size:14px}.messages-list[data-v-27d9e9b6]{min-height:100px}.loading-message[data-v-27d9e9b6]{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-base);margin-bottom:var(--spacing-base);background:var(--bg-primary);border-radius:var(--radius-base);max-width:-moz-fit-content;max-width:fit-content;box-shadow:var(--shadow-1)}.loading-text[data-v-27d9e9b6]{color:var(--text-secondary);font-size:14px}.input-area[data-v-27d9e9b6]{flex-shrink:0;background:var(--bg-primary);border-top:1px solid var(--border-secondary);padding:var(--spacing-md) var(--spacing-xl);box-shadow:0 -2px 10px rgba(0,0,0,.02)}.knowledge-selector[data-v-27d9e9b6]{display:flex;align-items:center;margin-bottom:12px}.selector-label[data-v-27d9e9b6]{margin-right:var(--spacing-sm);color:var(--text-primary);font-weight:500;flex-shrink:0}.knowledge-select[data-v-27d9e9b6]{flex:1}.input-wrapper[data-v-27d9e9b6]{display:flex;gap:8px;align-items:flex-end}.input-wrapper[data-v-27d9e9b6] .ant-input{flex:1}.send-button[data-v-27d9e9b6]{height:auto;min-height:32px}.input-hint[data-v-27d9e9b6]{font-size:12px;color:#999;margin-top:8px;text-align:right}.chat-page[data-v-e74d99e6]{height:100%}.knowledge-page[data-v-105b468e]{min-height:100%}.document-list-card[data-v-105b468e],.knowledge-list-card[data-v-105b468e]{min-height:calc(100vh - 176px)!important;max-height:calc(100vh - 176px)!important;display:flex!important;flex-direction:column!important}.document-list-card[data-v-105b468e] .ant-card-body{padding:16px;height:calc(100vh - 232px)!important;overflow:hidden;display:flex;flex-direction:column}.knowledge-list-card[data-v-105b468e] .ant-card-body{padding:16px;flex:1;overflow-y:auto;min-height:0}.knowledge-list-card[data-v-105b468e] .ant-card-body::-webkit-scrollbar{width:6px}.knowledge-list-card[data-v-105b468e] .ant-card-body::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.knowledge-list-card[data-v-105b468e] .ant-card-body::-webkit-scrollbar-thumb{background:#888;border-radius:3px}.knowledge-list-card[data-v-105b468e] .ant-card-body::-webkit-scrollbar-thumb:hover{background:#555}.active-item[data-v-105b468e]{background:#e6f7ff;border-radius:4px}.empty-state[data-v-105b468e]{text-align:center;padding:48px 0;color:#999}.empty-state p[data-v-105b468e]{margin-top:16px}.user-list-container[data-v-105b468e]{max-height:300px;overflow-y:auto;padding-right:8px}.user-list-container[data-v-105b468e]::-webkit-scrollbar{width:6px}.user-list-container[data-v-105b468e]::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.user-list-container[data-v-105b468e]::-webkit-scrollbar-thumb{background:#888;border-radius:3px}.user-list-container[data-v-105b468e]::-webkit-scrollbar-thumb:hover{background:#555}.user-management[data-v-515d4988]{width:100%;height:100%}.user-management-card[data-v-515d4988]{height:100%;display:flex;flex-direction:column}.user-management-card[data-v-515d4988] .ant-card-body{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:24px;padding-bottom:20px}.table-container[data-v-515d4988]{flex:1;overflow:hidden;display:flex;flex-direction:column;min-height:0}.table-container[data-v-515d4988] .ant-table-wrapper{flex:1;overflow:hidden}.table-container[data-v-515d4988] .ant-spin-nested-loading{height:100%;display:flex;flex-direction:column}.table-container[data-v-515d4988] .ant-spin-container{flex:1;display:flex;flex-direction:column;overflow:hidden}.table-container[data-v-515d4988] .ant-table{flex:1;overflow:hidden}.table-container[data-v-515d4988] .ant-table-container{flex:1;overflow-y:auto}.custom-pagination[data-v-515d4988]{display:flex;justify-content:flex-end;align-items:center;margin-top:20px;margin-bottom:8px;padding-top:16px;border-top:1px solid #f0f0f0}.pagination-info[data-v-515d4988]{font-size:14px;color:rgba(0,0,0,.65);font-weight:400;margin-right:6px}.jump-to[data-v-515d4988],.pagination-controls[data-v-515d4988]{display:flex;align-items:center}.jump-to[data-v-515d4988]{font-size:14px;color:rgba(0,0,0,.65)}.user-cell[data-v-515d4988]{display:flex}.username[data-v-515d4988]{font-weight:500;color:#333}.filter-bar[data-v-515d4988]{display:flex;gap:12px;align-items:center;flex-shrink:0;margin-bottom:16px}.table-container[data-v-515d4988] .ant-table-tbody>tr>td:first-child,.table-container[data-v-515d4988] .ant-table-td,.table-container[data-v-515d4988] .ant-table-thead>tr>th{text-align:center}.user-cell[data-v-515d4988]{display:inline-flex;align-items:center;justify-content:center}[data-v-515d4988] .ant-form-item-control .has-success .ant-form-explain,[data-v-515d4988] .has-success .ant-form-explain{color:#52c41a}@keyframes spin-515d4988{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.settings-page[data-v-76e71f34]{max-width:1200px;margin:0 auto}.param-description[data-v-76e71f34]{color:#666;font-size:12px;margin-top:8px;padding:8px 12px;background:#f5f5f5;border:1px solid #e8e8e8;border-radius:6px;line-height:1.5}.status-tag[data-v-76e71f34]{display:inline-flex;align-items:center;gap:4px}.status-valid[data-v-76e71f34]{color:#52c41a;background:rgba(82,196,26,.1);border-color:#52c41a}.status-invalid[data-v-76e71f34]{color:#ff4d4f;background:rgba(255,77,79,.1);border-color:#ff4d4f}.status-loading[data-v-76e71f34]{color:#1890ff;background:rgba(24,144,255,.1);border-color:#1890ff}[data-v-76e71f34] .ant-collapse-header{font-weight:500}[data-v-76e71f34] .ant-collapse{background:transparent;border:none}[data-v-76e71f34] .ant-collapse-item{border-radius:8px!important;overflow:hidden;margin-bottom:8px!important;background:#fff;border:1px solid #e8e8e8}[data-v-76e71f34] .ant-collapse-content{border-radius:0 0 8px 8px!important;border-top:none!important}[data-v-76e71f34] .ant-collapse-content-box{border-radius:0 0 8px 8px}.login-container[data-v-547b835a]{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.login-card[data-v-547b835a]{width:400px;padding:40px;background:#fff;border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,.1)}.login-header[data-v-547b835a]{text-align:center;margin-bottom:32px}.login-header h1[data-v-547b835a]{font-size:28px;font-weight:600;color:#1f2937;margin:0 0 8px 0}.login-header p[data-v-547b835a]{font-size:16px;color:#6b7280;margin:0}.login-form[data-v-547b835a]{margin-top:24px}.login-footer[data-v-547b835a]{text-align:center;margin-top:16px;color:#6b7280}.login-footer a[data-v-547b835a]{color:#667eea;text-decoration:none;font-weight:500}.login-footer a[data-v-547b835a]:hover{text-decoration:underline}.register-container[data-v-331b2e57]{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.register-card[data-v-331b2e57]{width:400px;padding:40px;background:#fff;border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,.1)}.register-header[data-v-331b2e57]{text-align:center;margin-bottom:32px}.register-header h1[data-v-331b2e57]{font-size:28px;font-weight:600;color:#1f2937;margin:0 0 8px 0}.register-header p[data-v-331b2e57]{font-size:16px;color:#6b7280;margin:0}.register-form[data-v-331b2e57]{margin-top:24px}.form-tip[data-v-331b2e57]{font-size:12px;color:#9ca3af;margin-top:4px}.register-footer[data-v-331b2e57]{text-align:center;margin-top:16px;color:#6b7280}.register-footer a[data-v-331b2e57]{color:#667eea;text-decoration:none;font-weight:500}.register-footer a[data-v-331b2e57]:hover{text-decoration:underline}.status-icon[data-v-331b2e57]{font-size:14px}.status-icon.success[data-v-331b2e57]{color:#52c41a}.status-icon.error[data-v-331b2e57]{color:#f5222d}.status-icon.warning[data-v-331b2e57]{color:#faad14}.status-icon.loading[data-v-331b2e57]{color:#1890ff;animation:spin-331b2e57 1s linear infinite}.status-message[data-v-331b2e57]{font-size:13px;margin-top:4px;display:flex;align-items:center}.status-message.success[data-v-331b2e57]{color:#52c41a}.status-message.error[data-v-331b2e57]{color:#f5222d}.status-message.warning[data-v-331b2e57]{color:#faad14}.status-message.loading[data-v-331b2e57]{color:#1890ff}@keyframes spin-331b2e57{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}*{box-sizing:border-box}body,html{margin:0;padding:0;height:100%}#app{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.app-layout{height:100vh!important;overflow:hidden!important}.app-layout .ant-layout,.app-layout .ant-layout-has-sider{height:100%!important}.app-layout>.ant-layout{display:flex;flex-direction:column;height:100%!important;overflow:hidden!important}.app-layout .ant-layout-content{flex:1;overflow:hidden!important}.logo{height:64px;display:flex;align-items:center;justify-content:center;font-size:18px}.logo h2{margin:0;color:hsla(0,0%,100%,.95);font-weight:600}.header{background:#fff!important;padding:0 24px!important;display:flex!important;align-items:center!important;box-shadow:0 2px 8px rgba(0,0,0,.1)!important;min-height:64px!important;position:relative!important;z-index:10!important}.header .trigger,.header .trigger .anticon,.header .trigger i,.header .trigger svg,.header .trigger svg path{font-size:18px!important;cursor:pointer!important;transition:color .3s!important;color:#000!important;fill:#000!important;opacity:1!important;visibility:visible!important}.header .trigger:hover,.header .trigger:hover .anticon,.header .trigger:hover i,.header .trigger:hover svg,.header .trigger:hover svg path{color:#1890ff!important;fill:#1890ff!important}.header .header-title{flex:1;font-size:18px!important;font-weight:500!important;margin-left:16px!important;color:#000!important;opacity:1!important;visibility:visible!important;display:block!important}.header-actions{gap:12px}.header-actions,.user-info{display:flex;align-items:center}.user-info{gap:8px;cursor:pointer;padding:4px 12px;border-radius:4px;transition:background-color .3s}.user-info:hover{background-color:#f5f5f5}.username{font-size:14px;font-weight:500;color:#262626}.content{margin:16px;padding:24px;background:#fff;border-radius:8px;overflow-y:auto;flex:1}.markdown-body{font-size:14px;line-height:1.6}.markdown-body h1,.markdown-body h2,.markdown-body h3{margin-top:24px;margin-bottom:16px;font-weight:600}.markdown-body h1{font-size:1.5em}.markdown-body h2{font-size:1.3em}.markdown-body h3{font-size:1.1em}.markdown-body p{margin-bottom:12px}.markdown-body ol,.markdown-body ul{padding-left:24px;margin-bottom:12px}.markdown-body code{background:#f5f5f5;padding:2px 6px;border-radius:4px;font-family:Courier New,monospace}.markdown-body pre{background:#f5f5f5;padding:12px;border-radius:4px;overflow-x:auto}.markdown-body pre code{background:transparent;padding:0}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}::-webkit-scrollbar-thumb{background:#888;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#555}:root{--primary-color:#1890ff;--primary-hover:#40a9ff;--primary-active:#096dd9;--primary-light:#e6f7ff;--primary-lighter:#bae7ff;--success-color:#52c41a;--success-hover:#73d13d;--success-active:#389e0d;--success-light:#f6ffed;--success-lighter:#d9f7be;--warning-color:#faad14;--warning-hover:#ffc53d;--warning-active:#d48806;--warning-light:#fffbe6;--warning-lighter:#ffe58f;--error-color:#ff4d4f;--error-hover:#ff7875;--error-active:#d9363e;--error-light:#fff1f0;--error-lighter:#ffccc7;--info-color:#13c2c2;--info-hover:#36cfc9;--info-active:#08979c;--info-light:#e6fffb;--info-lighter:#b5f5ec;--text-primary:#262626;--text-secondary:#595959;--text-tertiary:#8c8c8c;--text-quaternary:#bfbfbf;--text-placeholder:#bfbfbf;--bg-primary:#fff;--bg-secondary:#fafafa;--bg-tertiary:#f5f5f5;--bg-quaternary:#f0f0f0;--border-primary:#d9d9d9;--border-secondary:#e8e8e8;--border-tertiary:#f0f0f0;--shadow-1:0 1px 2px 0 rgba(0,0,0,.03);--shadow-2:0 1px 3px 0 rgba(0,0,0,.06),0 1px 2px 0 rgba(0,0,0,.04);--shadow-3:0 4px 6px -1px rgba(0,0,0,.08),0 2px 4px -1px rgba(0,0,0,.04);--shadow-4:0 10px 15px -3px rgba(0,0,0,.08),0 4px 6px -2px rgba(0,0,0,.04);--shadow-5:0 20px 25px -5px rgba(0,0,0,.08),0 10px 10px -5px rgba(0,0,0,.04);--radius-sm:4px;--radius-base:8px;--radius-lg:12px;--radius-xl:16px;--transition-fast:0.1s ease-out;--transition-base:0.2s ease-out;--transition-slow:0.3s ease-out;--spacing-xs:4px;--spacing-sm:8px;--spacing-base:12px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-xxl:48px}@media (prefers-color-scheme:dark){:root{--text-primary:#fff;--text-secondary:#d9d9d9;--text-tertiary:#8c8c8c;--text-quaternary:#595959;--bg-primary:#141414;--bg-secondary:#1f1f1f;--bg-tertiary:#262626;--bg-quaternary:#2f2f2f;--border-primary:#434343;--border-secondary:#303030;--border-tertiary:#262626}}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-success{color:var(--success-color)}.text-warning{color:var(--warning-color)}.text-error{color:var(--error-color)}.text-info{color:var(--info-color)}.bg-primary{background-color:var(--bg-primary)}.bg-secondary{background-color:var(--bg-secondary)}.gradient-primary{background:linear-gradient(135deg,var(--primary-color) 0,var(--primary-hover) 100%)}.gradient-success{background:linear-gradient(135deg,var(--success-color) 0,var(--success-hover) 100%)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb{background:var(--border-primary);border-radius:var(--radius-sm);-webkit-transition:background var(--transition-base);transition:background var(--transition-base)}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.glass-effect{background:hsla(0,0%,100%,.8);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.3)}.card{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);border:1px solid var(--border-secondary);transition:box-shadow var(--transition-base)}.card:hover{box-shadow:var(--shadow-3)}.btn-enhanced{position:relative;overflow:hidden;transition:all var(--transition-base)}.btn-enhanced:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:hsla(0,0%,100%,.3);transform:translate(-50%,-50%);transition:width var(--transition-slow),height var(--transition-slow)}.btn-enhanced:active:before{width:300px;height:300px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}@keyframes slideInUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideInDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes bounce{0%,20%,53%,80%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1);transform:translateZ(0)}40%,43%{animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-15px,0)}70%{animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-7px,0)}90%{transform:translate3d(0,-1px,0)}}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes shimmer{0%{background-position:-468px 0}to{background-position:468px 0}}.animate-fade-in{animation:fadeIn var(--transition-base) ease-out}.animate-fade-in-up{animation:fadeInUp var(--transition-slow) ease-out}.animate-fade-in-down{animation:fadeInDown var(--transition-slow) ease-out}.animate-fade-in-left{animation:fadeInLeft var(--transition-slow) ease-out}.animate-fade-in-right{animation:fadeInRight var(--transition-slow) ease-out}.animate-scale-in{animation:scaleIn var(--transition-base) ease-out}.animate-bounce{animation:bounce 1s infinite}.animate-spin{animation:spin 1s linear infinite}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.hover-lift{transition:transform var(--transition-base),box-shadow var(--transition-base)}.hover-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-3)}.hover-scale{transition:transform var(--transition-base)}.hover-scale:hover{transform:scale(1.02)}.hover-glow{transition:box-shadow var(--transition-base)}.hover-glow:hover{box-shadow:0 0 20px rgba(24,144,255,.3)}.focus-ring:focus{outline:none;box-shadow:0 0 0 3px rgba(24,144,255,.2)}.skeleton{background:linear-gradient(90deg,var(--bg-quaternary) 25%,var(--bg-tertiary) 50%,var(--bg-quaternary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-base)}.skeleton-text{height:16px;margin-bottom:8px;border-radius:var(--radius-sm)}.skeleton-title{height:24px;width:60%;margin-bottom:16px;border-radius:var(--radius-base)}.skeleton-paragraph{height:14px;margin-bottom:8px}.skeleton-avatar{width:40px;height:40px;border-radius:50%}.skeleton-button{height:32px;width:100px;border-radius:var(--radius-base)}.message-enter-active{animation:fadeInUp .3s ease-out}.message-leave-active{animation:fadeOut .2s ease-in}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.list-enter-active,.list-leave-active{transition:all .3s ease}.list-enter-from,.list-leave-to{opacity:0;transform:translateX(-30px)}.layout-fade-enter-active,.layout-fade-leave-active{transition:opacity .2s ease}.layout-fade-enter-from,.layout-fade-leave-to{opacity:0}.ripple-effect{position:relative;overflow:hidden}.ripple{position:absolute;border-radius:50%;background:hsla(0,0%,100%,.6);transform:scale(0);animation:ripple-animation .6s linear;pointer-events:none}@keyframes ripple-animation{to{transform:scale(4);opacity:0}}.tooltip-enter-active,.tooltip-leave-active{transition:all .2s ease}.tooltip-enter-from,.tooltip-leave-to{opacity:0;transform:translateY(5px)}.loading-dots{display:inline-flex;gap:4px}.loading-dots span{width:8px;height:8px;background:var(--primary-color);border-radius:50%;animation:bounce 1.4s ease-in-out infinite both}.loading-dots span:first-child{animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}.progress-bar{position:relative;overflow:hidden}.progress-bar:after{content:"";position:absolute;top:0;left:0;bottom:0;right:0;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.4),transparent);transform:translateX(-100%);animation:progress-shine 2s infinite}@keyframes progress-shine{to{transform:translateX(100%)}}.error-shake{animation:shake .5s ease-in-out}.success-check{animation:scaleIn .3s ease-out}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}