.notify-container[data-v-56eea0d4]{position:fixed;top:24px;left:50%;transform:translateX(-50%);z-index:10000;display:flex;flex-direction:column;gap:10px;pointer-events:none}.notify-toast[data-v-56eea0d4]{display:flex;align-items:center;gap:10px;min-width:280px;max-width:420px;padding:14px 16px;border-radius:8px;background:#fff;box-shadow:0 4px 20px rgba(0,0,0,.12),0 0 0 1px rgba(0,0,0,.04);pointer-events:auto;overflow:hidden;position:relative}.notify-icon[data-v-56eea0d4]{flex-shrink:0;display:grid;place-items:center;width:28px;height:28px;border-radius:50%}.notify-success .notify-icon[data-v-56eea0d4]{background:rgba(39,174,96,.1);color:#27ae60}.notify-error .notify-icon[data-v-56eea0d4]{background:rgba(192,57,43,.1);color:#c0392b}.notify-warning .notify-icon[data-v-56eea0d4]{background:rgba(212,145,10,.1);color:#d4910a}.notify-info .notify-icon[data-v-56eea0d4]{background:rgba(52,152,219,.1);color:#3498db}.notify-text[data-v-56eea0d4]{flex:1;font-size:14px;line-height:1.5;color:#1a1a1a;word-break:break-word}.notify-close[data-v-56eea0d4]{flex-shrink:0;display:grid;place-items:center;width:24px;height:24px;border:0;border-radius:4px;background:transparent;color:#999;cursor:pointer;transition:all .15s}.notify-close[data-v-56eea0d4]:hover{background:rgba(0,0,0,.06);color:#1a1a1a}.notify-progress[data-v-56eea0d4]{position:absolute;bottom:0;left:0;height:3px;width:100%;transform-origin:left;animation:notify-shrink-56eea0d4 linear forwards}.notify-success .notify-progress[data-v-56eea0d4]{background:#27ae60}.notify-error .notify-progress[data-v-56eea0d4]{background:#c0392b}.notify-warning .notify-progress[data-v-56eea0d4]{background:#d4910a}.notify-info .notify-progress[data-v-56eea0d4]{background:#3498db}.notify-progress-paused[data-v-56eea0d4]{animation-play-state:paused}@keyframes notify-shrink-56eea0d4{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.notify-enter-active[data-v-56eea0d4]{animation:notify-in-56eea0d4 .3s cubic-bezier(.16,1,.3,1)}.notify-leave-active[data-v-56eea0d4]{animation:notify-out-56eea0d4 .2s ease-in forwards}@keyframes notify-in-56eea0d4{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes notify-out-56eea0d4{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}.confirm-overlay[data-v-af27c5ae]{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(26,26,26,.4);backdrop-filter:blur(4px);z-index:10001}.confirm-box[data-v-af27c5ae]{width:min(420px,90vw);background:#fff;border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.12),0 0 0 1px rgba(0,0,0,.04);overflow:hidden}.confirm-header[data-v-af27c5ae]{display:flex;align-items:center;gap:12px;padding:24px 24px 0}.confirm-icon-wrapper[data-v-af27c5ae]{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:rgba(212,145,10,.1);color:#d4910a;flex-shrink:0}.confirm-title[data-v-af27c5ae]{margin:0;font-size:18px;font-weight:600;color:#1a1a1a}.confirm-message[data-v-af27c5ae]{margin:12px 24px 0;padding:0;font-size:14px;line-height:1.7;color:#666}.confirm-actions[data-v-af27c5ae]{display:flex;justify-content:flex-end;gap:10px;padding:20px 24px 24px}.confirm-btn[data-v-af27c5ae]{display:inline-flex;align-items:center;justify-content:center;padding:9px 20px;border:0;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.confirm-btn[data-v-af27c5ae]:active{transform:scale(.97)}.confirm-btn-cancel[data-v-af27c5ae]{border:1px solid rgba(26,26,26,.1);background:#fff;color:#1a1a1a}.confirm-btn-cancel[data-v-af27c5ae]:hover{background:#f5f4f0;border-color:rgba(26,26,26,.15)}.confirm-btn-ok[data-v-af27c5ae]{background:linear-gradient(135deg,#c0392b,#a93226);color:#fff}.confirm-btn-ok[data-v-af27c5ae]:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(192,57,43,.25)}.confirm-enter-active[data-v-af27c5ae]{animation:confirm-in-af27c5ae .25s cubic-bezier(.16,1,.3,1)}.confirm-leave-active[data-v-af27c5ae]{animation:confirm-out-af27c5ae .15s ease-in forwards}@keyframes confirm-in-af27c5ae{0%{opacity:0}to{opacity:1}}@keyframes confirm-out-af27c5ae{0%{opacity:1}to{opacity:0}}*{box-sizing:border-box}#app,body,html{margin:0;height:100%}a{color:inherit}button,input,select,textarea{font:inherit}.admin-shell[data-v-9e628d5e]{display:flex;height:100vh;background:var(--bg-page);overflow:hidden}.sidebar[data-v-9e628d5e]{display:flex;flex-direction:column;width:220px;flex-shrink:0;background:var(--bg-sidebar);border-right:1px solid var(--line);overflow-y:auto}.sidebar-top[data-v-9e628d5e]{padding:0 16px;border-bottom:1px solid var(--line)}.brand[data-v-9e628d5e],.sidebar-top[data-v-9e628d5e]{display:flex;align-items:center;justify-content:center}.brand[data-v-9e628d5e]{gap:12px;text-decoration:none;width:100%;padding:8px 0}.brand-logo[data-v-9e628d5e]{width:52px;height:52px;border-radius:var(--radius-lg);-o-object-fit:contain;object-fit:contain}.brand-text[data-v-9e628d5e]{font-size:18px;font-weight:700;color:var(--text-main);letter-spacing:.03em}.sidebar-nav[data-v-9e628d5e]{flex:1;display:flex;flex-direction:column;gap:2px;padding:12px 8px}.nav-item[data-v-9e628d5e]{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-lg);color:var(--text-subtle);text-decoration:none;font-size:14px;font-weight:500;transition:all .15s}.nav-item[data-v-9e628d5e]:hover{background:var(--bg-soft);color:var(--text-main)}.nav-item.router-link-active[data-v-9e628d5e]{background:var(--accent-soft);color:var(--accent);font-weight:600}.nav-icon[data-v-9e628d5e]{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0}.nav-label[data-v-9e628d5e]{white-space:nowrap}.sidebar-bottom[data-v-9e628d5e]{padding:8px;border-top:1px solid var(--line)}.back-link[data-v-9e628d5e]{color:var(--text-muted)}.back-link[data-v-9e628d5e]:hover{color:var(--text-main)}.main-area[data-v-9e628d5e]{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}.topbar[data-v-9e628d5e]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 28px;background:hsla(0,0%,100%,.7);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);flex-shrink:0}.page-title[data-v-9e628d5e]{margin:0;font-family:var(--font-serif);font-size:20px;font-weight:700;color:var(--text-main)}.topbar-right[data-v-9e628d5e]{display:flex;align-items:center;gap:12px;position:relative}.user-badge[data-v-9e628d5e]{display:flex;align-items:center;gap:8px;padding:5px 12px 5px 5px;border:1px solid var(--line);border-radius:999px;margin-left:4px;cursor:pointer;position:relative}.user-avatar-img[data-v-9e628d5e]{width:28px;height:28px;border-radius:50%;-o-object-fit:cover;object-fit:cover}.user-avatar[data-v-9e628d5e]{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#c0392b,#a93226);color:#fff;font-size:12px;font-weight:700}.user-name[data-v-9e628d5e]{font-size:13px;font-weight:600;color:var(--text-main)}.dropdown-icon[data-v-9e628d5e]{color:var(--text-subtle);transition:transform .2s}.dropdown-menu[data-v-9e628d5e]{position:absolute;top:100%;right:0;margin-top:8px;background:var(--bg-page);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 4px 12px rgba(0,0,0,.1);min-width:120px;z-index:100}.dropdown-item[data-v-9e628d5e]{display:flex;align-items:center;gap:8px;width:100%;padding:10px 16px;border:none;background:none;cursor:pointer;font-size:14px;color:var(--text-main);transition:background .15s}.dropdown-item[data-v-9e628d5e]:hover{background:var(--bg-soft)}.content-area[data-v-9e628d5e]{flex:1;min-height:0;overflow:hidden;padding:24px 28px}@media (max-width:960px){.sidebar[data-v-9e628d5e]{width:60px}.brand-text[data-v-9e628d5e],.nav-label[data-v-9e628d5e],.user-name[data-v-9e628d5e]{display:none}.sidebar-top[data-v-9e628d5e]{padding:16px 13px;display:flex;justify-content:center}.brand[data-v-9e628d5e]{justify-content:center}.nav-item[data-v-9e628d5e]{justify-content:center;padding:10px}.sidebar-bottom .nav-item[data-v-9e628d5e]{padding:10px}.user-badge[data-v-9e628d5e]{padding:5px}.content-area[data-v-9e628d5e]{padding:20px}}@media (max-width:640px){.sidebar[data-v-9e628d5e]{display:none}.topbar[data-v-9e628d5e]{padding:12px 16px}.content-area[data-v-9e628d5e]{padding:16px}}.theme-toggle[data-v-80196a36]{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;background:none;border:1px solid var(--border);border-radius:8px;cursor:pointer;font-size:18px;color:var(--text);transition:border-color .2s ease,color .2s ease;padding:0}.theme-toggle[data-v-80196a36]:hover{border-color:var(--link);color:var(--link)}.search-wrapper[data-v-817dc7f2]{position:relative}.search-bar[data-v-817dc7f2]{display:flex;align-items:center;width:34px;height:34px;transition:width .3s ease;flex-shrink:0;border:1px solid transparent;border-radius:8px}.search-bar.open[data-v-817dc7f2]{width:194px;border-color:var(--border);background:var(--bg)}.search-bar.open[data-v-817dc7f2]:focus-within{border-color:var(--link)}.input-slide[data-v-817dc7f2]{flex:1;min-width:0;overflow:hidden}.search-input[data-v-817dc7f2]{width:100%;height:100%;padding:0 10px;border:none;outline:none;font-size:14px;background:transparent;color:var(--text)}.search-input[data-v-817dc7f2]::-moz-placeholder{color:var(--text-muted)}.search-input[data-v-817dc7f2]::placeholder{color:var(--text-muted)}.search-btn[data-v-817dc7f2]{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;background:none;border:1px solid var(--border);border-radius:8px;cursor:pointer;color:var(--text-secondary);transition:border-color .2s ease,color .2s ease;padding:0;flex-shrink:0}.search-btn[data-v-817dc7f2]:hover{border-color:var(--link);color:var(--link)}.search-bar.open .search-btn[data-v-817dc7f2]{border:none;border-radius:0 8px 8px 0}.search-results[data-v-817dc7f2]{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);z-index:199;max-height:320px;overflow-y:auto}.no-results[data-v-817dc7f2]{padding:20px;text-align:center;color:var(--text-muted);font-size:14px}.result-item[data-v-817dc7f2]{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;text-decoration:none;color:var(--text);transition:background .15s}.result-item[data-v-817dc7f2]:hover{background:var(--bg-secondary)}.result-title[data-v-817dc7f2]{font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-date[data-v-817dc7f2]{flex-shrink:0;font-size:13px;color:var(--text-muted)}.view-all[data-v-817dc7f2]{display:block;padding:10px 16px;text-align:center;font-size:13px;color:var(--link);text-decoration:none;border-top:1px solid var(--border-light);transition:background .15s}.view-all[data-v-817dc7f2]:hover{background:var(--bg-secondary)}.nav-bar[data-v-6d227070]{position:sticky;top:0;z-index:100;background:var(--nav-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);max-width:900px;margin:0 auto;width:100%}.nav-inner[data-v-6d227070]{display:flex;align-items:center;justify-content:space-between;max-width:900px;margin:0 auto;padding:0 20px;height:56px;position:relative}.site-title[data-v-6d227070]{font-size:18px;font-weight:700;color:var(--text);text-decoration:none;transition:color .2s ease}.site-title[data-v-6d227070]:hover{color:var(--link)}.nav-end[data-v-6d227070]{display:flex;align-items:center;gap:16px}.nav-right[data-v-6d227070]{display:flex;align-items:center;gap:20px}.nav-link[data-v-6d227070]{font-size:15px;font-weight:500;color:var(--text-secondary);text-decoration:none;transition:color .2s ease;padding:4px 0}.nav-link.router-link-exact-active[data-v-6d227070],.nav-link[data-v-6d227070]:hover{color:var(--link)}.hamburger[data-v-6d227070]{display:none;background:none;border:none;cursor:pointer;padding:4px;width:34px;height:34px;position:relative}.hamburger span[data-v-6d227070]{display:block;width:20px;height:2px;background-color:var(--text);position:absolute;left:7px;transition:transform .3s ease,opacity .3s ease}.hamburger span[data-v-6d227070]:first-child{top:9px}.hamburger span[data-v-6d227070]:nth-child(2){top:16px}.hamburger span[data-v-6d227070]:nth-child(3){top:23px}.hamburger.open span[data-v-6d227070]:first-child{top:16px;transform:rotate(45deg)}.hamburger.open span[data-v-6d227070]:nth-child(2){opacity:0}.hamburger.open span[data-v-6d227070]:nth-child(3){top:16px;transform:rotate(-45deg)}@media (max-width:767px){.hamburger[data-v-6d227070]{display:block}.nav-right[data-v-6d227070]{display:none;position:absolute;top:56px;left:0;right:0;flex-direction:column;align-items:flex-start;gap:0;padding:12px 20px 16px;background:var(--nav-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);box-shadow:var(--shadow)}.nav-right.open[data-v-6d227070]{display:flex}.nav-link[data-v-6d227070]{width:100%;padding:10px 0;font-size:16px;border-bottom:1px solid var(--border)}.nav-link[data-v-6d227070]:last-of-type{border-bottom:none}.nav-right .theme-toggle[data-v-6d227070]{margin-top:8px}}.blog-layout[data-v-28d6e55b]{display:flex;flex-direction:column;min-height:100vh}.blog-main[data-v-28d6e55b]{flex:1;max-width:900px;width:100%;margin:0 auto;padding:40px 20px}.blog-footer[data-v-28d6e55b]{border-top:1px solid var(--border);padding:24px 20px;text-align:center;color:var(--text-secondary);font-size:14px}.blog-footer p[data-v-28d6e55b]{margin:0}.copyright[data-v-28d6e55b]{margin-bottom:8px}.icp-info[data-v-28d6e55b]{font-size:12px;color:var(--text-secondary)}.icp-info a[data-v-28d6e55b]{color:var(--text-secondary);text-decoration:none}.icp-info a[data-v-28d6e55b]:hover{color:var(--text-primary);text-decoration:underline}.separator[data-v-28d6e55b]{margin:0 8px;color:var(--text-secondary)}.markdown-workspace[data-v-4929b70d]{position:relative;display:flex;gap:0;transition:.3s ease}.fullscreen-btn[data-v-4929b70d]{position:absolute;top:12px;right:12px;z-index:100;display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:10px;background:hsla(0,0%,100%,.9);color:var(--text-subtle);cursor:pointer;transition:all .2s;box-shadow:var(--shadow-sm)}.fullscreen-btn[data-v-4929b70d]:hover{background:var(--bg-soft);color:var(--accent);border-color:rgba(192,57,43,.3);box-shadow:var(--shadow)}.fullscreen-mode[data-v-4929b70d]{position:fixed;inset:0;z-index:9999;display:flex;background:var(--bg-panel);padding:0}.fullscreen-mode .markdown-panel[data-v-4929b70d]{height:100%;border:none;border-radius:0}.fullscreen-mode .preview-panel[data-v-4929b70d]{display:flex;flex-direction:column;height:100%;border:none;border-left:1px solid var(--line);border-radius:0;overflow:hidden}.fullscreen-mode .panel-head[data-v-4929b70d]{position:sticky;top:0;z-index:10}.fullscreen-mode .toolbar[data-v-4929b70d]{position:sticky;top:53px;z-index:10;border-radius:0}.fullscreen-mode .markdown-input[data-v-4929b70d]{min-height:unset;flex:1;overflow:auto;scrollbar-width:thin;-ms-overflow-style:auto}.fullscreen-mode .markdown-input[data-v-4929b70d]::-webkit-scrollbar{display:block;width:6px}.fullscreen-mode .markdown-input[data-v-4929b70d]::-webkit-scrollbar-thumb{background:rgba(0,0,0,.2);border-radius:3px}.fullscreen-mode .preview-body[data-v-4929b70d]{min-height:unset;flex:1;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.fullscreen-mode .preview-body[data-v-4929b70d]::-webkit-scrollbar{display:none}.fullscreen-mode .fullscreen-btn[data-v-4929b70d]{top:16px;right:16px;background:var(--bg-panel);border-color:var(--line-strong)}.markdown-workspace.preview-hidden .markdown-panel[data-v-4929b70d]{border-right:1px solid var(--line);border-top-right-radius:22px;border-bottom-right-radius:22px}.markdown-panel[data-v-4929b70d]{border:1px solid var(--line);border-right:0;border-radius:22px;border-top-right-radius:0;border-bottom-right-radius:0;overflow:visible}.markdown-panel[data-v-4929b70d],.preview-panel[data-v-4929b70d]{flex:1;display:flex;flex-direction:column;background:hsla(0,0%,100%,.82)}.preview-panel[data-v-4929b70d]{border:1px solid var(--line);border-left:0;border-radius:22px;border-top-left-radius:0;border-bottom-left-radius:0;overflow:hidden}.fullscreen-mode .markdown-panel[data-v-4929b70d]{display:flex;flex-direction:column}.preview-hidden .markdown-panel[data-v-4929b70d]{border-right:1px solid var(--line);border-top-right-radius:22px;border-bottom-right-radius:22px}.panel-head[data-v-4929b70d]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-bottom:1px solid var(--line);background:#fcf7ef}.panel-head h3[data-v-4929b70d]{margin:0;font-size:15px}.toolbar[data-v-4929b70d]{display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:6px 8px;border-bottom:1px solid var(--line);background:hsla(0,0%,100%,.9)}.toolbar-spacer[data-v-4929b70d]{flex:1}.preview-toggle-icon[data-v-4929b70d]{margin-left:4px}.preview-toggle-icon.active-preview[data-v-4929b70d]{color:var(--accent)}.heading-dropdown-wrap[data-v-4929b70d]{position:relative}.heading-trigger[data-v-4929b70d]{width:auto;padding:0 8px;gap:2px}.heading-label[data-v-4929b70d]{font-size:13px;font-weight:700}.dropdown-arrow[data-v-4929b70d]{width:10px;height:10px;flex-shrink:0}.heading-dropdown[data-v-4929b70d]{position:absolute;top:calc(100% + 4px);left:0;z-index:100;min-width:130px;padding:4px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 8px 28px rgba(15,23,42,.12)}.heading-option[data-v-4929b70d]{display:block;width:100%;padding:6px 12px;border:0;border-radius:8px;background:transparent;color:var(--text-main);text-align:left;cursor:pointer;transition:.15s ease}.heading-option[data-v-4929b70d]:hover{background:var(--bg-soft)}.option-label[data-v-4929b70d]{display:block}.cls-p[data-v-4929b70d]{font-size:13px;font-weight:400}.cls-h1[data-v-4929b70d]{font-size:20px;font-weight:700;line-height:1.3}.cls-h2[data-v-4929b70d]{font-size:17px;font-weight:700;line-height:1.3}.cls-h3[data-v-4929b70d]{font-size:15px;font-weight:700;line-height:1.3}.cls-h4[data-v-4929b70d]{font-size:13px;font-weight:700;line-height:1.3}.cls-h5[data-v-4929b70d]{font-size:12px;font-weight:700;line-height:1.3}.toolbar-btn[data-v-4929b70d]{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-subtle);cursor:pointer;transition:.15s ease}.toolbar-btn[data-v-4929b70d]:hover{background:var(--bg-soft);color:var(--text-main);border-color:var(--line)}.toolbar-btn[data-v-4929b70d]:active{transform:scale(.92);background:rgba(0,0,0,.06)}.btn-icon[data-v-4929b70d]{width:16px;height:16px;flex-shrink:0}.markdown-input[data-v-4929b70d]{width:100%;min-height:500px;padding:18px 20px;border:0;resize:none;outline:none;background:transparent;color:var(--text-main);line-height:1.75;font-family:Cascadia Code,Fira Code,JetBrains Mono,Consolas,monospace;font-size:14px;overflow:hidden;scrollbar-width:none;-ms-overflow-style:none;transition:height .1s ease}.markdown-input[data-v-4929b70d]::-webkit-scrollbar{display:none}.preview-body[data-v-4929b70d]{flex:1;min-height:0;padding:18px 20px;overflow-y:auto;line-height:1.8}.preview-body[data-v-4929b70d] h1,.preview-body[data-v-4929b70d] h2,.preview-body[data-v-4929b70d] h3{margin:1.2em 0 .6em;line-height:1.3}.preview-body[data-v-4929b70d] p{margin:.75em 0}.preview-body[data-v-4929b70d] ol,.preview-body[data-v-4929b70d] ul{padding-left:1.5em}.preview-body[data-v-4929b70d] pre{padding:14px 16px;border-radius:16px;background:#18211f;color:#edf5f1;overflow-x:auto}.preview-body[data-v-4929b70d] blockquote{margin:1em 0;padding-left:1em;border-left:4px solid #d6dfda;color:#52615d}.preview-body[data-v-4929b70d] img{max-width:100%;border-radius:14px}@media (max-width:1024px){.markdown-workspace[data-v-4929b70d]{flex-direction:column}.markdown-panel[data-v-4929b70d]{border-right:1px solid var(--line);border-radius:22px}.preview-panel[data-v-4929b70d]{border-left:1px solid var(--line);border-radius:22px}}.article-editor-card[data-v-14356508]{display:grid;gap:18px;padding:24px;border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--bg-panel)}.editor-top[data-v-14356508]{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.eyebrow[data-v-14356508]{margin:0 0 8px;color:#9e5b3d;font-size:30px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.editor-top h2[data-v-14356508]{margin:0;font-family:Georgia,"Source Han Serif SC",Songti SC,serif;font-size:clamp(24px,2vw,32px);line-height:1.16}.editor-meta[data-v-14356508]{display:flex;flex-wrap:wrap;gap:10px;color:var(--text-subtle);font-size:14px}.editor-meta span[data-v-14356508]{padding:8px 12px;border-radius:999px;background:var(--bg-soft)}@media (max-width:1024px){.editor-top[data-v-14356508]{flex-direction:column}}.admin-pagination[data-v-3c46d980]{display:flex;justify-content:center;align-items:center;gap:4px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.admin-page-btn[data-v-3c46d980]{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 8px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-panel);color:var(--text-main);font-size:13px;cursor:pointer;transition:all .15s}.admin-page-btn[data-v-3c46d980]:hover:not(:disabled):not(.active){background:var(--bg-soft);border-color:var(--line-strong)}.admin-page-btn.active[data-v-3c46d980]{background:var(--accent);border-color:var(--accent);color:#fff}.admin-page-btn[data-v-3c46d980]:disabled{opacity:.4;cursor:not-allowed}.admin-page-ellipsis[data-v-3c46d980]{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;color:var(--text-muted);font-size:13px}.admin-loading[data-v-12b9a13e]{display:flex;align-items:center;justify-content:center;gap:10px;padding:32px 16px;color:var(--text-subtle);font-size:14px}.cover-upload[data-v-12b9a13e]{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:280px;min-height:130px;border:1.5px dashed var(--line-strong);border-radius:var(--radius-xl);background:var(--bg-soft);cursor:pointer;transition:all .2s;overflow:hidden}.cover-upload[data-v-12b9a13e]:hover{border-color:rgba(192,57,43,.3);background:rgba(192,57,43,.02)}.cover-dragover[data-v-12b9a13e]{border-color:var(--accent);background:rgba(192,57,43,.04)}.cover-loading[data-v-12b9a13e]{pointer-events:none;opacity:.6}.cover-spinner[data-v-12b9a13e]{width:24px;height:24px;border:2.5px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:admin-spin .8s linear infinite}.cover-text[data-v-12b9a13e]{font-size:13px;color:var(--text-subtle)}.cover-preview[data-v-12b9a13e]{width:100%;height:140px;-o-object-fit:cover;object-fit:cover;border-radius:calc(var(--radius-xl) - 2px)}.cover-remove[data-v-12b9a13e]{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:28px;height:28px;border:0;border-radius:var(--radius);background:rgba(0,0,0,.45);color:#fff;cursor:pointer;transition:background .15s}.cover-remove[data-v-12b9a13e]:hover{background:rgba(192,57,43,.85)}.tag-select-wrapper[data-v-12b9a13e]{position:relative}.tag-select[data-v-12b9a13e]{display:flex;align-items:center;justify-content:space-between;min-height:32px;padding:4px 10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-panel);cursor:pointer;transition:border-color .15s}.tag-select[data-v-12b9a13e]:hover{border-color:var(--accent)}.tag-selected-tags[data-v-12b9a13e]{display:flex;flex-wrap:wrap;gap:6px;flex:1}.tag-placeholder[data-v-12b9a13e]{color:var(--text-muted);font-size:14px}.tag-item[data-v-12b9a13e]{gap:3px;padding:1px 6px;border-radius:999px;background:rgba(192,57,43,.1)}.tag-item[data-v-12b9a13e],.tag-remove[data-v-12b9a13e]{display:inline-flex;align-items:center;color:var(--accent);font-size:12px}.tag-remove[data-v-12b9a13e]{justify-content:center;width:12px;height:12px;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer;line-height:1}.tag-remove[data-v-12b9a13e]:hover{background:rgba(192,57,43,.2)}.tag-arrow[data-v-12b9a13e]{flex-shrink:0;margin-left:8px;color:var(--text-muted);transition:transform .2s}.tag-arrow-open[data-v-12b9a13e]{transform:rotate(180deg)}.tag-dropdown[data-v-12b9a13e]{position:absolute;top:calc(100% + 4px);left:0;right:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-panel);box-shadow:0 8px 24px rgba(0,0,0,.12);z-index:100;overflow:hidden}.tag-search[data-v-12b9a13e]{width:100%;padding:8px 10px;border:0;border-bottom:1px solid var(--line);background:transparent;font-size:13px;outline:none}.tag-search[data-v-12b9a13e]::-moz-placeholder{color:var(--text-muted)}.tag-search[data-v-12b9a13e]::placeholder{color:var(--text-muted)}.tag-list[data-v-12b9a13e]{max-height:160px;overflow-y:auto}.tag-empty[data-v-12b9a13e]{padding:12px;text-align:center;color:var(--text-muted);font-size:12px}.tag-option[data-v-12b9a13e]{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;cursor:pointer;transition:background .1s}.tag-option[data-v-12b9a13e]:hover{background:var(--bg-soft)}.tag-option-selected[data-v-12b9a13e]{background:rgba(192,57,43,.05)}.tag-option-name[data-v-12b9a13e]{font-size:13px}.tag-check[data-v-12b9a13e]{color:var(--accent)}[data-v-749c2de1] .admin-modal{min-width:400px;min-height:unset;width:min(450px,96vw)}[data-v-749c2de1] .admin-modal-body,[data-v-749c2de1] .admin-modal-header{padding:16px 20px}[data-v-749c2de1] .admin-modal-footer{padding:12px 20px}.admin-modal[data-v-1d80e024]{width:min(480px,96vw);min-width:unset;min-height:unset}.admin-user-avatar-section[data-v-1d80e024]{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:12px;background:var(--bg-secondary);border-radius:8px}.admin-user-avatar[data-v-1d80e024]{width:48px;height:48px;border-radius:50%;overflow:hidden;flex-shrink:0}.admin-user-avatar img[data-v-1d80e024]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.admin-user-avatar-placeholder[data-v-1d80e024]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--primary);color:#fff;font-size:18px;font-weight:600}.admin-user-info[data-v-1d80e024]{flex:1}.admin-user-id[data-v-1d80e024]{margin-bottom:2px}.admin-user-created[data-v-1d80e024],.admin-user-id[data-v-1d80e024]{font-size:13px;color:var(--text-secondary)}.admin-user-row[data-v-1d80e024]{display:flex;align-items:center;gap:10px;margin-bottom:4px}.admin-status-admin[data-v-1d80e024]{background:rgba(192,57,43,.1);color:#c0392b;border:1px solid rgba(192,57,43,.2)}.admin-status-user[data-v-1d80e024]{background:hsla(0,0%,40%,.1);color:#666;border:1px solid hsla(0,0%,40%,.2)}.admin-select[data-v-1d80e024]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.admin-field-error[data-v-1d80e024]{color:var(--danger);font-size:12px;margin-top:4px}.admin-field-hint[data-v-1d80e024]{color:var(--text-secondary);font-size:12px;margin-top:4px}.admin-status-active[data-v-1d80e024]{background:rgba(34,197,94,.1);color:#22c55e;border:1px solid rgba(34,197,94,.2)}.admin-status-banned[data-v-1d80e024]{background:rgba(239,68,68,.1);color:#ef4444;border:1px solid rgba(239,68,68,.2)}.comment-item[data-v-0969b74e]{display:flex;gap:12px;flex:1}.comment-avatar[data-v-0969b74e]{width:36px;height:36px;border-radius:50%;-o-object-fit:cover;object-fit:cover;flex-shrink:0}.comment-avatar-placeholder[data-v-0969b74e]{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#c0392b,#a93226);color:#fff;font-size:14px;font-weight:700;flex-shrink:0}.comment-content[data-v-0969b74e]{flex:1;min-width:0}.comment-meta[data-v-0969b74e]{display:flex;align-items:center;gap:8px;margin-bottom:4px}.comment-username[data-v-0969b74e]{font-weight:600;font-size:14px;color:var(--text-main)}.comment-time[data-v-0969b74e]{font-size:12px;color:var(--text-muted)}.comment-text[data-v-0969b74e]{margin:0 0 6px 0;font-size:14px;color:var(--text-main);line-height:1.5}.comment-article[data-v-0969b74e]{font-size:12px;color:var(--text-subtle)}.post-list[data-v-e5d11d62]{display:flex;flex-direction:column}.post-card[data-v-e5d11d62]{display:flex;gap:20px;padding:20px 0;align-items:center;border-bottom:1px solid var(--border);text-decoration:none;color:var(--text);transition:color .2s;height:180px}.post-card[data-v-e5d11d62]:last-child{border-bottom:none}.post-card:hover .post-title[data-v-e5d11d62]{color:var(--link)}.post-body[data-v-e5d11d62]{flex:1;display:flex;flex-direction:column;justify-content:space-between;min-width:0}.post-title[data-v-e5d11d62]{margin:0 0 12px;font-size:18px;font-weight:600;line-height:1.4;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.post-excerpt[data-v-e5d11d62]{flex:1;margin:0;font-size:14px;line-height:1.8;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.post-meta[data-v-e5d11d62]{margin-top:12px;display:flex;gap:16px;font-size:13px;color:var(--text-muted)}.post-cover[data-v-e5d11d62]{flex-shrink:0;width:180px;height:120px;border-radius:var(--radius-lg);overflow:hidden}.post-cover img[data-v-e5d11d62]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}@media (max-width:600px){.post-card[data-v-e5d11d62]{flex-direction:column-reverse;min-height:auto;height:auto}.post-cover[data-v-e5d11d62]{width:100%;height:160px}.post-title[data-v-e5d11d62]{white-space:normal}}.pagination[data-v-23f5d0df]{display:flex;justify-content:center;align-items:center;gap:4px;margin-top:32px}.page-btn[data-v-23f5d0df]{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 8px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text);font-size:14px;cursor:pointer;transition:background-color .2s ease,color .2s ease,border-color .2s ease}.page-btn[data-v-23f5d0df]:hover:not(:disabled):not(.active){background-color:var(--bg-secondary)}.page-btn.active[data-v-23f5d0df]{background-color:var(--link);color:#fff;border-color:var(--link)}.page-btn[data-v-23f5d0df]:disabled{opacity:.4;cursor:not-allowed}.page-ellipsis[data-v-23f5d0df]{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;color:var(--text-secondary);font-size:14px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.page-heading[data-v-18531226]{font-size:24px;font-weight:700;margin:0 0 24px 0;color:var(--text)}.error[data-v-18531226],.loading[data-v-18531226]{text-align:center;padding:40px 0;color:var(--text-secondary)}.comment-section[data-v-45043546]{margin-top:48px;padding:24px 28px;border:1px solid var(--border);border-radius:var(--radius-lg);position:relative}.comment-section[data-v-45043546]:before{content:"";position:absolute;top:-25px;left:0;right:0;height:1px;background:var(--border)}.comment-header[data-v-45043546]{display:flex;align-items:center;gap:8px;padding-bottom:20px;border-bottom:1px solid var(--border-light);margin-bottom:4px;color:var(--text)}.comment-title[data-v-45043546]{font-size:16px;font-weight:600}.comment-count[data-v-45043546]{font-size:13px;color:var(--text-muted)}.login-card[data-v-45043546]{margin:16px 0;padding:24px;background:var(--bg-secondary);border:1px dashed var(--border);border-radius:8px;text-align:center}.login-card-content[data-v-45043546]{display:flex;flex-direction:column;align-items:center;gap:12px}.login-card .github-icon[data-v-45043546]{color:#24292e;opacity:.8}.login-card h3[data-v-45043546]{margin:0;font-size:16px;font-weight:600;color:var(--text)}.login-card p[data-v-45043546]{margin:0;color:var(--text-secondary);font-size:14px}.github-login-btn[data-v-45043546]{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:#24292e;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:background .2s}.github-login-btn[data-v-45043546]:hover{background:#1a1e22}.comment-input-section[data-v-45043546]{margin-bottom:24px}.current-user[data-v-45043546]{display:flex;align-items:center;gap:10px;margin-bottom:12px}.user-avatar[data-v-45043546]{width:36px;height:36px;border-radius:50%;-o-object-fit:cover;object-fit:cover}.user-avatar-placeholder[data-v-45043546]{width:36px;height:36px;border-radius:50%;background:var(--link);color:#fff;display:grid;place-items:center;font-size:14px;font-weight:600}.user-name[data-v-45043546]{font-size:14px;font-weight:500;color:var(--text)}.logout-btn[data-v-45043546]{margin-left:auto;padding:4px 8px;background:transparent;color:var(--text-muted);border:1px solid var(--border);border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s}.logout-btn[data-v-45043546]:hover{color:var(--text);border-color:var(--text-muted)}.comment-input-wrapper[data-v-45043546],.reply-input-wrapper[data-v-45043546]{border:1px solid var(--border);border-radius:8px;overflow:hidden}.reply-input-section[data-v-45043546]{margin:12px 0}.reply-input-section .reply-input-wrapper[data-v-45043546]{width:100%}.inline-reply-input[data-v-45043546]{margin-top:12px;border:1px solid var(--border);border-radius:8px;overflow:hidden}.reply-item[data-v-45043546]:last-child{border-bottom:none}.comment-input[data-v-45043546]{width:100%;padding:12px;border:none;resize:vertical;font-size:14px;line-height:1.6;color:var(--text);background:var(--bg);box-sizing:border-box}.comment-input[data-v-45043546]:focus{outline:none}.comment-input[data-v-45043546]::-moz-placeholder{color:var(--text-muted)}.comment-input[data-v-45043546]::placeholder{color:var(--text-muted)}.comment-input-footer[data-v-45043546]{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-secondary);border-top:1px solid var(--border-light)}.comment-hint[data-v-45043546]{margin-right:auto;font-size:12px;color:var(--text-muted)}.cancel-btn[data-v-45043546]{padding:6px 12px;background:transparent;color:var(--text-muted);border:1px solid var(--border);border-radius:4px;font-size:13px;cursor:pointer;transition:all .2s}.cancel-btn[data-v-45043546]:hover{color:var(--text);border-color:var(--text-muted)}.submit-btn[data-v-45043546]{padding:6px 16px;background:var(--link);color:#fff;border:none;border-radius:4px;font-size:13px;cursor:pointer;transition:opacity .2s}.submit-btn[data-v-45043546]:hover:not(:disabled){opacity:.9}.submit-btn[data-v-45043546]:disabled{opacity:.5;cursor:not-allowed}.empty-comments[data-v-45043546]{padding:40px 0;text-align:center;color:var(--text-muted);font-size:14px}.loading[data-v-45043546]{text-align:center;padding:20px 0;color:var(--text-muted)}.comment-list[data-v-45043546]{display:flex;flex-direction:column}.comment-item[data-v-45043546]{display:flex;gap:12px;padding:20px 0 12px}.comment-avatar[data-v-45043546]{flex-shrink:0;width:36px;height:36px;border-radius:50%;-o-object-fit:cover;object-fit:cover}.comment-avatar.small[data-v-45043546]{width:30px;height:30px}.comment-avatar-placeholder[data-v-45043546]{flex-shrink:0;width:36px;height:36px;border-radius:50%;background:var(--link);color:#fff;display:grid;place-items:center;font-size:14px;font-weight:600}.comment-avatar-placeholder.small[data-v-45043546]{width:30px;height:30px;font-size:12px}.comment-body[data-v-45043546]{flex:1;min-width:0}.comment-meta[data-v-45043546]{display:flex;align-items:center;gap:8px;margin-bottom:4px}.comment-author[data-v-45043546]{font-size:14px;font-weight:600;color:var(--text)}.owner-badge[data-v-45043546]{font-size:11px;padding:1px 6px;border-radius:var(--radius);background:var(--link);color:#fff;line-height:1.5}.comment-content[data-v-45043546]{margin:0 0 6px;font-size:14px;line-height:1.7;color:var(--text);white-space:pre-wrap}.reply-to[data-v-45043546]{color:var(--link)}.comment-footer[data-v-45043546]{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted)}.dot[data-v-45043546]{color:var(--border)}.reply-btn[data-v-45043546]{display:inline-flex;align-items:center;gap:3px;padding:0;background:none;border:none;font-size:13px;color:var(--text-muted);cursor:pointer;transition:color .2s}.reply-btn[data-v-45043546]:hover{color:var(--link)}.reply-group[data-v-45043546]{margin:0 0 0 48px;padding-left:14px;border-left:2px solid var(--border-light)}.reply-item[data-v-45043546]{display:flex;gap:10px;padding:14px 0}.post-detail-view[data-v-4ce10ab4]{max-width:780px;margin:0 auto;padding:24px 0 48px}.post-title[data-v-4ce10ab4]{font-size:36px;font-weight:700;margin:0 0 8px 0;color:var(--text);line-height:1.3}.post-meta[data-v-4ce10ab4]{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--text-secondary);margin-bottom:16px}.meta-item[data-v-4ce10ab4]{color:var(--text-muted)}.post-tags[data-v-4ce10ab4]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.tag-badge[data-v-4ce10ab4]{font-size:12px;padding:2px 10px;border-radius:4px;background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-light)}.post-nav[data-v-4ce10ab4]{margin-top:48px;padding-top:16px;border-top:1px solid var(--border)}.back-link[data-v-4ce10ab4]{color:var(--link);text-decoration:none;font-size:15px;transition:color .2s ease}.back-link[data-v-4ce10ab4]:hover{color:var(--link-hover)}.loading[data-v-4ce10ab4]{text-align:center;padding:80px 0;color:var(--text-secondary)}.not-found[data-v-4ce10ab4]{max-width:780px;margin:0 auto;padding:120px 0 48px;text-align:center}.not-found-title[data-v-4ce10ab4]{font-size:64px;font-weight:700;color:var(--text);margin:0 0 12px 0}.not-found-message[data-v-4ce10ab4]{font-size:18px;color:var(--text-secondary);margin:0 0 32px 0}.about-header[data-v-7997168e]{margin-bottom:32px}.page-title[data-v-7997168e]{font-size:24px;font-weight:700;margin:0 0 24px;color:var(--text)}.author-card[data-v-7997168e]{display:flex;align-items:center;gap:20px;padding:20px;border:1px solid var(--border);border-radius:12px;background:var(--bg-secondary)}.author-avatar[data-v-7997168e]{flex-shrink:0;width:64px;height:64px;border-radius:50%;background:var(--bg-secondary);border:1px solid var(--border);display:grid;place-items:center}.avatar-img[data-v-7997168e]{width:100%;height:100%;border-radius:50%;-o-object-fit:cover;object-fit:cover}.author-info[data-v-7997168e]{min-width:0}.author-name[data-v-7997168e]{margin:0 0 6px;font-size:18px;font-weight:600;color:var(--text)}.author-bio[data-v-7997168e]{margin:0 0 12px;font-size:14px;color:var(--text-secondary);line-height:1.6}.author-links[data-v-7997168e]{display:flex;gap:12px}.social-link[data-v-7997168e]{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted);text-decoration:none;transition:color .2s ease}.social-link[data-v-7997168e]:hover{color:var(--link)}.social-link.wechat[data-v-7997168e]{cursor:pointer;background:none;border:none;padding:0;font:inherit}.icon[data-v-7997168e]{width:16px;height:16px}.modal-overlay[data-v-7997168e]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-7997168e]{background:var(--bg);border-radius:12px;padding:24px;position:relative;text-align:center}.modal-close[data-v-7997168e]{position:absolute;top:8px;right:12px;background:none;border:none;font-size:24px;cursor:pointer;color:var(--text-muted)}.modal-content h3[data-v-7997168e]{margin:0 0 16px;font-size:16px;color:var(--text)}.qr-code[data-v-7997168e]{width:200px;height:200px;-o-object-fit:contain;object-fit:contain;border-radius:8px}.about-content[data-v-7997168e]{margin-bottom:48px}.about-section[data-v-7997168e]{margin-bottom:28px}.about-section h2[data-v-7997168e]{font-size:18px;font-weight:600;color:var(--text);margin:0 0 12px}.about-section p[data-v-7997168e]{color:var(--text-secondary);line-height:1.8;margin:0}.tech-list[data-v-7997168e]{list-style:none;padding:0;margin:0}.tech-list li[data-v-7997168e]{padding:8px 0;color:var(--text-secondary)}@media (max-width:600px){.page-title[data-v-7997168e]{font-size:24px}.author-card[data-v-7997168e]{gap:16px}.author-avatar[data-v-7997168e]{width:52px;height:52px}}.tags-page[data-v-aebb71f4]{padding:0}.page-title[data-v-aebb71f4]{font-size:24px;font-weight:700;margin:0 0 24px;color:var(--text)}.tag-cloud[data-v-aebb71f4]{display:flex;flex-wrap:wrap;gap:12px 14px}.tag-item[data-v-aebb71f4]{display:inline-block;padding:4px 14px;text-decoration:none;font-weight:600;white-space:nowrap;line-height:1.4;border-radius:var(--radius);border:1px solid var(--border-light);transition:color .2s ease,border-color .2s ease}.tag-item[data-v-aebb71f4],.tag-item[data-v-aebb71f4]:visited{color:var(--text-secondary)}.tag-item[data-v-aebb71f4]:hover{color:var(--link);border-color:var(--link)}.error[data-v-aebb71f4],.loading[data-v-aebb71f4]{text-align:center;padding:40px 0;color:var(--text-secondary)}.page-title[data-v-4621a7ea]{font-size:24px;font-weight:700;margin:0 0 24px;color:var(--text)}.empty[data-v-4621a7ea]{text-align:center;padding:40px 0;color:var(--text-secondary)}.empty a[data-v-4621a7ea]{color:var(--link);margin-top:8px;display:inline-block}.back-link[data-v-4621a7ea]{margin-top:32px;padding-top:20px;border-top:1px solid var(--border)}.back-link a[data-v-4621a7ea]{color:var(--link);font-size:14px}.error[data-v-4621a7ea],.loading[data-v-4621a7ea]{text-align:center;padding:40px 0;color:var(--text-secondary)}.page-heading[data-v-e35cb2d8]{font-size:24px;font-weight:700;margin:0 0 8px 0;color:var(--text)}.result-count[data-v-e35cb2d8]{font-size:14px;color:var(--text-muted);margin:0 0 24px 0}.no-results[data-v-e35cb2d8]{padding:60px 0;text-align:center}.no-results p[data-v-e35cb2d8]{color:var(--text-muted);font-size:16px;margin-bottom:16px}.back-link[data-v-e35cb2d8]{color:var(--link);text-decoration:none;font-size:14px}.back-link[data-v-e35cb2d8]:hover{color:var(--link-hover)}.loading[data-v-e35cb2d8]{text-align:center;padding:40px 0;color:var(--text-secondary)}.login-container[data-v-865ec9ac]{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--bg);padding:40px 20px}.login-card[data-v-865ec9ac]{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:40px;width:400px;box-shadow:var(--shadow-md);overflow:hidden}.login-header[data-v-865ec9ac]{text-align:center;margin-bottom:32px}.login-header h1[data-v-865ec9ac]{font-size:28px;font-weight:700;color:var(--text);margin:0 0 8px 0}.login-header p[data-v-865ec9ac]{color:var(--text-secondary);font-size:14px;margin:0}.login-tabs[data-v-865ec9ac]{display:flex;gap:4px;margin-bottom:24px;background:var(--bg-secondary);border-radius:var(--radius);padding:4px}.tab-btn[data-v-865ec9ac]{flex:1;padding:10px 16px;border:none;background:transparent;cursor:pointer;font-size:14px;font-weight:500;color:var(--text-secondary);border-radius:var(--radius);transition:all .2s}.tab-btn[data-v-865ec9ac]:hover{color:var(--text)}.tab-btn.active[data-v-865ec9ac]{background:var(--bg-card);color:var(--text);box-shadow:var(--shadow)}.login-form[data-v-865ec9ac]{margin-top:24px}.form-group[data-v-865ec9ac]{margin-bottom:20px}.form-group label[data-v-865ec9ac]{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:var(--text)}.form-group input[data-v-865ec9ac]{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius);font-size:14px;background:var(--bg);color:var(--text);transition:border-color .2s;box-sizing:border-box}.form-group input[data-v-865ec9ac]:focus{outline:none;border-color:var(--link)}.form-group input[data-v-865ec9ac]::-moz-placeholder{color:var(--text-muted)}.form-group input[data-v-865ec9ac]::placeholder{color:var(--text-muted)}.captcha-group[data-v-865ec9ac]{margin-bottom:20px}.captcha-input-wrapper[data-v-865ec9ac]{display:flex;gap:10px;align-items:center}.captcha-input-wrapper input[data-v-865ec9ac]{flex:1}.captcha-image[data-v-865ec9ac]{width:120px;height:40px;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:opacity .2s}.captcha-image[data-v-865ec9ac]:hover{opacity:.8}.login-btn[data-v-865ec9ac]{width:100%;padding:12px;background:var(--link);color:#fff;border:none;border-radius:var(--radius);font-size:16px;font-weight:500;cursor:pointer;transition:background .2s}.login-btn[data-v-865ec9ac]:hover:not(:disabled){background:var(--link-hover)}.login-btn[data-v-865ec9ac]:disabled{opacity:.6;cursor:not-allowed}.github-login[data-v-865ec9ac]{text-align:center;padding:20px 0}.github-desc[data-v-865ec9ac]{color:var(--text-secondary);margin-bottom:20px}.github-btn[data-v-865ec9ac]{display:inline-flex;align-items:center;gap:10px;padding:12px 24px;background:var(--text);color:var(--bg);border:none;border-radius:var(--radius);font-size:16px;font-weight:500;cursor:pointer;transition:opacity .2s}.github-btn[data-v-865ec9ac]:hover{opacity:.9}.github-icon[data-v-865ec9ac]{vertical-align:middle}:root{background-color:var(--bg);--bg:#fafaf8;--bg-secondary:#f5f4f0;--bg-card:#fff;--text:#1a1a1a;--text-secondary:#666;--text-muted:#999;--border:#e8e5e0;--border-light:#f0ede8;--link:#c0392b;--link-hover:#a93226;--accent:#c0392b;--code-bg:#f5f4f0;--nav-bg:hsla(60,17%,98%,.92);--shadow:0 1px 4px rgba(0,0,0,.06);--shadow-md:0 4px 12px rgba(0,0,0,.08);--radius:4px;--radius-lg:8px}[data-theme=dark]{--bg:#1a1a1a;--bg-secondary:#242424;--bg-card:#222;--text:#e8e5e0;--text-secondary:#999;--text-muted:#666;--border:#333;--border-light:#2a2a2a;--link:#e74c3c;--link-hover:#ec7063;--accent:#e74c3c;--code-bg:#242424;--nav-bg:rgba(26,26,26,.92);--shadow:0 1px 4px rgba(0,0,0,.2);--shadow-md:0 4px 12px rgba(0,0,0,.3);color-scheme:dark}*,:after,:before{box-sizing:border-box}html{scrollbar-gutter:stable}body{margin:0;padding:0;background-color:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:16px;line-height:1.8;transition:background-color .3s ease,color .3s ease;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--link);text-decoration:none;transition:color .2s ease}a:hover{color:var(--link-hover)}.markdown-body h1,.markdown-body h2,.markdown-body h3{margin-top:2em;margin-bottom:.75em;font-weight:700;line-height:1.3;color:var(--text)}.markdown-body h1{font-size:2em}.markdown-body h1,.markdown-body h2{padding-bottom:.3em;border-bottom:1px solid var(--border)}.markdown-body h2{font-size:1.5em}.markdown-body h3{font-size:1.25em}.markdown-body p{margin-top:0;margin-bottom:1.6em;color:var(--text)}.markdown-body ol,.markdown-body ul{margin-top:0;margin-bottom:1.6em;padding-left:2em}.markdown-body li{margin-bottom:.4em}.markdown-body li>ol,.markdown-body li>ul{margin-bottom:0}.markdown-body code{background-color:var(--code-bg);padding:.2em .4em;border-radius:var(--radius);font-size:.875em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.markdown-body pre{background-color:var(--code-bg);border-radius:var(--radius-lg);padding:1.2em;overflow-x:auto;margin-top:0;margin-bottom:1.6em;border:1px solid var(--border-light)}.markdown-body pre code{background-color:transparent;padding:0;border-radius:0;font-size:.875em}.markdown-body blockquote{margin:0 0 1.6em 0;padding:.8em 1.2em;border-left:3px solid var(--accent);background-color:var(--bg-secondary);color:var(--text-secondary);font-style:italic}.markdown-body blockquote p:last-child{margin-bottom:0}.markdown-body img{max-width:100%;height:auto;border-radius:var(--radius-lg)}.markdown-body hr{border:none;border-top:1px solid var(--border);margin:2.5em 0}.markdown-body table{width:100%;border-collapse:collapse;margin-bottom:1.6em}.markdown-body td,.markdown-body th{border:1px solid var(--border);padding:.6em 1em;text-align:left}.markdown-body th{background-color:var(--bg-secondary);font-weight:600}.admin-shell{color-scheme:light;--bg-page:#f5f4f0;--bg-panel:#fff;--bg-soft:#f0ede8;--bg-sidebar:#fafaf8;--accent:#c0392b;--accent-soft:rgba(192,57,43,.08);--accent-hover:#a93226;--line:rgba(26,26,26,.08);--line-strong:rgba(26,26,26,.15);--text-main:#1a1a1a;--text-subtle:#666;--text-muted:#999;--success:#27ae60;--success-soft:rgba(39,174,96,.1);--danger:#c0392b;--danger-soft:rgba(192,57,43,.1);--warning:#d4910a;--warning-soft:rgba(212,145,10,.12);--shadow-sm:0 1px 3px rgba(0,0,0,.04);--shadow:0 2px 8px rgba(0,0,0,.06);--shadow-md:0 4px 16px rgba(0,0,0,.08);--radius:4px;--radius-lg:8px;--radius-xl:12px;--font-serif:Georgia,"Source Han Serif SC","Songti SC",serif;--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}.admin-page{height:100%;display:flex;flex-direction:column;overflow:hidden}.admin-scroll{flex:1;min-height:0;overflow-y:auto;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;display:grid;gap:24px;align-content:start;padding:0 24px 40px 0;max-width:1200px;margin:0 auto;width:100%}.admin-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.admin-header h2{margin:0;font-family:var(--font-serif);font-size:28px;line-height:1.2;letter-spacing:-.01em;color:var(--text-main)}.admin-label{display:block;margin:0 0 8px;color:var(--text-subtle);font-size:12px;font-weight:600;letter-spacing:.04em}.admin-desc{max-width:520px;margin:10px 0 0;color:var(--text-subtle);font-size:14px;line-height:1.7}.admin-panel{padding:24px;border-radius:var(--radius-xl);background:var(--bg-panel)}.admin-toolbar{justify-content:space-between;gap:16px;margin-bottom:20px}.admin-search,.admin-toolbar{display:flex;align-items:center}.admin-search{position:relative;width:min(340px,100%)}.admin-search-icon{position:absolute;left:12px;color:var(--text-muted);pointer-events:none}.admin-search-input{width:100%;padding:10px 14px 10px 38px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg-soft);color:var(--text-main);font-size:14px;outline:none;transition:border-color .2s,box-shadow .2s}.admin-search-input::-moz-placeholder{color:var(--text-muted)}.admin-search-input::placeholder{color:var(--text-muted)}.admin-search-input:focus{border-color:rgba(192,57,43,.35);box-shadow:0 0 0 3px rgba(192,57,43,.08)}.admin-filters{display:flex;flex-wrap:wrap;gap:8px}.admin-filter-btn{padding:7px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-panel);color:var(--text-subtle);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.admin-filter-btn:hover{color:var(--text-main);border-color:var(--line-strong)}.admin-filter-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.admin-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 18px;border:0;border-radius:var(--radius-lg);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.admin-btn:active{transform:scale(.98)}.admin-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.admin-btn-primary{background:linear-gradient(135deg,#c0392b,#a93226);border:1px solid rgba(192,57,43,.6);color:#fff}.admin-btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(192,57,43,.25)}.admin-btn-secondary{border:1px solid var(--line);background:var(--bg-panel);color:var(--text-main)}.admin-btn-secondary:hover{border-color:var(--line-strong);background:var(--bg-soft)}.admin-btn-ghost{padding:8px 12px;border-radius:var(--radius);background:transparent;color:var(--text-subtle);font-weight:500}.admin-btn-ghost:hover{background:var(--bg-soft);color:var(--text-main)}.admin-btn-success{background:linear-gradient(135deg,#27ae60,#1e8449);border:1px solid rgba(39,174,96,.6);color:#fff}.admin-btn-success:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(39,174,96,.25)}.admin-btn-icon{font-size:18px;line-height:1}.admin-list{display:grid}.admin-list-item{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 0;border-bottom:1px solid var(--line)}.admin-list-item:last-child{border-bottom:none}.admin-list-item:hover{background:rgba(192,57,43,.015);margin:0 -12px;padding-left:12px;padding-right:12px;border-radius:var(--radius)}.admin-list-body{min-width:0;flex:1}.admin-list-title{margin:0 0 6px;font-size:17px;font-weight:600;line-height:1.4;color:var(--text-main)}.admin-list-excerpt{margin:0;font-size:14px;line-height:1.7;color:var(--text-subtle)}.admin-list-meta{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px}.admin-meta-tag{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--radius);font-size:12px;font-weight:500;color:var(--text-subtle);background:var(--bg-soft)}.admin-meta-tag.accent{color:var(--accent);background:var(--accent-soft)}.admin-list-actions{display:flex;gap:6px;flex-shrink:0}.admin-list-cover{width:120px;height:85px;border-radius:var(--radius);overflow:hidden;flex-shrink:0}.admin-list-cover img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.admin-status{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--radius);font-size:12px;font-weight:600;white-space:nowrap}.admin-status-published{background:var(--success-soft);color:var(--success)}.admin-status-draft{background:var(--warning-soft);color:var(--warning)}.admin-status-hidden{background:var(--bg-soft);color:var(--text-subtle)}.admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.admin-stat{padding:18px 20px;background:var(--bg-panel);border-radius:var(--radius-xl)}.admin-stat-label{display:block;margin:0 0 6px;color:var(--text-subtle);font-size:13px;font-weight:500}.admin-stat-value{display:block;font-family:var(--font-serif);font-size:28px;font-weight:700;line-height:1.1;color:var(--text-main)}.admin-empty{padding:48px 24px;text-align:center}.admin-empty h3{margin:0 0 8px;font-family:var(--font-serif);font-size:20px;color:var(--text-main)}.admin-empty p{max-width:380px;margin:0 auto 20px;color:var(--text-subtle);font-size:14px;line-height:1.7}.admin-modal-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(26,26,26,.4);backdrop-filter:blur(4px);z-index:1000}.admin-modal{width:min(1200px,96vw);min-width:700px;min-height:520px;max-height:92vh;border-radius:var(--radius-xl);background:var(--bg-panel);box-shadow:var(--shadow-md);overflow:hidden;transform:translateY(16px);opacity:0;transition:transform .25s cubic-bezier(.16,1,.3,1),opacity .2s ease;display:flex;flex-direction:column}.admin-modal-visible{transform:translateY(0);opacity:1}.admin-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 28px;border-bottom:1px solid var(--line)}.admin-modal-header h2{margin:0;font-family:var(--font-serif);font-size:22px;line-height:1.3}.admin-modal-close{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:var(--radius);background:var(--bg-soft);color:var(--text-subtle);cursor:pointer;transition:all .15s}.admin-modal-close:hover{background:var(--line);color:var(--text-main)}.admin-modal-body{flex:1;min-height:0;padding:24px 28px;overflow:auto}.admin-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:16px 28px;border-top:1px solid var(--line)}.admin-field{margin-bottom:20px}.admin-field-label{display:block;margin:0 0 8px;color:var(--text-main);font-size:16px;font-weight:600}.admin-field-label.required:before{content:"* ";color:var(--danger)}.admin-input{width:100%;padding:10px 14px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg-panel);color:var(--text-main);font-size:14px;outline:none;transition:border-color .2s,box-shadow .2s}.admin-input:focus{border-color:rgba(192,57,43,.35);box-shadow:0 0 0 3px rgba(192,57,43,.08)}.admin-input-title{padding:10px 14px;font-size:15px}.admin-textarea{width:100%;padding:10px 14px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg-panel);color:var(--text-main);font-size:14px;line-height:1.7;resize:vertical;outline:none;font-family:inherit;transition:border-color .2s,box-shadow .2s}.admin-textarea:focus{border-color:rgba(192,57,43,.35);box-shadow:0 0 0 3px rgba(192,57,43,.08)}.admin-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.admin-form-row .admin-field{margin-bottom:0}.admin-spinner{width:16px;height:16px;border:2px solid hsla(0,0%,100%,.3);border-top-color:#fff;border-radius:50%;animation:admin-spin .8s linear infinite}@keyframes admin-spin{to{transform:rotate(1turn)}}@media (max-width:1024px){.admin-toolbar{align-items:stretch}.admin-header,.admin-toolbar{flex-direction:column}.admin-form-row,.admin-stats{grid-template-columns:1fr}.admin-search{width:100%}}@media (max-width:768px){.admin-scroll{padding:0 16px 32px 0}.admin-panel{padding:18px}.admin-header h2{font-size:22px}.admin-modal-overlay{padding:8px}.admin-modal{min-width:unset;min-height:unset;width:100%;max-height:100vh;border-radius:var(--radius-lg)}.admin-modal-body,.admin-modal-footer,.admin-modal-header{padding:16px}.admin-modal-footer{flex-direction:column-reverse;align-items:stretch}}