.search-button[data-v-64948397]{display:flex;align-items:center;gap:.5rem;background:transparent;border:1px solid var(--color-border, #e2e8f0);border-radius:var(--border-radius-md, .5rem);padding:.5rem 1rem;font-size:.875rem;color:var(--color-text-secondary, #64748b);cursor:pointer;transition:all var(--transition, .2s ease-in-out)}.search-button[data-v-64948397]:hover{background:var(--color-surface, #f8fafc);border-color:var(--color-border, #cbd5e1);box-shadow:var(--shadow-sm, 0 1px 2px 0 rgba(0, 0, 0, .05))}.search-button-container[data-v-64948397]{display:flex;align-items:center;gap:.5rem}.search-icon[data-v-64948397]{width:16px;height:16px;display:flex;align-items:center;justify-content:center}.search-placeholder[data-v-64948397]{color:var(--color-text-secondary, #64748b)}.search-shortcut[data-v-64948397]{display:flex;gap:.125rem;margin-left:.5rem;padding-left:.5rem;border-left:1px solid var(--color-border, #e2e8f0)}.search-shortcut kbd[data-v-64948397]{padding:.125rem .375rem;background:var(--color-surface, #f1f5f9);border:1px solid var(--color-border, #d1d5db);border-radius:var(--border-radius-sm, .25rem);font-size:.75rem;font-weight:var(--font-weight-semibold, 600);color:var(--color-text-muted, #94a3b8)}.search-overlay[data-v-6e0b18cc]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center}.search-modal[data-v-6e0b18cc]{width:100%;max-width:900px;max-height:600px;background:var(--color-background, #ffffff);border-radius:1rem;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;overflow:hidden}.search-input-container[data-v-6e0b18cc]{padding:16px;border-bottom:1px solid var(--color-border, #e5e7eb);display:flex;align-items:center;gap:.75rem}.search-icon[data-v-6e0b18cc]{width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary, #64748b)}.search-input[data-v-6e0b18cc]{flex:1;height:48px;padding:12px 16px;font-size:16px;border:none;outline:none;background:transparent;color:var(--color-text-primary, #1e293b)}.search-input[data-v-6e0b18cc]::placeholder{color:var(--color-text-muted, #94a3b8)}.clear-button[data-v-6e0b18cc]{width:24px;height:24px;border:none;background:transparent;color:var(--color-text-secondary, #64748b);cursor:pointer;font-size:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background var(--transition, .2s ease-in-out)}.clear-button[data-v-6e0b18cc]:hover{background:var(--color-surface, #f8fafc)}.search-results[data-v-6e0b18cc]{flex:1;overflow-y:auto;max-height:400px}.search-result-item[data-v-6e0b18cc]{padding:12px 16px;cursor:pointer;display:flex;align-items:center;gap:.75rem;transition:background-color var(--transition, .15s)}.search-result-item[data-v-6e0b18cc]:hover,.search-result-item.selected[data-v-6e0b18cc]{background-color:#3b82f61a}.result-icon[data-v-6e0b18cc]{color:var(--color-text-secondary, #64748b);font-size:.875rem}.result-title[data-v-6e0b18cc]{color:var(--color-text-primary, #1e293b);font-size:1rem}.search-empty[data-v-6e0b18cc]{padding:3rem;text-align:center;color:var(--color-text-secondary, #64748b)}.search-shortcuts[data-v-6e0b18cc]{padding:8px 16px;background:var(--color-surface, #f9fafb);border-top:1px solid var(--color-border, #e5e7eb);display:flex;gap:16px;font-size:12px;color:var(--color-text-muted, #6b7280)}.shortcut-item[data-v-6e0b18cc]{display:flex;align-items:center;gap:4px}.shortcut-item span[data-v-6e0b18cc]:first-child{padding:2px 6px;background:var(--color-background, #ffffff);border:1px solid var(--color-border, #d1d5db);border-radius:var(--border-radius-sm, 4px);font-size:11px;font-weight:var(--font-weight-semibold, 600)}.header[data-v-64bd87ab]{position:sticky;top:0;background:var(--color-background, #ffffff);border-bottom:1px solid var(--color-border, #e2e8f0);z-index:100}.container[data-v-64bd87ab]{max-width:var(--container-max-width, 1200px);margin:0 auto;padding:0 var(--container-padding, 2rem);height:100%}.nav[data-v-64bd87ab]{display:flex;justify-content:space-between;align-items:center;height:100%}.logo-link[data-v-64bd87ab]{text-decoration:none;color:inherit}.logo h1[data-v-64bd87ab]{font-size:1.25rem;font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary, #1e293b);margin:0}.nav-menu[data-v-64bd87ab]{display:flex;list-style:none;gap:2rem;margin:0;padding:0}.nav-menu li a[data-v-64bd87ab]{color:var(--color-text-primary, #1e293b);text-decoration:none;font-size:1rem;padding:.5rem 1rem;transition:color var(--transition, .2s ease-in-out)}.nav-menu li a[data-v-64bd87ab]:hover,.nav-menu li a.router-link-active[data-v-64bd87ab]{color:var(--color-primary, #2563eb)}.header-actions[data-v-64bd87ab]{display:flex;align-items:center;gap:.75rem}.theme-toggle-btn[data-v-64bd87ab]{background:transparent;border:1px solid var(--color-border, #e2e8f0);border-radius:.5rem;padding:.5rem .75rem;font-size:.875rem;color:var(--color-text-secondary, #64748b);cursor:pointer;transition:all var(--transition, .2s ease-in-out);display:flex;align-items:center;gap:.5rem;height:36px;line-height:1}.theme-toggle-btn[data-v-64bd87ab]:hover{background:var(--color-surface, #f8fafc);border-color:var(--color-primary, #2563eb);color:var(--color-primary, #2563eb)}.theme-toggle-btn[data-v-64bd87ab]:active{transform:scale(.95)}.theme-icon[data-v-64bd87ab]{font-size:1rem;line-height:1}.theme-name[data-v-64bd87ab]{font-weight:var(--font-weight-medium, 500);white-space:nowrap}@media(max-width:640px){.theme-name[data-v-64bd87ab]{display:none}.theme-toggle-btn[data-v-64bd87ab]{padding:.5rem;width:36px}}@media(max-width:768px){.nav-menu[data-v-64bd87ab]{display:none}}.back-button-wrapper[data-v-64bd87ab]{padding:.75rem 0;border-top:1px solid var(--color-border, #e2e8f0)}.back-link[data-v-64bd87ab]{display:inline-block;color:var(--color-primary, #2563eb);text-decoration:none;font-size:.875rem;font-weight:var(--font-weight-medium, 500);padding:.5rem 0;transition:all var(--transition, .2s ease-in-out)}.back-link[data-v-64bd87ab]:hover{text-decoration:underline;color:var(--color-accent, #2563eb)}.hero-section[data-v-09a08c5d]{padding:4rem 2rem;text-align:center;max-width:1000px;margin:0 auto}.hero-title[data-v-09a08c5d]{font-size:3.5rem;font-weight:var(--font-weight-bold, 700);color:var(--color-text-primary, #1e293b);margin-bottom:1.5rem;line-height:1.2}.hero-subtitle[data-v-09a08c5d]{font-size:1.25rem;color:var(--color-text-secondary, #64748b);margin-bottom:2rem;line-height:1.6}.hero-buttons[data-v-09a08c5d]{display:flex;gap:1rem;justify-content:center}.btn[data-v-09a08c5d]{display:inline-block;padding:.75rem 1.5rem;border-radius:var(--border-radius-md, .5rem);font-size:1rem;font-weight:var(--font-weight-medium, 500);text-decoration:none;transition:all var(--transition, .2s ease-in-out);cursor:pointer}.btn-primary[data-v-09a08c5d]{background:var(--color-primary, #2563eb);color:#fff}.btn-primary[data-v-09a08c5d]:hover{background:#1e40af}.btn-secondary[data-v-09a08c5d]{background:transparent;color:var(--color-primary, #2563eb);border:1px solid var(--color-primary, #2563eb)}.btn-secondary[data-v-09a08c5d]:hover{background:var(--color-primary, #2563eb);color:#fff}@media(max-width:768px){.hero-title[data-v-09a08c5d]{font-size:2.5rem}.hero-subtitle[data-v-09a08c5d]{font-size:1.125rem}.hero-buttons[data-v-09a08c5d]{flex-direction:column}}.feature-cards-section[data-v-b625c122]{padding:3rem 0;background:var(--color-surface, #f8fafc)}.container[data-v-b625c122]{max-width:var(--container-max-width, 1200px);margin:0 auto;padding:0 var(--container-padding, 2rem)}.feature-grid[data-v-b625c122]{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.feature-card[data-v-b625c122]{background:var(--color-background, #ffffff);border:1px solid var(--color-border, #e2e8f0);border-radius:var(--border-radius-md, .5rem);padding:2rem;box-shadow:var(--shadow-sm, 0 1px 2px 0 rgba(0, 0, 0, .05));transition:all var(--transition, .3s ease-in-out)}.feature-card[data-v-b625c122]:hover{box-shadow:var(--shadow-md, 0 4px 6px -1px rgba(0, 0, 0, .1));transform:translateY(-2px)}.feature-title[data-v-b625c122]{font-size:1.5rem;font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary, #1e293b);margin-bottom:1rem}.feature-description[data-v-b625c122]{font-size:1rem;color:var(--color-text-secondary, #64748b);line-height:1.6}@media(max-width:1024px){.feature-grid[data-v-b625c122]{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.feature-grid[data-v-b625c122]{grid-template-columns:1fr}}.article-card[data-v-7677a6f3]{background:var(--color-background, #ffffff);border:1px solid var(--color-border, #e2e8f0);border-radius:var(--border-radius-md, .5rem);padding:1.5rem;margin-bottom:2rem;box-shadow:var(--shadow-sm, 0 1px 2px 0 rgba(0, 0, 0, .05));transition:all var(--transition, .3s ease-in-out);cursor:pointer}.article-card[data-v-7677a6f3]:hover{box-shadow:var(--shadow-md, 0 4px 6px -1px rgba(0, 0, 0, .1));transform:translateY(-2px)}.category-tag[data-v-7677a6f3]{display:inline-block;padding:.25rem .75rem;background:var(--color-surface, #f1f5f9);color:var(--color-primary, #2563eb);border-radius:var(--border-radius-sm, .25rem);font-size:.875rem;margin-bottom:1rem}.article-title[data-v-7677a6f3]{font-size:1.5rem;font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary, #1e293b);margin-bottom:.75rem;transition:color var(--transition, .2s ease-in-out)}.article-card:hover .article-title[data-v-7677a6f3]{color:var(--color-primary, #2563eb)}.article-meta[data-v-7677a6f3]{font-size:.875rem;color:var(--color-text-secondary, #64748b);margin-bottom:1rem}.article-summary[data-v-7677a6f3]{font-size:1rem;color:var(--color-text-secondary, #64748b);line-height:1.6;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.article-footer[data-v-7677a6f3]{text-align:right}.read-more[data-v-7677a6f3]{color:var(--color-primary, #2563eb);font-size:.875rem;text-decoration:none;transition:color var(--transition, .2s ease-in-out)}.read-more[data-v-7677a6f3]:hover{color:#1e40af;text-decoration:underline}.article-section[data-v-351394b2]{padding:3rem 0}.container[data-v-351394b2]{max-width:var(--container-max-width, 1200px);margin:0 auto;padding:0 var(--container-padding, 2rem)}.section-title[data-v-351394b2]{font-size:2rem;font-weight:var(--font-weight-bold, 700);color:var(--color-text-primary, #1e293b);margin-bottom:2rem}.article-grid[data-v-351394b2]{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.loading[data-v-351394b2],.error[data-v-351394b2]{text-align:center;padding:3rem;color:var(--color-text-secondary, #64748b)}@media(max-width:1024px){.article-grid[data-v-351394b2]{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.article-grid[data-v-351394b2]{grid-template-columns:1fr}}.footer[data-v-4e8f0742]{background:var(--color-surface, #f8fafc);color:var(--color-text-secondary, #64748b);text-align:center;padding:2rem;border-top:1px solid var(--color-border, #e2e8f0)}.container[data-v-4e8f0742]{max-width:var(--container-max-width, 1200px);margin:0 auto;padding:0 var(--container-padding, 2rem)}.footer-text[data-v-4e8f0742]{font-size:.875rem;margin:0;line-height:1.6}.site-name[data-v-4e8f0742]{font-weight:500;color:var(--color-text-primary, #1e293b)}.separator[data-v-4e8f0742]{margin:0 .75rem;color:var(--color-text-tertiary, #94a3b8)}.icp-link[data-v-4e8f0742]{color:var(--color-text-secondary, #64748b);text-decoration:none;transition:color .2s ease}.icp-link[data-v-4e8f0742]:hover{color:var(--color-primary, #3b82f6);text-decoration:underline}.home[data-v-5541bfc4]{min-height:100vh;display:flex;flex-direction:column}.main-content[data-v-5541bfc4]{flex:1}.article-list-page[data-v-b8516f7a]{min-height:100vh;display:flex;flex-direction:column}.main-content[data-v-b8516f7a]{flex:1;padding:var(--spacing-xl, 2rem) 0}.container[data-v-b8516f7a]{max-width:var(--container-max-width, 1200px);margin:0 auto;padding:0 var(--container-padding, 2rem)}.page-title[data-v-b8516f7a]{font-size:2.5rem;font-weight:var(--font-weight-bold, 700);color:var(--color-text-primary, #1e293b);margin-bottom:1rem}.page-subtitle[data-v-b8516f7a]{font-size:1.125rem;color:var(--color-text-secondary, #64748b);margin-bottom:3rem}.loading[data-v-b8516f7a],.error[data-v-b8516f7a]{text-align:center;padding:3rem;color:var(--color-text-secondary, #64748b)}.article-detail-page[data-v-cd16cd43]{min-height:100vh;display:flex;flex-direction:column}.main-content[data-v-cd16cd43]{flex:1;padding:var(--spacing-xl, 2rem) 0}.container[data-v-cd16cd43]{max-width:1600px;margin:0 auto;padding:0 1.5rem}.article-wrapper[data-v-cd16cd43]{width:100%}.article-layout[data-v-cd16cd43]{display:flex;gap:2.5rem;align-items:flex-start;justify-content:flex-start}.article-content[data-v-cd16cd43]{flex:1;max-width:1000px;min-width:0;background:var(--color-background, #ffffff);border-radius:var(--border-radius-md, .5rem);padding:2rem}.toc-sidebar[data-v-cd16cd43]{width:300px;flex-shrink:0;position:sticky;top:80px;max-height:calc(100vh - 100px);overflow-y:auto;margin-left:auto}.toc-container[data-v-cd16cd43]{background:var(--color-background, #ffffff);border:1px solid var(--color-border, #e2e8f0);border-radius:var(--border-radius-md, .5rem);padding:1.75rem;box-shadow:var(--shadow-sm, 0 1px 2px 0 rgba(0, 0, 0, .05))}.toc-header[data-v-cd16cd43]{font-size:1.125rem;font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary, #1e293b);margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border, #e2e8f0)}.toc-nav[data-v-cd16cd43]{font-size:.875rem}.toc-list[data-v-cd16cd43]{list-style:none;padding:0;margin:0}.toc-item[data-v-cd16cd43]{margin-bottom:.375rem;line-height:1.6}.toc-link[data-v-cd16cd43]{color:var(--color-text-secondary, #64748b);text-decoration:none;display:block;padding:.375rem .75rem;border-radius:var(--border-radius-sm, .25rem);transition:all .2s ease-in-out;word-break:break-word;line-height:1.5}.toc-link[data-v-cd16cd43]:hover{color:var(--color-primary, #2563eb);background:var(--color-surface, #f8fafc)}.toc-item.active .toc-link[data-v-cd16cd43]{color:var(--color-primary, #2563eb);background:var(--color-surface, #f8fafc);font-weight:var(--font-weight-medium, 500)}.toc-level-1 .toc-link[data-v-cd16cd43]{padding-left:.75rem;font-weight:var(--font-weight-semibold, 600)}.toc-level-2 .toc-link[data-v-cd16cd43]{padding-left:.75rem}.toc-level-3 .toc-link[data-v-cd16cd43]{padding-left:1.5rem}.toc-level-4 .toc-link[data-v-cd16cd43]{padding-left:2.25rem}.toc-level-5 .toc-link[data-v-cd16cd43]{padding-left:3rem}.toc-level-6 .toc-link[data-v-cd16cd43]{padding-left:3.75rem}.toc-sidebar[data-v-cd16cd43]::-webkit-scrollbar{width:6px}.toc-sidebar[data-v-cd16cd43]::-webkit-scrollbar-track{background:transparent}.toc-sidebar[data-v-cd16cd43]::-webkit-scrollbar-thumb{background:var(--color-border, #e2e8f0);border-radius:3px}.toc-sidebar[data-v-cd16cd43]::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted, #94a3b8)}@media(max-width:1024px){.article-layout[data-v-cd16cd43]{flex-direction:column}.toc-sidebar[data-v-cd16cd43]{width:100%;position:relative;top:0;max-height:none}}.article-header[data-v-cd16cd43]{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border, #e2e8f0)}.category-tag[data-v-cd16cd43]{display:inline-block;padding:.25rem .75rem;background:var(--color-surface, #f8fafc);color:var(--color-primary, #2563eb);border-radius:var(--border-radius-sm, .25rem);font-size:.875rem;margin-bottom:1rem}.article-title[data-v-cd16cd43]{font-size:2.5rem;font-weight:var(--font-weight-bold, 700);color:var(--color-text-primary, #1e293b);margin-bottom:1rem;line-height:1.2}.article-meta[data-v-cd16cd43]{font-size:.875rem;color:var(--color-text-secondary, #64748b)}.article-body[data-v-cd16cd43]{font-size:1rem;line-height:1.8;color:var(--color-text-primary, #1e293b)}[data-v-cd16cd43] .markdown-body{word-wrap:break-word}[data-v-cd16cd43] .markdown-body h1,[data-v-cd16cd43] .markdown-body h2,[data-v-cd16cd43] .markdown-body h3,[data-v-cd16cd43] .markdown-body h4,[data-v-cd16cd43] .markdown-body h5,[data-v-cd16cd43] .markdown-body h6{margin-top:2rem;margin-bottom:1rem;font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary, #1e293b);line-height:1.25;scroll-margin-top:100px}[data-v-cd16cd43] .markdown-body h1{font-size:2rem;border-bottom:1px solid var(--color-border, #e2e8f0);padding-bottom:.5rem}[data-v-cd16cd43] .markdown-body h2{font-size:1.75rem;border-bottom:1px solid var(--color-border, #e2e8f0);padding-bottom:.5rem}[data-v-cd16cd43] .markdown-body h3{font-size:1.5rem}[data-v-cd16cd43] .markdown-body h4{font-size:1.25rem}[data-v-cd16cd43] .markdown-body p{margin-bottom:1.5rem}[data-v-cd16cd43] .markdown-body ul,[data-v-cd16cd43] .markdown-body ol{margin-bottom:1.5rem;padding-left:2rem}[data-v-cd16cd43] .markdown-body li{margin-bottom:.5rem}[data-v-cd16cd43] .markdown-body code{background:var(--color-surface, #f8fafc)!important;padding:.125rem .375rem!important;border-radius:var(--border-radius-sm, .25rem)!important;font-family:Courier New,Consolas,Monaco,monospace!important;font-size:.875rem!important;color:var(--color-text-primary, #1e293b)!important;word-break:break-word}[data-v-cd16cd43] .markdown-body pre{background:var(--color-surface, #f8fafc)!important;border:1px solid var(--color-border, #e2e8f0)!important;border-radius:var(--border-radius-md, .5rem)!important;padding:1rem!important;overflow-x:auto!important;overflow-y:hidden!important;margin-bottom:1.5rem!important;line-height:1.6!important}[data-v-cd16cd43] .markdown-body pre code{background:transparent!important;padding:0!important;border-radius:0!important;font-size:.875rem!important;color:inherit!important;display:block!important;white-space:pre!important;word-wrap:normal!important;word-break:normal!important}[data-v-cd16cd43] .markdown-body pre::-webkit-scrollbar{height:8px}[data-v-cd16cd43] .markdown-body pre::-webkit-scrollbar-track{background:var(--color-surface, #f8fafc);border-radius:4px}[data-v-cd16cd43] .markdown-body pre::-webkit-scrollbar-thumb{background:var(--color-border, #e2e8f0);border-radius:4px}[data-v-cd16cd43] .markdown-body pre::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted, #94a3b8)}[data-v-cd16cd43] .markdown-body blockquote{border-left:4px solid var(--color-primary, #2563eb);padding-left:1rem;margin-left:0;margin-right:0;margin-bottom:1.5rem;color:var(--color-text-secondary, #64748b);font-style:italic}[data-v-cd16cd43] .markdown-body table{border-collapse:collapse;width:100%;margin-bottom:1.5rem}[data-v-cd16cd43] .markdown-body th,[data-v-cd16cd43] .markdown-body td{border:1px solid var(--color-border, #e2e8f0);padding:.75rem;text-align:left}[data-v-cd16cd43] .markdown-body th{background:var(--color-surface, #f8fafc);font-weight:var(--font-weight-semibold, 600)}[data-v-cd16cd43] .markdown-body a{color:var(--color-primary, #2563eb);text-decoration:none}[data-v-cd16cd43] .markdown-body a:hover{text-decoration:underline}[data-v-cd16cd43] .markdown-body img{display:block!important;max-width:100%!important;width:auto!important;height:auto!important;border-radius:var(--border-radius-md, .5rem)!important;margin:1.5rem auto!important;box-shadow:var(--shadow-md, 0 4px 6px -1px rgba(0, 0, 0, .1))!important;object-fit:contain!important;cursor:pointer!important;transition:transform .2s ease-in-out!important}[data-v-cd16cd43] .markdown-body img:hover{transform:scale(1.02)!important;box-shadow:var(--shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, .1))!important}[data-v-cd16cd43] .markdown-body img[src=""],[data-v-cd16cd43] .markdown-body img:not([src]){display:none!important}[data-v-cd16cd43] .markdown-body p img{margin:1.5rem auto!important}[data-v-cd16cd43] .markdown-body img[loading=lazy]{background:var(--color-surface, #f8fafc);min-height:100px}[data-v-cd16cd43] .markdown-body hr{border:none;border-top:1px solid var(--color-border, #e2e8f0);margin:2rem 0}.loading[data-v-cd16cd43],.error[data-v-cd16cd43]{text-align:center;padding:3rem;color:var(--color-text-secondary, #64748b)}.image-preview-modal[data-v-cd16cd43]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:9999;cursor:pointer;animation:fadeIn-cd16cd43 .2s ease-in-out}@keyframes fadeIn-cd16cd43{0%{opacity:0}to{opacity:1}}.image-preview-content[data-v-cd16cd43]{position:relative;max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center;cursor:default}.preview-image[data-v-cd16cd43]{max-width:100%;max-height:90vh;object-fit:contain;border-radius:var(--border-radius-md, .5rem);box-shadow:0 20px 25px -5px #00000080;animation:zoomIn-cd16cd43 .2s ease-in-out}@keyframes zoomIn-cd16cd43{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.image-preview-close[data-v-cd16cd43]{position:absolute;top:-2.5rem;right:0;background:#fff3;border:2px solid rgba(255,255,255,.3);border-radius:50%;width:2.5rem;height:2.5rem;color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease-in-out;z-index:10000}.image-preview-close[data-v-cd16cd43]:hover{background:#ffffff4d;border-color:#ffffff80;transform:scale(1.1)}.image-preview-close[data-v-cd16cd43]:active{transform:scale(.95)}.chat-container[data-v-91877403]{display:flex;height:100vh;width:100%;background:var(--color-background);overflow:hidden}.chat-sidebar[data-v-91877403]{width:var(--chat-sidebar-width, 280px);border-right:var(--chat-sidebar-border, 1px solid var(--color-border));background:var(--chat-sidebar-bg, var(--color-surface));display:flex;flex-direction:column;transition:width var(--transition);overflow:hidden}.chat-sidebar.collapsed[data-v-91877403]{width:60px}.sidebar-header[data-v-91877403]{padding:var(--spacing-md);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-sm)}.sidebar-header h2[data-v-91877403]{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0;flex:1;text-align:center}.back-btn[data-v-91877403]{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:6px 12px;display:flex;align-items:center;justify-content:center;gap:4px;border-radius:var(--border-radius-sm);transition:all .2s;flex-shrink:0;white-space:nowrap}.back-btn[data-v-91877403]:hover{color:var(--color-primary);background:var(--color-surface);transform:translate(-2px)}.back-btn[data-v-91877403]:active{transform:translate(-1px)}.back-icon[data-v-91877403]{font-size:var(--font-size-lg);line-height:1;font-weight:700}.back-text[data-v-91877403]{font-size:var(--font-size-sm);line-height:1}.collapse-btn[data-v-91877403]{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:var(--spacing-xs);font-size:var(--font-size-sm);flex-shrink:0}.collapse-btn[data-v-91877403]:hover{color:var(--color-primary)}.sidebar-content[data-v-91877403]{flex:1;overflow-y:auto;padding:var(--spacing-md, 16px);padding-top:0}.new-chat-btn[data-v-91877403]{width:100%;padding:var(--spacing-md);background:var(--color-primary);color:#fff;border:none;border-radius:var(--border-radius-md, var(--chat-input-button-radius, 16px));cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-md);transition:background var(--transition)}.new-chat-btn[data-v-91877403]:hover{background:var(--color-accent)}.conversation-list[data-v-91877403]{display:flex;flex-direction:column;gap:var(--spacing-xs)}.conversation-item[data-v-91877403]{padding:var(--spacing-md);border-radius:var(--border-radius-md);cursor:pointer;transition:background var(--transition);background:var(--color-background)}.conversation-item[data-v-91877403]:hover{background:var(--color-surface)}.conversation-item.active[data-v-91877403]{background:var(--color-primary);color:#fff}.conversation-title[data-v-91877403]{font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-meta[data-v-91877403]{font-size:var(--font-size-sm);color:var(--color-text-secondary);display:flex;justify-content:space-between}.conversation-item.active .conversation-meta[data-v-91877403]{color:#fffc}.chat-main[data-v-91877403]{flex:1;display:flex;flex-direction:column;background:var(--color-background);overflow:hidden;position:relative}.messages-container[data-v-91877403]{flex:1;overflow-y:auto;padding:var(--spacing-lg, 24px);display:flex;flex-direction:column;gap:var(--spacing-lg, 24px);position:relative}.welcome-section[data-v-91877403]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;padding:var(--spacing-2xl, 48px) var(--spacing-lg);text-align:center}.welcome-message[data-v-91877403]{margin-bottom:var(--spacing-2xl, 48px)}.welcome-message h2[data-v-91877403]{font-size:var(--font-size-xl, 26px);font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary);margin-bottom:var(--spacing-sm);line-height:1.4}.welcome-message p[data-v-91877403]{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0}.skill-cards[data-v-91877403]{display:flex;flex-wrap:wrap;gap:var(--spacing-sm, 12px);justify-content:center;max-width:800px;margin:0 auto}.skill-card[data-v-91877403]{display:inline-flex;align-items:center;gap:8px;padding:var(--chat-skill-card-padding, 10px 15px);background:var(--chat-skill-card-bg, transparent);border:var(--chat-skill-card-border, .8px solid rgba(0, 0, 0, .08));border-radius:var(--chat-skill-card-radius, var(--border-radius-xxl, 32px));color:var(--color-text-primary);font-size:var(--font-size-base);cursor:pointer;transition:all var(--transition, .2s ease);white-space:nowrap}.skill-card[data-v-91877403]:hover{background:var(--chat-skill-card-hover-bg, rgba(0, 0, 0, .04));border-color:var(--chat-skill-card-hover-border, rgba(0, 0, 0, .12));transform:translateY(-1px)}.skill-icon[data-v-91877403]{font-size:18px;line-height:1}.skill-text[data-v-91877403]{font-weight:var(--font-weight-medium, 500)}.message[data-v-91877403]{display:flex;gap:var(--spacing-md)}.message.user[data-v-91877403]{align-self:flex-end;flex-direction:row-reverse}.message.assistant[data-v-91877403]{align-self:flex-start}.message-avatar[data-v-91877403]{width:32px;height:32px;border-radius:50%;background:var(--color-surface);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.message.user .message-avatar[data-v-91877403]{background:var(--chat-message-user-bg, var(--color-primary))}.message-content[data-v-91877403]{flex:1;padding:var(--chat-message-assistant-padding, var(--spacing-md));border-radius:var(--chat-message-assistant-radius, var(--border-radius-lg));background:var(--chat-message-assistant-bg, var(--color-surface));color:var(--chat-message-assistant-color, var(--color-text-primary));box-shadow:var(--shadow-sm);max-width:var(--chat-message-assistant-max-width, 80%)}.message.user .message-content[data-v-91877403]{background:var(--chat-message-user-bg, var(--color-primary));color:var(--chat-message-user-color, white);padding:var(--chat-message-user-padding, var(--spacing-md));border-radius:var(--chat-message-user-radius, var(--border-radius-lg));max-width:var(--chat-message-user-max-width, 80%)}.message-text[data-v-91877403]{line-height:var(--line-height-base);word-wrap:break-word}.message-text[data-v-91877403] code{background:#0000001a;padding:2px 6px;border-radius:var(--border-radius-sm);font-family:monospace}.message.user .message-text[data-v-91877403] code{background:#fff3}.message-sources[data-v-91877403]{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border);font-size:var(--font-size-sm)}.message.user .message-sources[data-v-91877403]{border-top-color:#fff3}.sources-title[data-v-91877403]{color:var(--color-text-secondary);margin-bottom:var(--spacing-xs);font-weight:var(--font-weight-medium)}.message.user .sources-title[data-v-91877403]{color:#fffc}.sources-list[data-v-91877403]{display:flex;flex-wrap:wrap;gap:var(--spacing-xs, 8px);align-items:center}.source-link[data-v-91877403]{display:inline-block;padding:4px 12px;background:var(--color-surface);color:var(--color-primary);text-decoration:none;border-radius:var(--border-radius-sm, 12px);font-size:var(--font-size-sm);border:1px solid var(--color-border);transition:all .2s;white-space:nowrap}.source-link[data-v-91877403]:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary);transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.message.user .source-link[data-v-91877403]{background:#ffffff26;color:#ffffffe6;border-color:#ffffff4d}.message.user .source-link[data-v-91877403]:hover{background:#ffffff40;color:#fff;border-color:#ffffff80}.input-container[data-v-91877403]{padding:var(--spacing-lg, 24px);border-top:1px solid var(--color-border);background:var(--color-background)}.input-form[data-v-91877403]{max-width:1000px;margin:0 auto}.input-wrapper[data-v-91877403]{display:flex;align-items:flex-end;gap:var(--spacing-sm, 12px);padding:var(--spacing-md, 16px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-lg, 20px);transition:border-color var(--transition)}.input-wrapper[data-v-91877403]:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.input-textarea[data-v-91877403]{flex:1;padding:0;border:none;border-radius:0;font-size:var(--chat-input-textarea-font-size, var(--font-size-base));font-family:var(--font-family);resize:none;max-height:200px;background:transparent;color:var(--color-text-primary);line-height:var(--line-height-base, 24px);min-height:24px;outline:none}.input-textarea[data-v-91877403]::placeholder{color:var(--color-text-muted)}.input-actions[data-v-91877403]{display:flex;align-items:center;gap:var(--spacing-xs, 8px)}.action-btn[data-v-91877403]{background:none;border:none;padding:var(--spacing-xs, 8px);cursor:pointer;font-size:18px;color:var(--color-text-secondary);transition:color var(--transition);display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--border-radius-sm, 8px)}.action-btn[data-v-91877403]:hover{background:var(--color-surface);color:var(--color-text-primary)}.send-btn[data-v-91877403]{padding:var(--chat-input-button-padding, 8px 16px);background:var(--chat-input-button-bg, var(--color-primary));color:var(--chat-input-button-color, white);border:none;border-radius:var(--chat-input-button-radius, var(--border-radius-md, 16px));cursor:pointer;font-size:var(--chat-input-button-font-size, var(--font-size-base));font-weight:var(--chat-input-button-font-weight, var(--font-weight-medium, 500));transition:background var(--transition);white-space:nowrap;min-width:60px;height:32px;display:flex;align-items:center;justify-content:center}.send-btn[data-v-91877403]:hover:not(:disabled){background:var(--chat-input-button-hover-bg, var(--color-accent))}.loading-spinner[data-v-91877403]{display:inline-block;animation:spin-91877403 1s linear infinite}@keyframes spin-91877403{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.send-btn[data-v-91877403]:disabled{opacity:.5;cursor:not-allowed}.typing-indicator[data-v-91877403]{display:flex;gap:4px;padding:var(--spacing-sm) 0}.typing-indicator span[data-v-91877403]{width:8px;height:8px;border-radius:50%;background:var(--color-text-muted);animation:typing-91877403 1.4s infinite}.typing-indicator span[data-v-91877403]:nth-child(2){animation-delay:.2s}.typing-indicator span[data-v-91877403]:nth-child(3){animation-delay:.4s}@keyframes typing-91877403{0%,60%,to{transform:translateY(0);opacity:.7}30%{transform:translateY(-10px);opacity:1}}@media(max-width:768px){.chat-sidebar[data-v-91877403]{position:absolute;left:0;top:0;bottom:0;z-index:100;transform:translate(-100%);transition:transform var(--transition)}.chat-sidebar[data-v-91877403]:not(.collapsed){transform:translate(0)}.message[data-v-91877403]{max-width:90%}}.floating-chat[data-v-74384cc1]{position:fixed;bottom:24px;right:24px;z-index:1000}.floating-chat-btn[data-v-74384cc1]{width:56px;height:56px;border-radius:50%;background:var(--color-primary);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #00000026;transition:all .3s;position:relative}.floating-chat-btn[data-v-74384cc1]:hover{transform:scale(1.1);box-shadow:0 6px 16px #0003}.floating-chat-btn.is-open[data-v-74384cc1]{background:var(--color-secondary)}.chat-icon[data-v-74384cc1]{font-size:24px;line-height:1}.chat-badge[data-v-74384cc1]{position:absolute;top:-4px;right:-4px;background:#ef4444;color:#fff;border-radius:10px;padding:2px 6px;font-size:12px;font-weight:700;min-width:20px;text-align:center}.floating-chat-window[data-v-74384cc1]{position:absolute;bottom:72px;right:0;width:380px;height:600px;background:var(--color-background);border-radius:var(--border-radius-lg);box-shadow:0 8px 24px #00000026;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--color-border)}.chat-window-header[data-v-74384cc1]{padding:16px;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;background:var(--color-surface)}.chat-window-header h3[data-v-74384cc1]{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.header-actions[data-v-74384cc1]{display:flex;gap:8px}.action-btn[data-v-74384cc1]{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:4px 8px;border-radius:var(--border-radius-sm);font-size:18px;line-height:1;transition:all .2s}.action-btn[data-v-74384cc1]:hover{background:var(--color-surface);color:var(--color-primary)}.chat-window-content[data-v-74384cc1]{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.loading-state[data-v-74384cc1]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--color-text-secondary)}.loading-spinner[data-v-74384cc1]{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin-74384cc1 1s linear infinite;margin-bottom:12px}.loading-spinner-small[data-v-74384cc1]{display:inline-block;animation:spin-74384cc1 1s linear infinite}@keyframes spin-74384cc1{to{transform:rotate(360deg)}}.messages-list[data-v-74384cc1]{display:flex;flex-direction:column;gap:12px}.message-item[data-v-74384cc1]{display:flex;flex-direction:column}.message-item.user[data-v-74384cc1]{align-items:flex-end}.message-item.assistant[data-v-74384cc1]{align-items:flex-start}.message-content[data-v-74384cc1]{max-width:80%;padding:10px 14px;border-radius:var(--border-radius-md);word-wrap:break-word}.message-item.user .message-content[data-v-74384cc1]{background:var(--color-primary);color:#fff}.message-item.assistant .message-content[data-v-74384cc1]{background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border)}.message-text[data-v-74384cc1]{font-size:var(--font-size-sm);line-height:1.5;margin-bottom:4px;word-wrap:break-word}.message-text[data-v-74384cc1] strong{font-weight:var(--font-weight-bold)}.message-text[data-v-74384cc1] em{font-style:italic}.message-text[data-v-74384cc1] code{background:#0000001a;padding:2px 6px;border-radius:var(--border-radius-sm);font-family:monospace;font-size:.9em}.message-item.user .message-text[data-v-74384cc1] code{background:#fff3}.message-text[data-v-74384cc1] pre{background:#0000000d;padding:8px 12px;border-radius:var(--border-radius-sm);overflow-x:auto;margin:8px 0}.message-text[data-v-74384cc1] pre code{background:none;padding:0;font-size:.85em;line-height:1.6}.message-item.user .message-text[data-v-74384cc1] pre{background:#ffffff26}.message-time[data-v-74384cc1]{font-size:11px;opacity:.7;margin-top:4px}.empty-state[data-v-74384cc1]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--color-text-secondary);text-align:center;padding:32px}.empty-icon[data-v-74384cc1]{font-size:48px;margin-bottom:16px;opacity:.5}.empty-text[data-v-74384cc1]{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);margin-bottom:8px;color:var(--color-text-primary)}.empty-hint[data-v-74384cc1]{font-size:var(--font-size-sm);opacity:.7}.chat-window-input[data-v-74384cc1]{padding:12px;border-top:1px solid var(--color-border);display:flex;gap:8px;background:var(--color-surface)}.input-field[data-v-74384cc1]{flex:1;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);outline:none;transition:border-color .2s}.input-field[data-v-74384cc1]:focus{border-color:var(--color-primary)}.send-btn[data-v-74384cc1]{padding:8px 16px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--border-radius-md);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:background .2s;white-space:nowrap}.send-btn[data-v-74384cc1]:hover:not(:disabled){background:var(--color-accent)}.send-btn[data-v-74384cc1]:disabled{opacity:.5;cursor:not-allowed}.chat-window-content[data-v-74384cc1]::-webkit-scrollbar{width:6px}.chat-window-content[data-v-74384cc1]::-webkit-scrollbar-track{background:transparent}.chat-window-content[data-v-74384cc1]::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.chat-window-content[data-v-74384cc1]::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}*{margin:0;padding:0;box-sizing:border-box}:root{--color-primary: #2563eb;--color-secondary: #64748b;--color-background: #ffffff;--color-surface: #f8fafc;--color-text-primary: #1e293b;--color-text-secondary: #64748b;--color-text-muted: #94a3b8;--color-border: #e2e8f0;--color-accent: #2563eb;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-base: 16px;--font-size-sm: 14px;--font-size-lg: 18px;--font-size-xl: 20px;--line-height-base: 1.6;--line-height-tight: 1.4;--line-height-loose: 1.8;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--spacing-base: 1rem;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--container-max-width: 1200px;--container-padding: 2rem;--border-width: 1px;--border-radius-sm: .25rem;--border-radius-md: .5rem;--border-radius-lg: .75rem;--border-radius-xxl: 32px;--border-radius-xxxl: 36px;--chat-sidebar-width: 280px;--chat-sidebar-bg: var(--color-surface);--chat-sidebar-border: 1px solid var(--color-border);--chat-sidebar-padding: var(--spacing-md);--chat-skill-card-bg: transparent;--chat-skill-card-radius: 32px;--chat-skill-card-padding: 10px 15px;--chat-skill-card-border: .8px solid rgba(0, 0, 0, .08);--chat-skill-card-hover-bg: rgba(0, 0, 0, .04);--chat-skill-card-hover-border: rgba(0, 0, 0, .12);--chat-message-user-bg: var(--color-primary);--chat-message-user-color: #ffffff;--chat-message-user-radius: 20px;--chat-message-user-padding: 12px 16px;--chat-message-user-max-width: 80%;--chat-message-assistant-bg: var(--color-surface);--chat-message-assistant-color: var(--color-text-primary);--chat-message-assistant-radius: 20px;--chat-message-assistant-padding: 12px 16px;--chat-message-assistant-max-width: 80%;--chat-input-textarea-bg: transparent;--chat-input-textarea-border: var(--color-border);--chat-input-textarea-radius: 16px;--chat-input-textarea-padding: 12px 16px;--chat-input-textarea-font-size: 16px;--chat-input-textarea-min-height: auto;--chat-input-button-bg: var(--color-primary);--chat-input-button-color: #ffffff;--chat-input-button-radius: 16px;--chat-input-button-padding: 10px 20px;--chat-input-button-font-size: 16px;--chat-input-button-font-weight: 500;--chat-input-button-hover-bg: var(--color-accent);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--transition: .2s ease-in-out;--duration-fast: .15s;--duration-normal: .2s;--duration-slow: .3s}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text-primary);background:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{min-height:100vh;display:flex;flex-direction:column}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--color-accent)}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:var(--color-surface)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}
