@charset "UTF-8";.home[data-v-7cb8c30b]{min-height:100vh;background:var(--bg-primary);position:relative}.home[data-v-7cb8c30b]:before{content:"";position:fixed;top:0;left:0;right:0;height:220px;background:linear-gradient(105deg,#165dff,#722ed1,#f53f3f);opacity:.12;mask-image:linear-gradient(to bottom,black 0%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,black 0%,transparent 100%);pointer-events:none;z-index:0}[data-theme=dark] .home[data-v-7cb8c30b]:before{opacity:.18}.tw-cursor[data-v-7cb8c30b]{display:inline-block;font-weight:300;margin-left:1px}.tw-cursor.blink[data-v-7cb8c30b]{animation:blink-7cb8c30b 1s step-end infinite}@keyframes blink-7cb8c30b{0%,to{opacity:1}50%{opacity:0}}.page-layout[data-v-7cb8c30b]{position:relative;z-index:1;max-width:1400px;margin:0 auto;padding:80px 24px;display:grid;grid-template-columns:260px 1fr 220px;gap:24px;align-items:start}.sidebar[data-v-7cb8c30b]{display:flex;flex-direction:column;gap:16px;position:sticky;top:72px}.sidebar-right[data-v-7cb8c30b]{top:72px}.sidebar-card[data-v-7cb8c30b]{background:var(--bg-card);border-radius:var(--radius-card);border:1px solid var(--border-color);box-shadow:var(--shadow-card);overflow:hidden;transition:box-shadow .3s}.sidebar-card[data-v-7cb8c30b]:hover{box-shadow:var(--shadow-card-hover)}.author-card[data-v-7cb8c30b]{position:relative;padding:32px 24px 28px;text-align:center;overflow:visible}.author-card .ac-deco[data-v-7cb8c30b]{position:absolute;border-radius:3px;transform:rotate(45deg);opacity:.45}.author-card .ac-deco-tl[data-v-7cb8c30b]{top:18px;left:22px;width:10px;height:10px;background:#165dff}.author-card .ac-deco-tr[data-v-7cb8c30b]{top:22px;right:26px;width:7px;height:7px;background:#722ed1}.author-card .author-title[data-v-7cb8c30b]{font-family:var(--font-display);font-size:26px;font-weight:700;letter-spacing:.04em;margin-bottom:10px}.author-card .author-desc[data-v-7cb8c30b]{font-size:13px;color:var(--text-tertiary);line-height:1.6;min-height:22px}.author-card .author-socials[data-v-7cb8c30b]{display:flex;justify-content:center;gap:10px;margin-top:20px;flex-wrap:wrap}.author-card .ac-social[data-v-7cb8c30b]{width:30px;height:30px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;transition:transform .2s ease,box-shadow .2s ease}.author-card .ac-social svg[data-v-7cb8c30b]{width:14px;height:14px}.author-card .ac-social[data-v-7cb8c30b]:hover{transform:translateY(-3px);box-shadow:0 6px 16px #00000038;color:#fff}.author-card .ac-social.github[data-v-7cb8c30b]{background:#24292f}.author-card .ac-social.gitee[data-v-7cb8c30b]{background:#c71d23}.author-card .ac-social.email[data-v-7cb8c30b]{background:#165dff}.author-card .ac-social.wechat[data-v-7cb8c30b]{background:#07c160}.card-title[data-v-7cb8c30b]{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--text-primary);padding:14px 16px 10px;border-bottom:1px solid var(--border-color)}.card-title .title-dot[data-v-7cb8c30b]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.notice-text[data-v-7cb8c30b]{font-size:13px;color:var(--text-secondary);line-height:1.8;padding:12px 16px}.notice-list[data-v-7cb8c30b]{list-style:none;padding:8px 0}.notice-item[data-v-7cb8c30b]{padding:0}.notice-link[data-v-7cb8c30b],.notice-plain[data-v-7cb8c30b]{display:flex;align-items:flex-start;gap:8px;padding:7px 16px;font-size:13px;color:var(--text-secondary);line-height:1.6;transition:color .2s,background .2s;text-decoration:none}.notice-link[data-v-7cb8c30b]{cursor:pointer}.notice-link[data-v-7cb8c30b]:hover{color:var(--color-accent);background:var(--bg-secondary)}.notice-link:hover .notice-dot[data-v-7cb8c30b]{background:var(--color-accent)}.notice-dot[data-v-7cb8c30b]{width:5px;height:5px;border-radius:50%;background:var(--border-strong);flex-shrink:0;margin-top:6px;transition:background .2s}.notice-dot--activity[data-v-7cb8c30b]{background:#ff7d00}.notice-dot--announcement[data-v-7cb8c30b]{background:#f53f3f}.notice-dot--update[data-v-7cb8c30b]{background:#165dff}.notice-dot--tip[data-v-7cb8c30b]{background:#00b42a}.cat-list[data-v-7cb8c30b]{list-style:none;padding:8px 0}.cat-item[data-v-7cb8c30b]{display:flex;align-items:center;gap:8px;padding:8px 16px;cursor:pointer;transition:background .2s}.cat-item[data-v-7cb8c30b]:hover{background:var(--bg-secondary)}.cat-item:hover .cat-name[data-v-7cb8c30b]{color:var(--color-accent)}.cat-item:hover .cat-dot[data-v-7cb8c30b]{background:var(--color-accent)}.cat-dot[data-v-7cb8c30b]{width:6px;height:6px;border-radius:50%;background:var(--border-strong);flex-shrink:0;transition:background .2s}.cat-name[data-v-7cb8c30b]{flex:1;font-size:13px;color:var(--text-secondary);transition:color .2s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cat-count[data-v-7cb8c30b]{font-size:11px;color:var(--text-tertiary);background:var(--bg-secondary);padding:1px 7px;border-radius:10px;min-width:24px;text-align:center}.tag-sphere-wrap[data-v-7cb8c30b]{padding:12px;display:flex;justify-content:center;overflow:hidden}.tag-sphere[data-v-7cb8c30b]{position:relative;width:220px;height:220px}.sphere-tag[data-v-7cb8c30b]{position:absolute;top:0;left:0;padding:3px 10px;border-radius:var(--radius-tag);border:1px solid;font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap;will-change:transform,opacity;transition:filter .2s,box-shadow .2s}.sphere-tag[data-v-7cb8c30b]:hover{filter:brightness(.85) saturate(1.4);box-shadow:0 4px 12px #00000026}.center-col[data-v-7cb8c30b]{min-width:0}.section-header[data-v-7cb8c30b]{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.section-title[data-v-7cb8c30b]{font-family:var(--font-serif);font-size:20px;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:10px}.section-title[data-v-7cb8c30b]:before{content:"";display:block;width:4px;height:20px;background:var(--gradient-accent);border-radius:2px}.section-more[data-v-7cb8c30b]{font-size:13px;color:var(--color-accent);font-weight:500;transition:opacity .2s}.section-more[data-v-7cb8c30b]:hover{opacity:.7}.article-grid[data-v-7cb8c30b]{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch}.article-card[data-v-7cb8c30b]{background:var(--bg-card);border-radius:var(--radius-card);border:1px solid var(--border-color);box-shadow:var(--shadow-card);overflow:hidden;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column}.article-card[data-v-7cb8c30b]:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-4px);border-color:var(--color-accent)}.article-card:hover .card-cover img[data-v-7cb8c30b]{transform:scale(1.06)}.article-card:hover .card-title[data-v-7cb8c30b]{color:var(--color-accent-hover)}.article-card .card-cover[data-v-7cb8c30b]{position:relative;aspect-ratio:16/8;overflow:hidden;background:var(--bg-secondary);flex-shrink:0}.article-card .card-cover img[data-v-7cb8c30b]{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}.article-card .card-cover .top-badge[data-v-7cb8c30b]{position:absolute;top:8px;left:8px;background:var(--gradient-warm);color:#fff;font-size:10px;font-weight:700;padding:2px 8px;border-radius:8px}.article-card .card-cover .cat-badge[data-v-7cb8c30b]{position:absolute;bottom:8px;left:8px;background:#0000008c;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);font-size:10px;font-weight:600;padding:2px 8px;border-radius:8px}.article-card .card-body[data-v-7cb8c30b]{flex:1;padding:10px 12px;display:flex;flex-direction:column}.article-card .card-content[data-v-7cb8c30b]{flex:1;display:flex;flex-direction:column;gap:8px}.article-card .card-title[data-v-7cb8c30b]{font-family:var(--font-serif);font-size:13px;font-weight:700;color:var(--color-accent);line-height:1.4;min-height:1.4em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .2s;margin:0}.article-card .card-abstract[data-v-7cb8c30b]{font-size:12px;color:var(--text-tertiary);line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0}.article-card .card-footer[data-v-7cb8c30b]{display:flex;align-items:center;justify-content:space-between;padding-top:8px;margin-top:auto}.article-card .card-date[data-v-7cb8c30b]{font-size:12px;color:var(--text-tertiary)}.article-card .card-meta-right[data-v-7cb8c30b]{display:flex;align-items:center;gap:6px}.article-card .card-reads[data-v-7cb8c30b]{font-size:12px;color:var(--text-tertiary)}.article-card .card-tags[data-v-7cb8c30b]{display:flex;gap:4px}.article-card .tag[data-v-7cb8c30b]{padding:1px 7px;border-radius:6px;background:var(--bg-secondary);color:var(--text-secondary);font-size:11px;border:1px solid var(--border-color);transition:all .2s}.article-card .tag[data-v-7cb8c30b]:hover{border-color:var(--color-accent);color:var(--color-accent)}.empty-state[data-v-7cb8c30b]{grid-column:1/-1;text-align:center;padding:64px 0;color:var(--text-tertiary)}.empty-state .empty-icon[data-v-7cb8c30b]{font-size:48px;margin-bottom:12px}.empty-state p[data-v-7cb8c30b]{font-size:15px}@media(max-width:1200px){.page-layout[data-v-7cb8c30b]{grid-template-columns:240px 1fr 200px;gap:20px}}@media(max-width:1024px){.page-layout[data-v-7cb8c30b]{grid-template-columns:240px 1fr}.sidebar-right[data-v-7cb8c30b]{grid-column:2;display:grid;grid-template-columns:repeat(2,1fr);position:static}}@media(max-width:900px){.article-grid[data-v-7cb8c30b]{grid-template-columns:repeat(2,1fr)}}@media(max-width:860px){.page-layout[data-v-7cb8c30b]{grid-template-columns:1fr}.sidebar-left[data-v-7cb8c30b]{display:grid;grid-template-columns:repeat(2,1fr);position:static}.author-card[data-v-7cb8c30b]{grid-column:1/-1}.sidebar-right[data-v-7cb8c30b]{grid-column:1;display:grid;grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.article-grid[data-v-7cb8c30b],.sidebar-left[data-v-7cb8c30b],.sidebar-right[data-v-7cb8c30b]{grid-template-columns:1fr}.page-layout[data-v-7cb8c30b]{padding:16px 16px 60px}.tag-sphere[data-v-7cb8c30b]{width:180px;height:180px}}@media(prefers-reduced-motion:reduce){.sphere-tag[data-v-7cb8c30b],.article-card[data-v-7cb8c30b]{transition:none}.article-card[data-v-7cb8c30b]:hover{transform:none}}.header[data-v-cd540b01]{position:fixed;top:0;left:0;right:0;height:64px;z-index:999;background-image:url(/bg-banner.png);background-size:cover;background-position:center 20%;box-shadow:0 4px 24px #00000040;transition:box-shadow .3s ease}.header[data-v-cd540b01]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#0812288c;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);pointer-events:none}.header[data-v-cd540b01]:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#165dff,#0fc6c2,#ff7d00,#f53f3f,#165dff);background-size:300% 100%;animation:header-flow-cd540b01 5s linear infinite}.header .container[data-v-cd540b01]{height:100%;display:flex;align-items:center;gap:24px;position:relative}@keyframes header-flow-cd540b01{0%{background-position:0% center}to{background-position:300% center}}.logo[data-v-cd540b01]{flex-shrink:0;display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:22px;font-weight:900;color:#fff;text-decoration:none;letter-spacing:-.03em;transition:color .2s ease;text-shadow:0 1px 8px rgba(0,0,0,.4)}.logo[data-v-cd540b01]:hover{color:#7eb8ff!important}.logo .logo-img[data-v-cd540b01]{width:32px;height:32px;border-radius:8px;object-fit:cover;flex-shrink:0}.nav[data-v-cd540b01]{display:flex;align-items:center;gap:4px;flex:1}.nav-item[data-v-cd540b01]{display:flex;align-items:center;gap:6px;padding:5px 10px;border-radius:var(--radius-btn);color:#ffffffd9;font-size:13px;font-weight:500;transition:all .2s ease;white-space:nowrap}.nav-item .nav-icon[data-v-cd540b01]{width:24px;height:24px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;transition:transform .2s ease}.nav-item .nav-icon .el-icon[data-v-cd540b01]{font-size:14px}.nav-item[data-v-cd540b01]:hover{background:#ffffff1f;color:#fff!important}.nav-item:hover .nav-icon[data-v-cd540b01]{transform:scale(1.15)}.nav-item.router-link-active[data-v-cd540b01]{color:#7eb8ff!important;background:#165dff33;font-weight:700}.header-actions[data-v-cd540b01]{display:flex;align-items:center;gap:8px;flex-shrink:0}.icon-btn[data-v-cd540b01]{width:36px;height:36px;border-radius:var(--radius-btn);background:transparent;border:1px solid rgba(255,255,255,.2);color:#ffffffd9;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .2s ease}.icon-btn[data-v-cd540b01]:hover{border-color:#ffffff80;color:#fff;background:#ffffff1f}.login-btn[data-v-cd540b01]{padding:7px 18px;border-radius:var(--radius-btn);background:#165dffbf;border:1px solid rgba(22,93,255,.5);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.login-btn[data-v-cd540b01]:hover{background:#165dfff2}.user-avatar[data-v-cd540b01]{width:34px;height:34px;border-radius:50%;object-fit:cover;border:2px solid var(--border-strong);cursor:pointer;transition:all .2s ease;display:block}.user-avatar[data-v-cd540b01]:hover{border-color:var(--color-accent);box-shadow:var(--shadow-glow)}.mobile-menu-btn[data-v-cd540b01]{display:none}.mobile-menu[data-v-cd540b01]{padding:24px 16px;height:100%;background:var(--bg-card);display:flex;flex-direction:column;gap:24px}.mobile-menu .mobile-logo[data-v-cd540b01]{font-family:var(--font-display);font-size:22px;font-weight:900;color:var(--text-primary);padding-bottom:16px;border-bottom:1px solid var(--border-color);letter-spacing:-.03em}.mobile-menu .mobile-nav[data-v-cd540b01]{display:flex;flex-direction:column;gap:4px;flex:1}.mobile-menu .mobile-nav-item[data-v-cd540b01]{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:var(--radius-btn);color:var(--text-secondary);font-size:15px;transition:all .2s ease}.mobile-menu .mobile-nav-item .mobile-nav-icon[data-v-cd540b01]{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;background:var(--bg-secondary)}.mobile-menu .mobile-nav-item[data-v-cd540b01]:hover,.mobile-menu .mobile-nav-item.router-link-active[data-v-cd540b01]{background:var(--bg-secondary);color:var(--color-accent)}.mobile-menu .mobile-actions[data-v-cd540b01]{display:flex;flex-direction:column;gap:8px;padding-top:16px;border-top:1px solid var(--border-color)}.mobile-menu .mobile-action-btn[data-v-cd540b01]{padding:11px 14px;border-radius:var(--radius-btn);background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);font-size:14px;cursor:pointer;text-align:left;transition:all .2s ease}.mobile-menu .mobile-action-btn[data-v-cd540b01]:hover{border-color:var(--color-accent);color:var(--color-accent)}.mobile-menu .mobile-action-btn.accent[data-v-cd540b01]{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.mobile-menu .mobile-action-btn.accent[data-v-cd540b01]:hover{background:var(--color-accent-hover)}.profile-content[data-v-cd540b01]{display:flex;flex-direction:column;gap:24px}.profile-content .avatar-section[data-v-cd540b01]{display:flex;flex-direction:column;align-items:center;gap:12px}.profile-content .avatar-section .profile-avatar[data-v-cd540b01]{width:88px;height:88px;border-radius:50%;object-fit:cover;border:3px solid var(--border-strong);box-shadow:var(--shadow-glow)}.profile-content .avatar-section .change-avatar-btn[data-v-cd540b01]{padding:6px 16px;border-radius:var(--radius-btn);background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .2s ease}.profile-content .avatar-section .change-avatar-btn[data-v-cd540b01]:hover{border-color:var(--color-accent);color:var(--color-accent)}.profile-content .profile-info[data-v-cd540b01]{display:flex;flex-direction:column}.profile-content .profile-info .info-row[data-v-cd540b01]{display:flex;align-items:center;gap:16px;padding:10px 0;border-bottom:1px solid var(--border-color)}.profile-content .profile-info .info-row .info-label[data-v-cd540b01]{font-size:13px;color:var(--text-tertiary);width:40px;flex-shrink:0}.profile-content .profile-info .info-row .info-value[data-v-cd540b01]{font-size:14px;color:var(--text-primary)}.profile-content .profile-actions[data-v-cd540b01]{display:flex;gap:12px;justify-content:center}@media(max-width:768px){.desktop-nav[data-v-cd540b01]{display:none}.mobile-menu-btn[data-v-cd540b01]{display:flex}.header .container[data-v-cd540b01]{gap:16px}}.footer[data-v-86e5a33c]{position:relative;margin-top:80px;background-image:url(/bg-banner.png);background-size:cover;background-position:center 80%;color:#ffffffbf}.footer[data-v-86e5a33c]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#050c1eb8;pointer-events:none;z-index:0}.footer .container[data-v-86e5a33c]{position:relative;z-index:1}.footer[data-v-86e5a33c]:before{content:"";position:absolute;top:-48px;left:0;right:0;height:50px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 50' preserveAspectRatio='none'%3E%3Cpath fill='%23050c1e' d='M0,30 C360,55 1080,5 1440,30 L1440,50 L0,50 Z'/%3E%3C/svg%3E") no-repeat bottom center/100% 100%;pointer-events:none;z-index:1}.footer-main[data-v-86e5a33c]{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:48px;padding:32px 0 24px;border-bottom:1px solid rgba(255,255,255,.1)}.footer-col[data-v-86e5a33c]{display:flex;flex-direction:column;gap:0}.footer-brand .brand-name[data-v-86e5a33c]{font-family:var(--font-serif);font-size:22px;font-weight:700;color:#fff;display:block;margin-bottom:10px;letter-spacing:-.02em}.footer-brand .brand-motto[data-v-86e5a33c]{font-size:13px;color:#ffffff80;margin:0 0 22px;line-height:1.75;padding-left:10px;border-left:2px solid rgba(100,180,255,.5)}.social-row[data-v-86e5a33c]{display:flex;gap:10px}.social-icon-btn[data-v-86e5a33c]{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.15);transition:transform .2s,box-shadow .2s,border-color .2s,background .2s;text-decoration:none}.social-icon-btn svg[data-v-86e5a33c]{width:18px;height:18px}.social-icon-btn[data-v-86e5a33c]:hover{transform:translateY(-3px)}.social-icon-btn.github[data-v-86e5a33c]{background:#ffffff14;color:#e6edf3}.social-icon-btn.github[data-v-86e5a33c]:hover{background:#ffffff29;border-color:#ffffff4d;box-shadow:0 6px 20px #0000004d}.social-icon-btn.gitee[data-v-86e5a33c]{background:#c6202633;color:#ff9a9a;border-color:#c620264d}.social-icon-btn.gitee[data-v-86e5a33c]:hover{background:#c6202659;border-color:#c6202699;box-shadow:0 6px 20px #c6202640}.social-icon-btn.email[data-v-86e5a33c]{background:#165dff2e;color:#7eb8ff;border-color:#165dff4d;cursor:pointer}.social-icon-btn.email[data-v-86e5a33c]:hover{background:#165dff52;border-color:#165dff99;box-shadow:0 6px 20px #165dff40}.social-icon-btn.wechat[data-v-86e5a33c]{background:#00b42a2e;color:#7ddc8a;border-color:#00b42a4d;cursor:pointer}.social-icon-btn.wechat[data-v-86e5a33c]:hover{background:#00b42a47;border-color:#00b42a80;box-shadow:0 6px 20px #00b42a33}.social-icon-btn.rss[data-v-86e5a33c]{background:#ff82002e;color:#fa5;border-color:#ff82004d}.social-icon-btn.rss[data-v-86e5a33c]:hover{background:#ff820052;border-color:#ff820099;box-shadow:0 6px 20px #ff820040}.col-title[data-v-86e5a33c]{font-size:11px;font-weight:700;color:#fff6;text-transform:uppercase;letter-spacing:.14em;margin-bottom:16px;display:block}.footer-nav[data-v-86e5a33c]{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}.footer-nav a[data-v-86e5a33c]{font-size:13px;color:#fff9;text-decoration:none;transition:color .18s,transform .18s;display:block}.footer-nav a[data-v-86e5a33c]:hover{color:#7eb8ff;transform:translate(3px)}.quote-list[data-v-86e5a33c]{display:flex;flex-direction:column;gap:14px}.quote-item[data-v-86e5a33c]{margin:0;padding:10px 14px;border-left:2px solid rgba(100,180,255,.35)}.quote-item .quote-text[data-v-86e5a33c]{font-size:13px;color:#ffffffa6;line-height:1.7;margin:0 0 4px;font-style:italic}.quote-item .quote-author[data-v-86e5a33c]{font-size:11px;color:#ffffff59;font-style:normal;letter-spacing:.04em}.footer-bottom[data-v-86e5a33c]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 0;padding:18px 0 28px;border-top:1px solid transparent;border-image:linear-gradient(90deg,transparent,rgba(100,180,255,.25) 30%,rgba(100,180,255,.25) 70%,transparent) 1}.footer-bottom-left[data-v-86e5a33c]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.footer-bottom-left .copyright[data-v-86e5a33c],.footer-bottom-left .icp[data-v-86e5a33c],.footer-bottom-left .made-with[data-v-86e5a33c]{font-size:12px;color:#ffffffa6;letter-spacing:.02em}.footer-bottom-left .icp[data-v-86e5a33c]{text-decoration:none;transition:color .18s}.footer-bottom-left .icp[data-v-86e5a33c]:hover{color:#7eb8ff}.footer-bottom-left .divider[data-v-86e5a33c]{font-size:12px;color:#ffffff73}.footer-bottom-left .made-with .heart[data-v-86e5a33c]{color:#ff6b8a;font-style:normal;animation:heartbeat-86e5a33c 1.6s ease-in-out infinite;display:inline-block}.footer-bottom-right[data-v-86e5a33c]{display:flex;align-items:center;gap:14px}.runtime-wrap[data-v-86e5a33c]{display:flex;align-items:center;gap:6px}.runtime-wrap .runtime-dot[data-v-86e5a33c]{width:6px;height:6px;border-radius:50%;background:#00d084;box-shadow:0 0 0 2px #00d08440;animation:pulse-86e5a33c 2s ease-in-out infinite;flex-shrink:0}.runtime-wrap .runtime[data-v-86e5a33c]{font-size:12px;color:#ffffffa6;font-variant-numeric:tabular-nums}@keyframes pulse-86e5a33c{0%,to{box-shadow:0 0 0 2px #00d08433}50%{box-shadow:0 0 0 5px #00d08414}}@keyframes heartbeat-86e5a33c{0%,to{transform:scale(1)}14%{transform:scale(1.25)}28%{transform:scale(1)}42%{transform:scale(1.15)}56%{transform:scale(1)}}@media(max-width:768px){.footer[data-v-86e5a33c]{margin-top:56px}.footer-main[data-v-86e5a33c]{grid-template-columns:1fr 1fr;gap:32px;padding:36px 0 28px}.footer-brand[data-v-86e5a33c]{grid-column:1/-1}.footer-bottom[data-v-86e5a33c]{flex-direction:column;align-items:center;gap:10px;padding:16px 0 22px}.footer-bottom-left[data-v-86e5a33c]{justify-content:center}}@media(max-width:480px){.footer-main[data-v-86e5a33c]{grid-template-columns:1fr}}.error-boundary[data-v-7bdd5109]{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,#667eea,#764ba2)}.error-boundary .error-content[data-v-7bdd5109]{background:#fffffff2;border-radius:25px;padding:60px 40px;text-align:center;max-width:500px;box-shadow:0 20px 60px #0000004d}@media(max-width:768px){.error-boundary .error-content[data-v-7bdd5109]{padding:40px 30px}}.error-boundary .error-content .error-icon[data-v-7bdd5109]{font-size:80px;margin-bottom:20px;animation:shake-7bdd5109 .5s ease-in-out}@media(max-width:768px){.error-boundary .error-content .error-icon[data-v-7bdd5109]{font-size:60px}}.error-boundary .error-content .error-title[data-v-7bdd5109]{font-size:28px;color:#333;margin-bottom:15px;font-weight:700}@media(max-width:768px){.error-boundary .error-content .error-title[data-v-7bdd5109]{font-size:24px}}.error-boundary .error-content .error-message[data-v-7bdd5109]{font-size:16px;color:#666;margin-bottom:30px;line-height:1.6}@media(max-width:768px){.error-boundary .error-content .error-message[data-v-7bdd5109]{font-size:14px}}.error-boundary .error-content .error-actions[data-v-7bdd5109]{display:flex;gap:15px;justify-content:center}@media(max-width:768px){.error-boundary .error-content .error-actions[data-v-7bdd5109]{flex-direction:column}}.error-boundary .error-content .error-actions button[data-v-7bdd5109]{display:flex;align-items:center;gap:8px;padding:12px 28px;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s}@media(max-width:768px){.error-boundary .error-content .error-actions button[data-v-7bdd5109]{width:100%;justify-content:center;padding:14px 28px}}.error-boundary .error-content .error-actions button .btn-icon[data-v-7bdd5109]{font-size:18px}.error-boundary .error-content .error-actions button.retry-btn[data-v-7bdd5109]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.error-boundary .error-content .error-actions button.retry-btn[data-v-7bdd5109]:hover{transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.error-boundary .error-content .error-actions button.home-btn[data-v-7bdd5109]{background:#fff;color:#667eea;border:2px solid #667eea}.error-boundary .error-content .error-actions button.home-btn[data-v-7bdd5109]:hover{background:#667eea;color:#fff;transform:translateY(-2px)}.error-boundary .error-content .error-actions button[data-v-7bdd5109]:active{transform:translateY(0)}@keyframes shake-7bdd5109{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.search-overlay[data-v-548922ec]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000007a;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:2000;display:flex;justify-content:center;padding-top:88px;align-items:flex-start}.search-box[data-v-548922ec]{width:min(620px,100vw - 32px);background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 24px 64px #00000047;overflow:hidden}.search-header[data-v-548922ec]{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border-color)}.s-icon[data-v-548922ec]{width:20px;height:20px;color:var(--text-tertiary);flex-shrink:0}.s-input[data-v-548922ec]{flex:1;border:none;outline:none;background:transparent;font-size:16px;color:var(--text-primary);caret-color:var(--color-accent);font-family:var(--font-sans)}.s-input[data-v-548922ec]::placeholder{color:var(--text-tertiary)}.s-esc[data-v-548922ec]{padding:2px 8px;border-radius:5px;background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-tertiary);font-size:11px;cursor:pointer;flex-shrink:0;font-family:var(--font-sans);transition:all .15s}.s-esc[data-v-548922ec]:hover{border-color:var(--color-accent);color:var(--color-accent)}.search-body[data-v-548922ec]{max-height:400px;overflow-y:auto}.s-tip[data-v-548922ec]{padding:20px 24px;font-size:13px;color:var(--text-tertiary);margin:0;text-align:center}.s-tip kbd[data-v-548922ec]{padding:1px 6px;border-radius:4px;background:var(--bg-secondary);border:1px solid var(--border-color);font-size:11px;margin:0 2px;font-family:var(--font-sans)}.s-list[data-v-548922ec]{list-style:none;padding:8px 0;margin:0}.s-item[data-v-548922ec]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 20px;cursor:pointer;transition:background .15s}.s-item.active[data-v-548922ec]{background:var(--bg-secondary)}.s-item.active .s-title[data-v-548922ec]{color:var(--color-accent)}.s-item[data-v-548922ec]:hover{background:var(--bg-secondary)}.s-item:hover .s-title[data-v-548922ec]{color:var(--color-accent)}.s-title[data-v-548922ec]{font-size:14px;color:var(--text-primary);font-weight:500;transition:color .15s;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s-meta[data-v-548922ec]{display:flex;align-items:center;gap:8px;flex-shrink:0}.s-cat[data-v-548922ec]{font-size:11px;padding:1px 8px;border-radius:10px;background:var(--bg-secondary);color:var(--text-tertiary);border:1px solid var(--border-color)}.s-date[data-v-548922ec]{font-size:12px;color:var(--text-tertiary)}.search-fade-enter-active[data-v-548922ec]{transition:opacity .2s ease}.search-fade-leave-active[data-v-548922ec]{transition:opacity .18s ease}.search-fade-enter-from[data-v-548922ec],.search-fade-leave-to[data-v-548922ec]{opacity:0}.search-fade-enter-active .search-box[data-v-548922ec]{transition:transform .22s ease,opacity .2s ease}.search-fade-leave-active .search-box[data-v-548922ec]{transition:transform .18s ease,opacity .18s ease}.search-fade-enter-from .search-box[data-v-548922ec],.search-fade-leave-to .search-box[data-v-548922ec]{transform:translateY(-16px);opacity:0}#app{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-primary);overflow-x:hidden}.main-content{flex:1;padding-top:64px}.main-content.no-padding{padding-top:0}.back-top-btn{position:fixed;bottom:36px;right:36px;width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#165dff,#722ed1);box-shadow:0 4px 16px #165dff52;cursor:pointer;z-index:997;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transform:translateY(16px);transition:opacity .3s,visibility .3s,transform .3s,box-shadow .3s}.back-top-btn svg{width:22px;height:22px;transition:transform .3s ease}.back-top-btn.show{opacity:1;visibility:visible;transform:translateY(0)}.back-top-btn:hover{box-shadow:0 8px 28px #165dff7a;transform:translateY(-5px)}.back-top-btn:hover svg{animation:rocket-boost .55s ease-in-out infinite alternate}@keyframes rocket-boost{0%{transform:translateY(0)}to{transform:translateY(-3px)}}@media(max-width:768px){.back-top-btn{bottom:20px;right:20px;width:40px;height:40px;border-radius:10px}}.leaves-container{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;overflow:hidden}.leaf-wrap{position:absolute;top:-40px;animation:leaf-fall var(--fall-dur) linear var(--fall-delay) infinite;will-change:transform}.leaf-sway{animation:leaf-sway var(--sway-dur) ease-in-out infinite alternate;will-change:transform}.leaf-spin{display:block;line-height:1;filter:var(--leaf-filter, none);animation:leaf-spin var(--spin-dur) linear infinite;animation-direction:var(--spin-dir, normal);will-change:transform}@keyframes leaf-fall{0%{transform:translateY(-40px)}to{transform:translateY(110vh)}}@keyframes leaf-sway{0%{transform:translate(calc(-1 * var(--sway-amp)))}to{transform:translate(var(--sway-amp))}}@keyframes leaf-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.leaf-wrap,.leaf-sway,.leaf-spin{animation:none}.back-top-btn{transition:none}}*{margin:0;padding:0;box-sizing:border-box}html{font-size:23px}:root{--el-font-size-extra-large: 29px;--el-font-size-large: 27px;--el-font-size-medium: 25px;--el-font-size-base: 22px;--el-font-size-small: 20px;--el-font-size-extra-small: 19px}:root,[data-theme=light]{--bg-primary: #faf8f5;--bg-secondary: #f2ede8;--bg-card: #ffffff;--bg-card-solid: #ffffff;--bg-header: rgba(250, 248, 245, .92);--bg-overlay: rgba(255, 255, 255, .97);--bg-sidebar: #ffffff;--text-primary: #1d2129;--text-secondary: #4e5969;--text-tertiary: #86909c;--text-inverse: #ffffff;--border-color: #ede8e1;--border-strong: #d9d0c7;--color-accent: #165dff;--color-accent-hover: #0e42d2;--color-accent-2: #722ed1;--color-accent-3: #ff7d00;--color-pink: #f53f3f;--color-cyan: #00b42a;--color-danger: #f53f3f;--color-warning: #ff7d00;--color-success: #00b42a;--gradient-accent: linear-gradient(135deg, #165dff 0%, #722ed1 100%);--gradient-warm: linear-gradient(135deg, #ff7d00 0%, #f53f3f 100%);--gradient-cool: linear-gradient(135deg, #00b42a 0%, #165dff 100%);--gradient-hero: linear-gradient(135deg, #0a0e27 0%, #1a1040 50%, #0d1a3a 100%);--shadow-sm: 0 1px 3px rgba(0,0,0,.06);--shadow-card: 0 4px 16px rgba(0,0,0,.08), 0 1px 4px rgba(0,0,0,.04);--shadow-card-hover: 0 16px 48px rgba(0,0,0,.14), 0 6px 16px rgba(0,0,0,.08);--shadow-glow: 0 0 0 3px rgba(22, 93, 255, .2);--shadow-glow-strong: 0 0 32px rgba(22, 93, 255, .3);--radius-card: 16px;--radius-btn: 8px;--radius-tag: 20px;--font-serif: "ZCOOL KuaiLe", "PingFang SC", "Microsoft YaHei", sans-serif;--font-display: "ZCOOL KuaiLe", "PingFang SC", sans-serif;--font-sans: "ZCOOL KuaiLe", "PingFang SC", "Microsoft YaHei", sans-serif;--font-article: "Noto Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--blur-glass: blur(20px) saturate(1.8)}[data-theme=dark]{--bg-primary: #0d1117;--bg-secondary: #161b22;--bg-card: #1c2128;--bg-card-solid: #1c2128;--bg-header: rgba(13, 17, 23, .92);--bg-overlay: rgba(28, 33, 40, .97);--bg-sidebar: #1c2128;--text-primary: #e6edf3;--text-secondary: #8b949e;--text-tertiary: #6e7681;--text-inverse: #0d1117;--border-color: #30363d;--border-strong: #484f58;--color-accent: #58a6ff;--color-accent-hover: #79b8ff;--color-accent-2: #bc8cff;--color-accent-3: #ffa657;--color-pink: #ff7b72;--color-cyan: #3fb950;--color-danger: #ff7b72;--color-warning: #ffa657;--color-success: #3fb950;--gradient-accent: linear-gradient(135deg, #58a6ff 0%, #bc8cff 100%);--gradient-warm: linear-gradient(135deg, #ffa657 0%, #ff7b72 100%);--gradient-cool: linear-gradient(135deg, #3fb950 0%, #58a6ff 100%);--gradient-hero: linear-gradient(135deg, #0d1117 0%, #161b22 50%, #0d1117 100%);--shadow-sm: 0 1px 3px rgba(0,0,0,.5);--shadow-card: 0 4px 20px rgba(0,0,0,.4), 0 1px 4px rgba(0,0,0,.3);--shadow-card-hover: 0 20px 60px rgba(0,0,0,.6), 0 8px 20px rgba(0,0,0,.4);--shadow-glow: 0 0 0 3px rgba(88, 166, 255, .25);--shadow-glow-strong: 0 0 36px rgba(88, 166, 255, .35);--radius-card: 16px;--radius-btn: 8px;--radius-tag: 20px;--font-serif: "ZCOOL KuaiLe", "PingFang SC", "Microsoft YaHei", sans-serif;--font-display: "ZCOOL KuaiLe", "PingFang SC", sans-serif;--font-sans: "ZCOOL KuaiLe", "PingFang SC", "Microsoft YaHei", sans-serif;--font-article: "Noto Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--blur-glass: blur(20px) saturate(1.8)}body{font-family:var(--font-sans);font-size:23px;color:var(--text-secondary);background:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}a{text-decoration:none;color:inherit;-webkit-tap-highlight-color:transparent;transition:color .2s ease}a:hover{color:var(--color-accent)}ul,ol{list-style:none}img{max-width:100%;height:auto}button,a,input,textarea{-webkit-tap-highlight-color:transparent}.card{background:var(--bg-card);border-radius:var(--radius-card);border:1px solid var(--border-color);box-shadow:var(--shadow-card);transition:box-shadow .3s ease,transform .3s ease,border-color .3s ease}.card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-4px);border-color:var(--border-strong)}.page-header{padding:48px 0 32px;margin-bottom:36px;position:relative}.page-header h1{font-family:var(--font-serif);font-size:47px;font-weight:700;color:var(--text-primary);margin-bottom:10px;letter-spacing:-.02em;line-height:1.2}.page-header p{font-size:22px;color:var(--text-tertiary)}.page-header:after{content:"";display:block;width:48px;height:4px;background:var(--gradient-accent);border-radius:2px;margin-top:16px}.container{max-width:1200px;margin:0 auto;padding:0 24px}.el-button--primary{--el-button-bg-color: var(--color-accent);--el-button-border-color: var(--color-accent);--el-button-hover-bg-color: var(--color-accent-hover);--el-button-hover-border-color: var(--color-accent-hover);--el-button-text-color: #fff;font-weight:600;border-radius:var(--radius-btn)}.el-input__wrapper{background:var(--bg-secondary)!important;border-color:var(--border-color)!important;border-radius:var(--radius-btn)!important;box-shadow:none!important}.el-input__wrapper:hover,.el-input__wrapper.is-focus{border-color:var(--color-accent)!important}.el-input__inner{color:var(--text-primary)!important;background:transparent!important;font-family:var(--font-sans)!important}.el-pagination{--el-pagination-bg-color: var(--bg-card);--el-pagination-text-color: var(--text-secondary);--el-pagination-border-radius: var(--radius-btn);--el-pagination-button-color: var(--text-secondary);--el-pagination-hover-color: var(--color-accent)}.el-dropdown-menu{background:var(--bg-card)!important;border:1px solid var(--border-color)!important;border-radius:var(--radius-card)!important;box-shadow:var(--shadow-card-hover)!important}.el-dropdown-menu__item{color:var(--text-secondary)!important;font-family:var(--font-sans)!important}.el-dropdown-menu__item:hover{background:var(--bg-secondary)!important;color:var(--color-accent)!important}.el-dialog{background:var(--bg-card)!important;border-radius:var(--radius-card)!important;border:1px solid var(--border-color)!important}.el-dialog .el-dialog__title{color:var(--text-primary)!important;font-family:var(--font-serif)!important}.page-enter-active,.page-leave-active{transition:opacity .25s ease,transform .25s ease}.page-enter-from,.page-leave-to{opacity:0;transform:translateY(8px)}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-fade-up{animation:fadeUp .6s cubic-bezier(.16,1,.3,1) both}.animate-fade-in{animation:fadeIn .5s ease both}.gradient-text{background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
