.app-header[data-v-e158757d]{height:var(--header-height);background:var(--bg-primary);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:100}.app-header[data-v-e158757d]:has(.mobile-nav){height:auto}.header-content[data-v-e158757d]{max-width:1600px;margin:0 auto;height:var(--header-height);display:flex;align-items:center;justify-content:space-between;padding:0 20px}.header-left[data-v-e158757d]{display:flex;align-items:center;gap:28px}.header-logo[data-v-e158757d]{display:flex;align-items:center;gap:8px;font-weight:600;font-size:15px;color:var(--text-primary);text-decoration:none}.logo-icon[data-v-e158757d]{width:22px;height:22px;color:var(--color-primary);flex-shrink:0}.logo-text[data-v-e158757d]{color:var(--text-primary);letter-spacing:-.01em}.header-nav[data-v-e158757d]{display:flex;align-items:center;gap:2px}.nav-link[data-v-e158757d]{padding:5px 10px;border-radius:var(--radius);font-size:var(--font-size-sm);color:var(--text-tertiary);text-decoration:none;transition:all .15s;font-weight:500}.nav-link[data-v-e158757d]:hover{background:var(--bg-hover);color:var(--text-primary);text-decoration:none}.nav-link.router-link-active[data-v-e158757d]{color:var(--text-primary);font-weight:500}.header-right[data-v-e158757d]{display:flex;align-items:center;gap:8px}.theme-toggle[data-v-e158757d]{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border-color);border-radius:var(--radius);cursor:pointer;color:var(--text-tertiary);transition:all .15s;padding:0}.theme-toggle[data-v-e158757d]:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-color-strong)}.theme-toggle svg[data-v-e158757d]{width:16px;height:16px}.hamburger-btn[data-v-e158757d]{display:none;width:34px;height:34px;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border-color);border-radius:var(--radius);cursor:pointer;color:var(--text-tertiary);transition:all .15s;padding:0}.hamburger-btn[data-v-e158757d]:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-color-strong)}.hamburger-btn svg[data-v-e158757d]{width:18px;height:18px}.mobile-nav[data-v-e158757d]{display:none;flex-direction:column;background:var(--bg-primary);border-top:1px solid var(--border-color);padding:8px 0}.mobile-nav-link[data-v-e158757d]{display:flex;align-items:center;min-height:44px;padding:0 20px;font-size:var(--font-size-md);font-weight:500;color:var(--text-secondary);text-decoration:none;transition:background .15s,color .15s;border-left:3px solid transparent}.mobile-nav-link[data-v-e158757d]:hover{background:var(--bg-hover);color:var(--text-primary);text-decoration:none}.mobile-nav-link.router-link-active[data-v-e158757d]{color:var(--color-primary);border-left-color:var(--color-primary);background:var(--color-primary-light)}[data-theme=dark] .mobile-nav-link.router-link-active[data-v-e158757d]{background:#2563eb1a}.mobile-overlay[data-v-e158757d]{display:none;position:fixed;right:0;bottom:0;left:0;top:0;background:#0000004d;z-index:-1}@media (max-width: 768px){.header-nav[data-v-e158757d]{display:none}.hamburger-btn[data-v-e158757d],.mobile-nav[data-v-e158757d]{display:flex}.mobile-overlay[data-v-e158757d]{display:block}}.app-layout[data-v-a0455f6d]{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-primary)}.app-main[data-v-a0455f6d]{flex:1;display:flex}:root{--color-primary: #2563eb;--color-primary-dark: #1d4ed8;--color-primary-light: #eff6ff;--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--color-info: #6366f1;--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--bg-hover: #e8f0fe;--bg-active: #dbeafe;--border-color: #e2e8f0;--border-color-strong: #cbd5e1;--text-primary: #0f172a;--text-secondary: #334155;--text-tertiary: #64748b;--text-muted: #94a3b8;--text-link: #2563eb;--sidebar-width: 260px;--header-height: 56px;--toc-width: 220px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .04);--shadow: 0 1px 3px 0 rgb(0 0 0 / .08), 0 1px 2px -1px rgb(0 0 0 / .08);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .08), 0 2px 4px -2px rgb(0 0 0 / .08);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--radius-sm: 4px;--radius: 6px;--radius-lg: 10px;--radius-xl: 14px;--radius-full: 9999px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;--font-size-xs: 11px;--font-size-sm: 13px;--font-size-base: 14px;--font-size-md: 15px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 22px;--font-size-3xl: 28px}[data-theme=dark]{--bg-primary: #0a0a0a;--bg-secondary: #111111;--bg-tertiary: #1a1a1a;--bg-hover: #1e1e1e;--bg-active: #1a2035;--border-color: #222222;--border-color-strong: #2e2e2e;--text-primary: #f8fafc;--text-secondary: #e2e8f0;--text-tertiary: #94a3b8;--text-muted: #475569;--text-link: #60a5fa;--color-primary-light: rgba(37, 99, 235, .15);--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .4);--shadow: 0 1px 3px 0 rgb(0 0 0 / .5);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .5);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .6)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:var(--font-size-base);color:var(--text-primary);background:var(--bg-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--text-link);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color-strong);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.markdown-body{font-size:var(--font-size-md);line-height:1.75;color:var(--text-primary)}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:1.5em;margin-bottom:.75em;font-weight:600;line-height:1.3;color:var(--text-primary)}.markdown-body h1{font-size:1.75rem;border-bottom:1px solid var(--border-color);padding-bottom:.5rem}.markdown-body h2{font-size:1.4rem;border-bottom:1px solid var(--border-color);padding-bottom:.4rem}.markdown-body h3{font-size:1.15rem}.markdown-body h4{font-size:1rem}.markdown-body p{margin-bottom:1em}.markdown-body code{font-family:var(--font-mono);font-size:.875em;background:var(--bg-tertiary);padding:.2em .4em;border-radius:var(--radius-sm);color:#c084fc}.markdown-body pre{background:#1e1e2e;color:#e2e8f0;padding:1em 1.25em;border-radius:var(--radius);overflow-x:auto;margin-bottom:1em;font-size:var(--font-size-sm);line-height:1.65;border:1px solid rgba(255,255,255,.06)}.markdown-body pre code{background:transparent;padding:0;color:inherit;font-size:inherit;font-family:var(--font-mono)}[data-theme=dark] .markdown-body code{background:#ffffff0f;color:#c084fc}.markdown-body ul,.markdown-body ol{padding-left:1.5em;margin-bottom:1em}.markdown-body li{margin-bottom:.25em}.markdown-body table{width:100%;border-collapse:collapse;margin-bottom:1em;font-size:var(--font-size-sm)}.markdown-body table th,.markdown-body table td{border:1px solid var(--border-color);padding:8px 12px;text-align:left}.markdown-body table th{background:var(--bg-secondary);font-weight:600;color:var(--text-secondary)}.markdown-body table tr:nth-child(2n){background:var(--bg-secondary)}.markdown-body table tbody tr:hover{background:var(--bg-hover);transition:background .1s}.markdown-body blockquote{border-left:3px solid var(--color-primary);padding:.6em 1em;margin-bottom:1em;background:var(--color-primary-light);border-radius:0 var(--radius) var(--radius) 0;color:var(--text-secondary)}[data-theme=dark] .markdown-body blockquote{background:#2563eb14;border-left-color:#3b82f6}.markdown-body img{max-width:100%;border-radius:var(--radius)}.markdown-body hr{border:none;border-top:1px solid var(--border-color);margin:1.5em 0}.code-block{position:relative;margin-bottom:1.25em;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border-color)}.code-block__header{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:#161622;border-bottom:1px solid rgba(255,255,255,.06);font-size:11px;font-family:var(--font-mono)}.code-block__lang{color:#7c7c94;text-transform:uppercase;letter-spacing:.05em}.code-block__copy{background:transparent;border:1px solid rgba(255,255,255,.12);color:#7c7c94;padding:2px 8px;border-radius:var(--radius-sm);font-size:11px;cursor:pointer;transition:all .15s;font-family:inherit}.code-block__copy:hover{background:#ffffff14;color:#e2e8f0;border-color:#fff3}.code-block pre{margin:0;padding:1em 1.25em;background:#13131e!important;overflow-x:auto;font-size:13px;line-height:1.65}.code-block pre code{background:transparent!important;padding:0;color:inherit;font-size:inherit;font-family:var(--font-mono)}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius);font-size:var(--font-size-sm);font-weight:500;border:none;transition:all .15s ease;white-space:nowrap}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-dark)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--bg-hover)}.btn-danger{background:#fee2e2;color:var(--color-error);border:1px solid #fca5a5}.btn-danger:hover{background:#fecaca}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover{background:var(--bg-hover)}.btn-sm{padding:4px 10px;font-size:var(--font-size-xs)}.btn-lg{padding:12px 24px;font-size:var(--font-size-lg)}.form-group{margin-bottom:16px}.form-label{display:block;font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary);margin-bottom:6px}.form-input{width:100%;padding:10px 14px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius);font-size:var(--font-size-base);color:var(--text-primary);font-family:inherit;transition:border-color .15s;outline:none}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:18px;padding-right:36px}.form-hint{font-size:var(--font-size-xs);color:var(--text-muted);margin-top:4px}.form-error{font-size:var(--font-size-xs);color:var(--color-error);margin-top:4px}.alert{padding:12px 16px;border-radius:var(--radius);font-size:var(--font-size-sm);border:1px solid;margin-bottom:12px}.alert-error{background:#fef2f2;border-color:#fca5a5;color:#b91c1c}.alert-success{background:#f0fdf4;border-color:#86efac;color:#15803d}.alert-warning{background:#fffbeb;border-color:#fcd34d;color:#92400e}.alert-info{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}.card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm)}.spinner{width:20px;height:20px;border:2px solid var(--border-color);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.typing-cursor{display:inline-block;width:2px;height:1em;background:var(--text-primary);margin-left:1px;vertical-align:middle;animation:blink .75s step-end infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@media (max-width: 768px){:root{--sidebar-width: 260px}}.markdown-body :not(pre)>code{word-break:break-word;overflow-wrap:break-word;white-space:pre-wrap}.code-block{max-width:100%;overflow:hidden}.code-block pre{word-break:normal;overflow-wrap:normal;white-space:pre}.markdown-body pre{max-width:100%}@media (max-width: 768px){.markdown-body table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
  Theme: GitHub Dark Dimmed
  Description: Dark dimmed theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Colors taken from GitHub's CSS
*/.hljs{color:#adbac7;background:#22272e}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#f47067}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#dcbdfb}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#6cb6ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#96d0ff}.hljs-built_in,.hljs-symbol{color:#f69d50}.hljs-comment,.hljs-code,.hljs-formula{color:#768390}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#8ddb8c}.hljs-subst{color:#adbac7}.hljs-section{color:#316dca;font-weight:700}.hljs-bullet{color:#eac55f}.hljs-emphasis{color:#adbac7;font-style:italic}.hljs-strong{color:#adbac7;font-weight:700}.hljs-addition{color:#b4f1b4;background-color:#1b4721}.hljs-deletion{color:#ffd8d3;background-color:#78191b}
