@import "https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;0,800;1,400;1,700&family=DM+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&family=JetBrains+Mono:wght@400;500;600&display=swap";.sidebar[data-v-7b853371]{--sb-bg:#d4ff3f;--sb-navy:#0a1628;--sb-teal:#22d3aa;--sb-coral:#ff8a65;--sb-purple:#7c6fe0;--sb-ease:cubic-bezier(.22, 1, .36, 1);width:var(--sidebar-width);background:var(--sb-bg);height:100%;transition:width .3s var(--sb-ease);z-index:2;color:var(--sb-navy);font-family:var(--font-family);border-right:1px solid #0a16280f;flex-direction:column;flex-shrink:0;display:flex;position:relative;overflow:hidden}.sidebar.collapsed[data-v-7b853371]{width:var(--sidebar-collapsed)}.sidebar-top[data-v-7b853371]{border-bottom:1px solid #0a16280f;flex-shrink:0;padding:14px 16px}.logo[data-v-7b853371]{cursor:pointer;transition:background .2s var(--sb-ease);border-radius:12px;align-items:center;gap:10px;padding:6px 10px;display:flex}.logo[data-v-7b853371]:hover{background:#0a16280d}.logo-icon[data-v-7b853371]{align-items:center;display:flex}.logo-svg[data-v-7b853371]{transition:transform .3s var(--sb-ease)}.logo:hover .logo-svg[data-v-7b853371]{transform:rotate(12deg)}.logo-text[data-v-7b853371]{color:var(--sb-navy);font-size:17px;font-weight:700;font-family:var(--font-display);letter-spacing:-.01em}.sidebar-scroll[data-v-7b853371]{flex-direction:column;flex:1;display:flex;overflow-y:auto}.sidebar-section[data-v-7b853371]{padding:8px 0}.section-title[data-v-7b853371]{color:#0a162866;text-transform:uppercase;font-size:11px;font-weight:600;font-family:var(--font-mono);letter-spacing:.08em;padding:8px 20px}.sidebar-item[data-v-7b853371]{cursor:pointer;transition:all .2s var(--sb-ease);border:1px solid #0000;border-radius:12px;align-items:center;gap:10px;margin:2px 10px;padding:9px 16px;display:flex}.sidebar-item[data-v-7b853371]:hover{background:#0a16280a}.sidebar-item.active[data-v-7b853371]{background:#fff;border-color:#0a16280f;box-shadow:0 2px 8px #0a16280a}.avatar-sm[data-v-7b853371]{width:30px;height:30px;color:var(--sb-navy);font-size:12px;font-weight:700;font-family:var(--font-display);background:#0a16280d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.sidebar-item.active .avatar-sm[data-v-7b853371]{color:var(--sb-teal);background:#22d3aa1f}.item-name[data-v-7b853371]{color:var(--sb-navy);font-size:14px;font-weight:500}.item-meta[data-v-7b853371]{color:#0a162866;font-size:11px}.delete-btn[data-v-7b853371]{color:#0a162840;cursor:pointer;opacity:0;align-items:center;margin-left:auto;padding:4px;transition:opacity .15s,color .15s,transform .15s;display:flex}.sidebar-item:hover .delete-btn[data-v-7b853371]{opacity:1}.delete-btn[data-v-7b853371]:hover{color:var(--sb-coral);transform:scale(1.1)}.empty-hint[data-v-7b853371]{color:#0a16284d;padding:8px 20px;font-size:12px;font-style:italic}.sidebar-bottom[data-v-7b853371]{border-top:1px solid #0a16280f;flex-direction:column;flex-shrink:0;gap:2px;padding:10px;display:flex}.nav-btn[data-v-7b853371]{cursor:pointer;color:#0a162880;transition:all .2s var(--sb-ease);border-radius:12px;align-items:center;gap:10px;padding:9px 14px;font-size:13px;font-weight:500;display:flex}.nav-btn[data-v-7b853371]:hover{color:var(--sb-navy);background:#0a16280a}.nav-btn-home[data-v-7b853371]{color:var(--sb-teal)}.nav-btn-home[data-v-7b853371]:hover{color:var(--sb-teal);background:#22d3aa1a}.sidebar-scroll[data-v-7b853371]::-webkit-scrollbar{width:4px}.sidebar-scroll[data-v-7b853371]::-webkit-scrollbar-track{background:0 0}.sidebar-scroll[data-v-7b853371]::-webkit-scrollbar-thumb{background:#0a16281a;border-radius:2px}.sidebar-scroll[data-v-7b853371]::-webkit-scrollbar-thumb:hover{background:#0a16282e}.app-layout[data-v-64be9805]{--otome-bg:#d4ff3f;--otome-navy:#0a1628;--otome-teal:#22d3aa;--otome-coral:#ff8a65;--otome-ease:cubic-bezier(.22, 1, .36, 1);background:var(--otome-bg);height:100vh;display:flex;position:relative;overflow:hidden}.particle-canvas[data-v-64be9805]{z-index:0;pointer-events:none;opacity:.15;position:absolute;inset:0}.nebula-bg[data-v-64be9805]{pointer-events:none;filter:blur(120px);opacity:.06;z-index:0;border-radius:50%;position:absolute}@keyframes nebula-drift-64be9805{0%,to{transform:translate(0)scale(1)}25%{transform:translate(20px,-15px)scale(1.03)}50%{transform:translate(-10px,15px)scale(.97)}75%{transform:translate(-15px,-5px)scale(1.02)}}.main-content[data-v-64be9805]{z-index:1;flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.titlebar[data-v-64be9805]{height:var(--titlebar-height);-webkit-backdrop-filter:blur(16px);-webkit-app-region:drag;background:#d4ff3fd9;border-bottom:1px solid #0a16280f;flex-shrink:0;justify-content:space-between;align-items:center;padding:0 16px;display:flex}.titlebar-text[data-v-64be9805]{color:#0a162873;font-size:12px;font-weight:500;font-family:var(--font-mono);letter-spacing:.02em}.model-dot[data-v-64be9805]{border-radius:50%;width:6px;height:6px;transition:background .3s}.model-dot.ready[data-v-64be9805]{background:var(--otome-teal);box-shadow:0 0 8px #22d3aa66}.model-dot.error[data-v-64be9805]{background:var(--otome-coral);box-shadow:0 0 8px #ff8a654d}.model-dot.checking[data-v-64be9805]{background:#fbbf24;animation:1s infinite blink}.titlebar-right[data-v-64be9805]{align-items:center;gap:8px;display:flex}.logout-btn[data-v-64be9805]{cursor:pointer;color:#0a162859;-webkit-app-region:no-drag;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:4px;transition:color .2s,background .2s;display:flex}.logout-btn[data-v-64be9805]:hover{color:var(--otome-coral);background:#ff8a651a}.page-container[data-v-64be9805]{padding:var(--space-xl);flex:1;overflow-y:auto}.page-container[data-v-64be9805]::-webkit-scrollbar{width:5px}.page-container[data-v-64be9805]::-webkit-scrollbar-track{background:0 0}.page-container[data-v-64be9805]::-webkit-scrollbar-thumb{background:#0a16281a;border-radius:3px}.page-container[data-v-64be9805]::-webkit-scrollbar-thumb:hover{background:#0a16282e}:root{--bg-page:#08080c;--bg-card:#ffffff08;--bg-sidebar:#ffffff05;--bg-hover:#ffffff0a;--bg-input:#ffffff0a;--text-primary:#f0f0f5;--text-secondary:#9898a0;--text-hint:#5c5c64;--border-color:#ffffff0f;--border-light:#ffffff0a;--divider:#ffffff08;--primary-50:#ffffff0a;--primary-100:#ffffff0f;--primary-200:#ffffff14;--primary-300:#ffffff1f;--primary-400:#fff3;--primary-500:#ffffff59;--primary-600:#ffffff8c;--primary-700:#ffffffbf;--success:#4ade80;--warning:#fbbf24;--error:#f87171;--info:#60a5fa;--accent-coral:#ff8a65;--accent-teal:#22d3aa;--accent-purple:#7c6fe0;--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;--space-3xl:48px;--font-family:"DM Sans", -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;--font-display:"Playfair Display", "Noto Serif SC", Georgia, serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--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 2px #0000004d;--shadow-base:0 2px 4px #0006;--shadow-md:0 4px 8px #00000080;--shadow-lg:0 8px 16px #0009;--transition-fast:.15s ease;--transition-base:.2s ease;--transition-slow:.3s cubic-bezier(.22, 1, .36, 1);--sidebar-width:260px;--sidebar-collapsed:64px;--titlebar-height:36px}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg-page);color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#ffffff14}::-webkit-scrollbar-thumb:hover{background:#ffffff24}.page-enter-active{transition:all .25s cubic-bezier(.22,1,.36,1)}.page-enter-from{opacity:0;transform:translate(12px)}.page-leave-active{transition:all .15s cubic-bezier(.4,0,.2,1)}.page-leave-to{opacity:0;transform:translate(-12px)}.card{background:var(--bg-card);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:var(--radius-md)}.card-hover{transition:background var(--transition-fast), border-color var(--transition-fast), transform .25s cubic-bezier(.22, 1, .36, 1), box-shadow .25s;cursor:pointer}.card-hover:hover{background:#ffffff0d;border-color:#ffffff1a;transform:translateY(-2px);box-shadow:0 8px 24px #0003}.btn{border-radius:var(--radius-sm);font-size:var(--font-base);cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-family);border:none;justify-content:center;align-items:center;gap:6px;padding:8px 20px;font-weight:500;display:inline-flex}.btn-primary{background:var(--primary-400);color:#fff}.btn-primary:hover{background:var(--primary-500);transform:translateY(-1px)}.btn-primary:active{background:var(--primary-300);transform:translateY(0)}.btn-primary:disabled{opacity:.3;cursor:not-allowed;transform:none}.btn-outline{border:1px solid var(--border-color);color:var(--text-secondary);background:0 0}.btn-outline:hover{color:var(--text-primary);background:#ffffff05;border-color:#ffffff26}.btn-danger{color:#fca5a5;background:#f871711f;border:1px solid #f8717133;font-weight:500}.btn-danger:hover{background:#f8717133;border-color:#f8717159;transform:translateY(-1px)}.btn-sm{padding:4px 10px;font-size:12px}.btn-success{color:#86efac;background:#4ade801f;border:1px solid #4ade8033}.btn-success:hover{background:#4ade8033}.input{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:var(--font-base);color:var(--text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);font-family:var(--font-family);outline:none;padding:8px 14px}.input::placeholder{color:var(--text-hint)}.input:focus{border-color:#ffffff26;box-shadow:0 0 0 3px #ffffff08}.typing-dot{background:var(--accent-teal);border-radius:50%;width:5px;height:5px;display:inline-block}.typing-dot:first-child{animation:1.2s ease-in-out infinite typing-dot}.typing-dot:nth-child(2){animation:1.2s ease-in-out .15s infinite typing-dot}.typing-dot:nth-child(3){animation:1.2s ease-in-out .3s infinite typing-dot}.typing-cursor:after{content:"|";color:var(--text-secondary);animation:1s step-end infinite blink}.empty-state{text-align:center;padding:var(--space-3xl) 0;color:var(--text-hint)}.empty-icon{margin-bottom:var(--space-base);opacity:.3;font-size:40px}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,#ffffff08 25%,#ffffff0f 50%,#ffffff08 75%) 0 0/200% 100%;animation:1.5s infinite shimmer}@keyframes message-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes typing-dot{0%,60%,to{opacity:.2;transform:translateY(0)}30%{opacity:1;transform:translateY(-5px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}
