.sidebar[data-v-3ffcb446]{width:var(--sidebar-width);background:var(--bg-sidebar);border-right:1px solid var(--border-light);flex-direction:column;flex-shrink:0;height:100%;transition:width .3s;display:flex;overflow:hidden}.sidebar.collapsed[data-v-3ffcb446]{width:var(--sidebar-collapsed)}.sidebar-top[data-v-3ffcb446]{padding:var(--space-md);border-bottom:1px solid var(--divider)}.logo[data-v-3ffcb446]{align-items:center;gap:var(--space-sm);cursor:pointer;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);display:flex}.logo[data-v-3ffcb446]:hover{background:var(--bg-hover)}.logo-icon[data-v-3ffcb446]{font-size:22px}.logo-text[data-v-3ffcb446]{font-size:var(--font-md);color:var(--primary-600);font-weight:600}.sidebar-section[data-v-3ffcb446]{padding:var(--space-sm) 0;flex:1;overflow-y:auto}.section-title[data-v-3ffcb446]{padding:var(--space-sm) var(--space-md);font-size:var(--font-xs);color:var(--text-hint);text-transform:uppercase;font-weight:600}.sidebar-item[data-v-3ffcb446]{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);margin:2px var(--space-sm);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast);display:flex}.sidebar-item[data-v-3ffcb446]:hover{background:var(--bg-hover)}.sidebar-item.active[data-v-3ffcb446]{background:var(--primary-100);border-left:3px solid var(--primary-500)}.avatar-sm[data-v-3ffcb446]{border-radius:var(--radius-full);background:var(--primary-200);width:32px;height:32px;color:var(--primary-700);flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:flex}.item-name[data-v-3ffcb446]{font-size:var(--font-base);font-weight:500}.item-meta[data-v-3ffcb446]{font-size:var(--font-xs);color:var(--text-hint)}.delete-btn[data-v-3ffcb446]{color:var(--text-hint);cursor:pointer;opacity:0;margin-left:auto;padding:0 4px;font-size:16px;transition:opacity .2s}.sidebar-item:hover .delete-btn[data-v-3ffcb446]{opacity:1}.delete-btn[data-v-3ffcb446]:hover{color:var(--danger,#e74c3c)}.sidebar-bottom[data-v-3ffcb446]{padding:var(--space-sm);border-top:1px solid var(--divider);flex-direction:column;gap:4px;display:flex}.nav-btn[data-v-3ffcb446]{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);transition:all var(--transition-fast);display:flex}.nav-btn[data-v-3ffcb446]:hover{background:var(--bg-hover);color:var(--primary-500)}.app-layout[data-v-6c1c7df9]{height:100vh;display:flex;overflow:hidden}.main-content[data-v-6c1c7df9]{flex-direction:column;flex:1;display:flex;overflow:hidden}.titlebar[data-v-6c1c7df9]{height:var(--titlebar-height);padding:0 var(--space-base);background:var(--bg-sidebar);border-bottom:1px solid var(--border-light);-webkit-app-region:drag;flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.titlebar-text[data-v-6c1c7df9]{font-size:var(--font-sm);color:var(--text-secondary)}.model-dot[data-v-6c1c7df9]{border-radius:var(--radius-full);width:8px;height:8px}.model-dot.ready[data-v-6c1c7df9]{background:var(--success)}.model-dot.error[data-v-6c1c7df9]{background:var(--warning)}.model-dot.checking[data-v-6c1c7df9]{background:var(--info);animation:1s infinite blink}.page-container[data-v-6c1c7df9]{padding:var(--space-xl);flex:1;overflow-y:auto}:root{--primary-50:#f0faf0;--primary-100:#d4f0d4;--primary-200:#b0e6b0;--primary-300:#85d985;--primary-400:#5ecd5e;--primary-500:#3cb043;--primary-600:#2f8d36;--primary-700:#236a28;--bg-page:#f5faf5;--bg-card:#fff;--bg-sidebar:#edf5ed;--bg-hover:#e8f5e8;--bg-input:#f8fbf8;--text-primary:#1a2e1a;--text-secondary:#5a6b5a;--text-hint:#8b9a8b;--border-color:#d0e0d0;--border-light:#e5f0e5;--divider:#e8f0e8;--success:#52c41a;--warning:#faad14;--error:#ff4d4f;--info:#1890ff;--radius-xs:4px;--radius-sm:8px;--radius-base:12px;--radius-md:16px;--radius-lg:20px;--radius-xl:24px;--radius-full:999px;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-base:16px;--space-lg:20px;--space-xl:24px;--space-2xl:32px;--font-family:"PingFang SC", "Microsoft YaHei", sans-serif;--font-xs:11px;--font-sm:13px;--font-base:14px;--font-md:16px;--font-lg:18px;--font-xl:22px;--font-xxl:28px;--shadow-sm:0 1px 3px #0000000f;--shadow-base:0 2px 8px #00000014;--shadow-md:0 4px 16px #0000001a;--shadow-lg:0 8px 32px #0000001f;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.35s ease;--sidebar-width:260px;--sidebar-collapsed:64px;--titlebar-height:36px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);font-size:var(--font-base);color:var(--text-primary);background:var(--bg-page);-webkit-font-smoothing:antialiased;overflow:hidden}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--primary-200);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--primary-300)}.page-enter-active{transition:all .3s cubic-bezier(.4,0,.2,1)}.page-enter-from{opacity:0;transform:translate(20px)scale(.98)}.page-leave-active{transition:all .2s cubic-bezier(.4,0,.2,1)}.page-leave-to{opacity:0;transform:translate(-20px)scale(.98)}@keyframes message-in{0%{opacity:0;transform:translateY(12px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes typing-dot{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-6px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,#e8f0e8 25%,#d8e8d8 50%,#e8f0e8 75%) 0 0/200% 100%;animation:1.5s infinite shimmer}.card{background:var(--bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.card-hover{transition:all var(--transition-base);cursor:pointer}.card-hover:hover{transform:translateY(-2px);box-shadow:0 4px 16px #3cb0431f}.btn{border-radius:var(--radius-sm);font-size:var(--font-base);cursor:pointer;transition:all var(--transition-fast);border:none;justify-content:center;align-items:center;padding:8px 20px;display:inline-flex}.btn:hover{transform:scale(1.02)}.btn:active{transform:scale(.98)}.btn-primary{background:var(--primary-500);color:#fff}.btn-primary:hover{background:var(--primary-600)}.btn-primary:active{background:var(--primary-700)}.btn-primary:disabled{cursor:not-allowed;background:#c0d0c0;transform:none}.btn-outline{border:1px solid var(--border-color);color:var(--text-secondary);background:0 0}.btn-outline:hover{border-color:var(--primary-400);color:var(--primary-500)}.btn-danger{background:var(--error);color:#fff}.input{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-input);font-size:var(--font-base);color:var(--text-primary);transition:border var(--transition-fast);outline:none;padding:8px 14px}.input:focus{border-color:var(--primary-400);box-shadow:0 0 0 3px var(--primary-50)}.input::placeholder{color:#c0cec0}.typing-dot{background:var(--primary-400);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite typing-dot;display:inline-block}.typing-dot:nth-child(2){animation-delay:.15s}.typing-dot:nth-child(3){animation-delay:.3s}.typing-cursor:after{content:"|";color:var(--primary-500);animation:1s step-end infinite blink}.empty-state{text-align:center;padding:var(--space-3xl) 0}.empty-icon{margin-bottom:var(--space-base);color:var(--primary-200);font-size:48px}
