.header[data-v-5e9552e6]{position:fixed;top:0;left:0;right:0;height:var(--header-height);background-color:var(--color-bg);border-bottom:1px solid var(--color-border-light);z-index:var(--z-fixed)}.header-container[data-v-5e9552e6]{display:flex;align-items:center;height:100%;max-width:1400px;margin:0 auto;padding:0 var(--spacing-lg);gap:var(--spacing-md)}.logo[data-v-5e9552e6]{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--color-text);font-weight:600;font-size:var(--font-size-lg);text-decoration:none}.logo-icon[data-v-5e9552e6]{flex-shrink:0}.logo-text[data-v-5e9552e6]{white-space:nowrap}.nav-desktop[data-v-5e9552e6]{display:flex;align-items:center;gap:var(--spacing-sm);margin-left:var(--spacing-lg)}.search-box[data-v-5e9552e6]{position:relative;margin-left:auto}.search-box .input[data-v-5e9552e6]{width:240px;padding-left:40px}.search-icon[data-v-5e9552e6]{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none}.sidebar-btn[data-v-5e9552e6],.menu-btn[data-v-5e9552e6]{display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:var(--color-text)}.mobile-menu[data-v-5e9552e6]{position:absolute;top:100%;left:0;right:0;background-color:var(--color-bg);border-bottom:1px solid var(--color-border-light);padding:var(--spacing-md)}.mobile-nav[data-v-5e9552e6]{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.mobile-search[data-v-5e9552e6],.mobile-search .input[data-v-5e9552e6]{width:100%}@media(max-width:768px){.header-container[data-v-5e9552e6]{padding:0 var(--spacing-md);gap:var(--spacing-sm)}.logo-text[data-v-5e9552e6]{font-size:var(--font-size-base)}.sidebar-btn[data-v-5e9552e6]{order:-1}.menu-btn[data-v-5e9552e6]{margin-left:auto}}.sidebar[data-v-0abcd8a9]{position:fixed;top:var(--header-height);left:0;bottom:0;width:var(--sidebar-width);background-color:var(--color-bg);border-right:1px solid var(--color-border-light);overflow-y:auto;z-index:var(--z-sticky);transition:transform var(--transition-normal)}.sidebar-header[data-v-0abcd8a9]{padding:var(--spacing-lg);border-bottom:1px solid var(--color-border-light)}.sidebar-title[data-v-0abcd8a9]{font-size:var(--font-size-base);font-weight:600;color:var(--color-text)}.sidebar-nav[data-v-0abcd8a9]{padding:var(--spacing-md)}.sidebar-category[data-v-0abcd8a9]{margin-bottom:var(--spacing-sm)}.category-header[data-v-0abcd8a9]{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;border-radius:var(--radius-md);transition:background-color var(--transition-fast)}.category-header[data-v-0abcd8a9]:hover{background-color:var(--color-bg-tertiary)}.category-title[data-v-0abcd8a9]{flex:1;font-weight:500;color:var(--color-text)}.expand-icon[data-v-0abcd8a9]{color:var(--color-text-muted);transition:transform var(--transition-fast)}.category-header.expanded .expand-icon[data-v-0abcd8a9]{transform:rotate(90deg)}.category-tutorials[data-v-0abcd8a9]{padding-left:var(--spacing-lg);margin-top:var(--spacing-xs)}.tutorial-link[data-v-0abcd8a9]{display:block;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-secondary);border-radius:var(--radius-md);transition:all var(--transition-fast)}.tutorial-link[data-v-0abcd8a9]:hover{color:var(--color-primary);background-color:var(--color-bg-tertiary)}.tutorial-link.active[data-v-0abcd8a9]{color:var(--color-primary);background-color:var(--color-primary-bg);font-weight:500}.sidebar-overlay[data-v-0abcd8a9]{display:none}.sidebar-header[data-v-0abcd8a9]{display:flex;align-items:center;justify-content:space-between}.close-btn[data-v-0abcd8a9]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;color:var(--color-text-secondary);border-radius:var(--radius-md)}.close-btn[data-v-0abcd8a9]:hover{background-color:var(--color-bg-tertiary);color:var(--color-text)}@media(max-width:768px){.sidebar[data-v-0abcd8a9]{transform:translate(-100%);z-index:var(--z-modal)}.sidebar-overlay[data-v-0abcd8a9]{display:block;position:fixed;top:var(--header-height);left:0;right:0;bottom:0;background-color:#00000080;z-index:calc(var(--z-modal) - 1)}}.footer[data-v-009c4f9a]{margin-top:auto;background-color:var(--color-bg-secondary);border-top:1px solid var(--color-border-light)}.footer-container[data-v-009c4f9a]{display:flex;justify-content:space-between;gap:var(--spacing-2xl);max-width:1200px;margin:0 auto;padding:var(--spacing-2xl) var(--spacing-lg)}.footer-info[data-v-009c4f9a]{flex:1}.footer-brand[data-v-009c4f9a]{display:flex;align-items:center;gap:var(--spacing-sm);font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-md)}.footer-logo[data-v-009c4f9a]{flex-shrink:0}.footer-desc[data-v-009c4f9a]{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.footer-links[data-v-009c4f9a]{display:flex;gap:var(--spacing-3xl)}.footer-section[data-v-009c4f9a]{display:flex;flex-direction:column;gap:var(--spacing-sm)}.footer-section h4[data-v-009c4f9a]{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-sm)}.footer-section a[data-v-009c4f9a]{font-size:var(--font-size-sm);color:var(--color-text-secondary);transition:color var(--transition-fast)}.footer-section a[data-v-009c4f9a]:hover{color:var(--color-primary)}.footer-bottom[data-v-009c4f9a]{padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--color-border-light);text-align:center}.footer-bottom p[data-v-009c4f9a]{font-size:var(--font-size-sm);color:var(--color-text-muted)}@media(max-width:768px){.footer-container[data-v-009c4f9a]{flex-direction:column;gap:var(--spacing-xl)}.footer-links[data-v-009c4f9a]{flex-wrap:wrap;gap:var(--spacing-xl)}}.layout[data-v-82caef75]{min-height:100vh;display:flex;flex-direction:column}.layout-body[data-v-82caef75]{display:flex;flex:1;padding-top:var(--header-height)}.layout-main[data-v-82caef75]{flex:1;min-width:0;margin-left:var(--sidebar-width);transition:margin-left var(--transition-normal);background-color:var(--color-bg)}@media(max-width:768px){.layout-main[data-v-82caef75]{margin-left:0}}:root{--color-primary: #4784ff;--color-primary-light: #6b9bff;--color-primary-dark: #2d6aff;--color-primary-bg: #e8f0ff;--color-bg: #ffffff;--color-bg-secondary: #f8fafc;--color-bg-tertiary: #f1f5f9;--color-text: #1e293b;--color-text-secondary: #64748b;--color-text-muted: #94a3b8;--color-border: #e2e8f0;--color-border-light: #f1f5f9;--color-success: #22c55e;--color-warning: #f59e0b;--color-error: #ef4444;--color-info: #3b82f6;--color-code-bg: #f8fafc;--color-code-inline-bg: #e2e8f0;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--spacing-3xl: 64px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-mono: "SF Mono", "Fira Code", Consolas, "Liberation Mono", Menlo, monospace;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 30px;--font-size-4xl: 36px;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease;--header-height: 64px;--sidebar-width: 280px;--content-max-width: 900px;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal: 400;--z-tooltip: 500}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-bg);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-dark)}img{max-width:100%;height:auto;display:block}ul,ol{list-style:none}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none}input,textarea{font-family:inherit;font-size:inherit;border:none;outline:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-tertiary)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}::selection{background-color:var(--color-primary-bg);color:var(--color-primary-dark)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg)}.text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.text-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}@media(max-width:768px){.hide-mobile{display:none!important}}@media(min-width:769px)and (max-width:1024px){.hide-tablet{display:none!important}}@media(min-width:1025px){.hide-desktop{display:none!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-base);font-weight:500;line-height:1.5;border-radius:var(--radius-md);transition:all var(--transition-fast);cursor:pointer}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:var(--color-primary-dark);color:#fff}.btn-secondary{background-color:var(--color-bg-tertiary);color:var(--color-text)}.btn-secondary:hover{background-color:var(--color-border)}.btn-outline{background-color:transparent;border:1px solid var(--color-border);color:var(--color-text)}.btn-outline:hover{border-color:var(--color-primary);color:var(--color-primary)}.btn-lg{padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-lg)}.btn-sm{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm)}.card{background-color:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all var(--transition-normal)}.card:hover{box-shadow:var(--shadow-md);border-color:var(--color-border)}.card-body{padding:var(--spacing-lg)}.card-header{padding:var(--spacing-lg);border-bottom:1px solid var(--color-border-light)}.card-footer{padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--color-border-light);background-color:var(--color-bg-secondary);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.tag{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);font-weight:500;border-radius:var(--radius-sm);background-color:var(--color-bg-tertiary);color:var(--color-text-secondary)}.tag-primary{background-color:var(--color-primary-bg);color:var(--color-primary)}.tag-success{background-color:#dcfce7;color:#16a34a}.tag-warning{background-color:#fef3c7;color:#d97706}.input{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);line-height:1.5;color:var(--color-text);background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-fast)}.input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-bg)}.input::placeholder{color:var(--color-text-muted)}.search-box{position:relative;display:flex;align-items:center}.search-box .input{padding-left:40px}.search-box .search-icon{position:absolute;left:12px;color:var(--color-text-muted);pointer-events:none}.breadcrumb{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.breadcrumb-item{display:flex;align-items:center;gap:var(--spacing-sm)}.breadcrumb-item a{color:var(--color-text-secondary)}.breadcrumb-item a:hover{color:var(--color-primary)}.breadcrumb-item.active{color:var(--color-text);font-weight:500}.breadcrumb-separator{color:var(--color-text-muted)}.nav-link{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-secondary);font-size:var(--font-size-base);border-radius:var(--radius-md);transition:all var(--transition-fast)}.nav-link:hover{color:var(--color-text);background-color:var(--color-bg-tertiary)}.nav-link.active{color:var(--color-primary);background-color:var(--color-primary-bg);font-weight:500}.sidebar-menu{padding:var(--spacing-md)}.sidebar-menu-item{margin-bottom:var(--spacing-xs)}.sidebar-menu-title{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);font-weight:500;color:var(--color-text);cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-fast)}.sidebar-menu-title:hover{background-color:var(--color-bg-tertiary)}.sidebar-menu-title .icon{transition:transform var(--transition-fast)}.sidebar-menu-title.expanded .icon{transform:rotate(90deg)}.sidebar-submenu{padding-left:var(--spacing-md);margin-top:var(--spacing-xs);overflow:hidden}.sidebar-submenu-item{display:block;padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-secondary);font-size:var(--font-size-sm);border-radius:var(--radius-md);transition:all var(--transition-fast)}.sidebar-submenu-item:hover{color:var(--color-primary);background-color:var(--color-bg-tertiary)}.sidebar-submenu-item.active{color:var(--color-primary);background-color:var(--color-primary-bg)}.progress{height:4px;background-color:var(--color-bg-tertiary);border-radius:var(--radius-full);overflow:hidden}.progress-bar{height:100%;background-color:var(--color-primary);border-radius:var(--radius-full);transition:width var(--transition-normal)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-3xl);text-align:center}.empty-state-icon{font-size:48px;color:var(--color-text-muted);margin-bottom:var(--spacing-lg)}.empty-state-title{font-size:var(--font-size-xl);font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-sm)}.empty-state-desc{font-size:var(--font-size-base);color:var(--color-text-secondary)}.divider{height:1px;background-color:var(--color-border-light);margin:var(--spacing-lg) 0}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);color:var(--color-text-secondary);transition:all var(--transition-fast)}.icon-btn:hover{background-color:var(--color-bg-tertiary);color:var(--color-text)}.tooltip{position:relative}.tooltip:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);color:#fff;background-color:var(--color-text);border-radius:var(--radius-sm);white-space:nowrap;opacity:0;visibility:hidden;transition:all var(--transition-fast)}.tooltip:hover:after{opacity:1;visibility:visible}.markdown-body{font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--color-text)}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:var(--spacing-2xl);margin-bottom:var(--spacing-md);font-weight:600;line-height:var(--line-height-tight);color:var(--color-text)}.markdown-body h1{font-size:var(--font-size-4xl);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border-light)}.markdown-body h2{font-size:var(--font-size-3xl);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border-light)}.markdown-body h3{font-size:var(--font-size-2xl)}.markdown-body h4{font-size:var(--font-size-xl)}.markdown-body h5{font-size:var(--font-size-lg)}.markdown-body h6{font-size:var(--font-size-base);color:var(--color-text-secondary)}.markdown-body p{margin-bottom:var(--spacing-lg)}.markdown-body a{color:var(--color-primary);text-decoration:none;border-bottom:1px solid transparent;transition:border-color var(--transition-fast)}.markdown-body a:hover{border-bottom-color:var(--color-primary)}.markdown-body ul,.markdown-body ol{margin-bottom:var(--spacing-lg);padding-left:var(--spacing-xl)}.markdown-body ul{list-style-type:disc}.markdown-body ol{list-style-type:decimal}.markdown-body li{margin-bottom:var(--spacing-sm)}.markdown-body li>ul,.markdown-body li>ol{margin-top:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.markdown-body blockquote{margin:var(--spacing-lg) 0;padding:var(--spacing-md) var(--spacing-lg);border-left:4px solid var(--color-primary);background-color:var(--color-bg-secondary);border-radius:0 var(--radius-md) var(--radius-md) 0}.markdown-body blockquote p:last-child{margin-bottom:0}.markdown-body code{font-family:var(--font-mono);font-size:.9em;padding:2px 6px;background-color:var(--color-code-inline-bg);border-radius:var(--radius-sm)}.markdown-body pre{margin:var(--spacing-lg) 0;padding:var(--spacing-lg);background-color:var(--color-code-bg);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);overflow-x:auto}.markdown-body pre code{padding:0;background-color:transparent;font-size:var(--font-size-sm);line-height:1.6}.markdown-body pre[data-lang]:before{content:attr(data-lang);display:block;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);font-size:var(--font-size-xs);font-weight:500;color:var(--color-text-muted);text-transform:uppercase;border-bottom:1px solid var(--color-border-light)}.markdown-body table{width:100%;margin:var(--spacing-lg) 0;border-collapse:collapse;border-radius:var(--radius-md);overflow:hidden}.markdown-body th,.markdown-body td{padding:var(--spacing-sm) var(--spacing-md);text-align:left;border:1px solid var(--color-border)}.markdown-body th{background-color:var(--color-bg-secondary);font-weight:600}.markdown-body tr:nth-child(2n){background-color:var(--color-bg-secondary)}.markdown-body img{max-width:100%;margin:var(--spacing-lg) auto;border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.markdown-body hr{margin:var(--spacing-2xl) 0;border:none;border-top:1px solid var(--color-border-light)}.markdown-body .tip,.markdown-body .warning,.markdown-body .danger,.markdown-body .info{margin:var(--spacing-lg) 0;padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);border-left:4px solid}.markdown-body .tip{background-color:#f0fdf4;border-color:var(--color-success)}.markdown-body .warning{background-color:#fffbeb;border-color:var(--color-warning)}.markdown-body .danger{background-color:#fef2f2;border-color:var(--color-error)}.markdown-body .info{background-color:#eff6ff;border-color:var(--color-info)}.markdown-body .footnotes{margin-top:var(--spacing-2xl);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border-light);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.markdown-body input[type=checkbox]{margin-right:var(--spacing-sm);vertical-align:middle}.markdown-body dl{margin:var(--spacing-lg) 0}.markdown-body dt{font-weight:600;margin-top:var(--spacing-md)}.markdown-body dd{margin-left:var(--spacing-xl);color:var(--color-text-secondary)}.markdown-body abbr{border-bottom:1px dotted var(--color-text-muted);cursor:help}.markdown-body mark{background-color:#fef08a;padding:1px 4px;border-radius:2px}.markdown-body kbd{display:inline-block;padding:2px 6px;font-family:var(--font-mono);font-size:var(--font-size-xs);background-color:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:inset 0 -1px 0 var(--color-border)}.markdown-body sub,.markdown-body sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.markdown-body sup{top:-.5em}.markdown-body sub{bottom:-.25em}
