.profile-mask[data-v-5bac3d43]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.profile-dialog[data-v-5bac3d43]{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius);width:100%;max-width:420px;box-shadow:var(--shadow-card);overflow:hidden}.dialog-header[data-v-5bac3d43]{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.dialog-title[data-v-5bac3d43]{color:var(--text-primary);font-size:18px;font-weight:700}.dialog-close[data-v-5bac3d43]{color:var(--text-secondary);background:0 0;border-radius:6px;padding:4px 8px;font-size:16px;transition:background .2s,color .2s}.dialog-close[data-v-5bac3d43]:hover{background:var(--bg-secondary);color:var(--text-primary)}.dialog-body[data-v-5bac3d43]{flex-direction:column;gap:18px;padding:24px;display:flex}.avatar-field[data-v-5bac3d43]{flex-direction:column;align-items:center;display:flex}.avatar-preview[data-v-5bac3d43]{cursor:pointer;border:2px solid var(--border-color);border-radius:50%;width:88px;height:88px;position:relative;overflow:hidden}.avatar-img[data-v-5bac3d43]{object-fit:cover;width:100%;height:100%;display:block}.avatar-overlay[data-v-5bac3d43]{color:#fff;opacity:0;background:#00000073;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:12px;transition:opacity .2s;display:flex;position:absolute;inset:0}.avatar-preview:hover .avatar-overlay[data-v-5bac3d43]{opacity:1}.avatar-overlay.show[data-v-5bac3d43]{opacity:1;background:#0000008c}.avatar-preview.uploading[data-v-5bac3d43]{cursor:progress}.spinner[data-v-5bac3d43]{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:22px;height:22px;animation:.7s linear infinite avatarSpin-5bac3d43}@keyframes avatarSpin-5bac3d43{to{transform:rotate(360deg)}}.avatar-hint[data-v-5bac3d43]{color:var(--text-muted);text-align:center;margin-top:10px;font-size:12px}.hidden-file[data-v-5bac3d43]{display:none}.form-group[data-v-5bac3d43]{flex-direction:column;gap:8px;display:flex}.form-label[data-v-5bac3d43]{color:var(--text-secondary);font-size:14px;font-weight:500}.dialog-footer[data-v-5bac3d43]{border-top:1px solid var(--border-color);justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.btn-sm[data-v-5bac3d43]{padding:8px 20px;font-size:13px}.btn-primary[data-v-5bac3d43]:disabled{opacity:.6;cursor:not-allowed;transform:none}.navbar[data-v-fcfb6382]{background:var(--navbar-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);z-index:1000;height:64px;position:fixed;top:0;left:0;right:0}.navbar-inner[data-v-fcfb6382]{justify-content:space-between;align-items:center;height:100%;display:flex}.logo[data-v-fcfb6382]{align-items:center;gap:8px;text-decoration:none;display:flex}.logo-icon[data-v-fcfb6382]{align-items:center;display:inline-flex}.logo-img[data-v-fcfb6382]{object-fit:contain;transform-origin:50%;filter:drop-shadow(0 0 4px #3b82f666);border-radius:8px;width:32px;height:32px;animation:2.6s ease-in-out infinite logoPulse-fcfb6382;display:block}@keyframes logoPulse-fcfb6382{0%,to{transform:scale(1)rotate(0)}40%{transform:scale(1.12)rotate(-6deg)}70%{transform:scale(1.04)rotate(5deg)}}.logo-text[data-v-fcfb6382]{letter-spacing:.5px;font-size:20px;font-weight:700}.nav-links[data-v-fcfb6382]{gap:32px;display:flex}.nav-link[data-v-fcfb6382]{color:var(--text-secondary);font-size:15px;font-weight:500;text-decoration:none;transition:color .2s;position:relative}.nav-link[data-v-fcfb6382]:hover,.nav-link.active[data-v-fcfb6382]{color:var(--text-primary)}.nav-link.active[data-v-fcfb6382]:after{content:"";background:var(--gradient-primary);border-radius:1px;height:2px;position:absolute;bottom:-20px;left:0;right:0}.nav-actions[data-v-fcfb6382]{align-items:center;gap:12px;display:flex}.theme-toggle[data-v-fcfb6382]{background:0 0;border-radius:6px;padding:6px;font-size:18px;transition:background .2s,transform .3s}.theme-toggle[data-v-fcfb6382]:hover{background:var(--bg-card);transform:rotate(20deg)scale(1.1)}.user-menu[data-v-fcfb6382]{position:relative}.user-trigger[data-v-fcfb6382]{background:0 0;border-radius:999px;align-items:center;gap:8px;padding:4px 8px 4px 4px;transition:background .2s;display:flex}.user-trigger[data-v-fcfb6382]:hover{background:var(--bg-card)}.user-avatar[data-v-fcfb6382]{object-fit:cover;border:1px solid var(--border-color);border-radius:50%;width:32px;height:32px}.user-name[data-v-fcfb6382]{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:14px;font-weight:500;overflow:hidden}.caret[data-v-fcfb6382]{color:var(--text-secondary);font-size:12px;transition:transform .2s}.caret.open[data-v-fcfb6382]{transform:rotate(180deg)}.user-dropdown[data-v-fcfb6382]{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);min-width:150px;box-shadow:var(--shadow-card);z-index:1100;flex-direction:column;gap:2px;padding:6px;animation:.2s forwards fadeIn;display:flex;position:absolute;top:calc(100% + 8px);right:0}.dropdown-item[data-v-fcfb6382]{text-align:left;color:var(--text-primary);background:0 0;border-radius:6px;padding:10px 12px;font-size:14px;transition:background .2s}.dropdown-item[data-v-fcfb6382]:hover{background:var(--bg-secondary)}.btn-sm[data-v-fcfb6382]{padding:6px 16px;font-size:13px}.mobile-menu-btn[data-v-fcfb6382]{color:var(--text-primary);background:0 0;font-size:24px;display:none}.mobile-menu[data-v-fcfb6382]{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);flex-direction:column;padding:12px 20px;display:none}.mobile-link[data-v-fcfb6382]{color:var(--text-secondary);border-bottom:1px solid var(--border-color);padding:12px 0;text-decoration:none}@media (width<=768px){.nav-links[data-v-fcfb6382],.nav-actions[data-v-fcfb6382]{display:none}.mobile-menu-btn[data-v-fcfb6382]{display:block}.mobile-menu[data-v-fcfb6382]{display:flex}}.encourage-widget[data-v-1ff19103]{z-index:1500;flex-direction:column;align-items:flex-end;gap:12px;display:flex;position:fixed;bottom:28px;right:28px}.encourage-fab[data-v-1ff19103]{background:var(--bg-card);border:1px solid var(--border-color);border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;padding:0;transition:transform .25s,box-shadow .25s;animation:3.2s ease-in-out infinite fabFloat-1ff19103;display:flex;overflow:hidden;box-shadow:0 6px 22px #00000047}.encourage-fab[data-v-1ff19103]:hover{transform:scale(1.08);box-shadow:0 10px 28px #3b82f666}.encourage-fab.active[data-v-1ff19103]{box-shadow:0 0 0 3px #3b82f659,0 8px 24px #0000004d}.fab-icon[data-v-1ff19103]{object-fit:cover;width:100%;height:100%;display:block}@keyframes fabFloat-1ff19103{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.encourage-bubble[data-v-1ff19103]{background:var(--bg-card);border:1px solid var(--border-color);cursor:pointer;border-radius:14px;max-width:260px;padding:14px 16px 10px;position:relative;box-shadow:0 12px 32px #0000004d}.encourage-text[data-v-1ff19103]{color:var(--text-primary);min-height:24px;margin:0;font-size:14px;line-height:1.7}.type-cursor[data-v-1ff19103]{color:var(--accent-blue);animation:1s step-end infinite blink-1ff19103}@keyframes blink-1ff19103{50%{opacity:0}}.bubble-tip[data-v-1ff19103]{color:var(--text-muted);margin-top:8px;font-size:11px;display:block}.bubble-arrow[data-v-1ff19103]{background:var(--bg-card);border-right:1px solid var(--border-color);border-bottom:1px solid var(--border-color);width:12px;height:12px;position:absolute;bottom:-7px;right:22px;transform:rotate(45deg)}.bubble-enter-active[data-v-1ff19103],.bubble-leave-active[data-v-1ff19103]{transition:opacity .25s,transform .25s}.bubble-enter-from[data-v-1ff19103],.bubble-leave-to[data-v-1ff19103]{opacity:0;transform:translateY(8px)scale(.96)}@media (width<=768px){.encourage-widget[data-v-1ff19103]{bottom:16px;right:16px}.encourage-bubble[data-v-1ff19103]{max-width:220px}}.app-wrapper[data-v-61fbf43c]{background-color:var(--bg-primary);background-image:var(--page-bg);min-height:100vh;color:var(--text-primary);flex-direction:column;transition:background-color .4s,color .4s;display:flex;position:relative}.main-content[data-v-61fbf43c]{z-index:1;flex:1;padding-top:64px;position:relative}:root{--bg-primary:#0a0e1a;--bg-secondary:#111827;--bg-card:#1a2332;--bg-card-hover:#1f2b3d;--text-primary:#e8edf5;--text-secondary:#94a3b8;--text-muted:#64748b;--border-color:#1e293b;--accent-blue:#3b82f6;--accent-purple:#8b5cf6;--accent-cyan:#06b6d4;--accent-green:#10b981;--accent-orange:#f59e0b;--accent-pink:#ec4899;--accent-red:#ef4444;--gradient-primary:linear-gradient(135deg, #3b82f6, #8b5cf6);--gradient-secondary:linear-gradient(135deg, #06b6d4, #3b82f6);--shadow-card:0 4px 20px #0000004d;--shadow-hover:0 8px 30px #3b82f626;--shadow-soft:0 2px 10px #00000038;--radius:14px;--radius-sm:8px;--navbar-height:64px;--gradient-flow:linear-gradient(90deg, #3b82f6, #8b5cf6, #06b6d4, #3b82f6);--navbar-bg:#0a0e1ad9;--page-bg:radial-gradient(1200px 600px at 80% -10%, #3b82f61a, transparent 60%), radial-gradient(900px 500px at 0% 10%, #8b5cf614, transparent 55%);--blob-1:#3b82f61a;--blob-2:#8b5cf61a;--blob-3:#06b6d414;--thead-bg:#3b82f614}.theme-blue{--bg-primary:#0c1929;--bg-secondary:#0f2744;--bg-card:#132f4c;--bg-card-hover:#173a5e;--border-color:#1e4976;--gradient-primary:linear-gradient(135deg, #0ea5e9, #3b82f6);--gradient-flow:linear-gradient(90deg, #0ea5e9, #38bdf8, #3b82f6, #0ea5e9);--navbar-bg:#0c1929d9;--page-bg:radial-gradient(1200px 600px at 80% -10%, #0ea5e924, transparent 60%), radial-gradient(900px 500px at 0% 10%, #3b82f61a, transparent 55%);--blob-1:#0ea5e91f;--blob-2:#3b82f61a;--blob-3:#38bdf814;--thead-bg:#0ea5e91a}.theme-light{--bg-primary:#fbfcfe;--bg-secondary:#f4f6fa;--bg-card:#fff;--bg-card-hover:#f8fafc;--text-primary:#1a2438;--text-secondary:#5b6577;--text-muted:#9aa3b5;--border-color:#eef1f6;--accent-blue:#3366e0;--accent-purple:#7c3aed;--accent-cyan:#0ea5b8;--gradient-primary:linear-gradient(135deg, #3366e0, #7456e8);--gradient-secondary:linear-gradient(135deg, #0ea5b8, #3366e0);--gradient-flow:linear-gradient(90deg, #3366e0, #7456e8, #0ea5b8, #3366e0);--shadow-card:0 4px 16px #1e29460d, 0 1px 4px #1e294608;--shadow-hover:0 8px 24px #3366e01a;--shadow-soft:0 2px 10px #1e29460a;--navbar-bg:#fbfcfed9;--page-bg:linear-gradient(180deg, #fdfdff 0%, #fafbfd 100%);--blob-1:#3366e00a;--blob-2:#7c5ce808;--blob-3:#0ea5b806;--thead-bg:#f7f9fc}*{box-sizing:border-box;margin:0;padding:0}html,body{color:var(--text-primary);-webkit-font-smoothing:antialiased;background-color:#0a0e1a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;line-height:1.6}a{color:var(--accent-blue);text-decoration:none;transition:color .2s}a:hover{color:var(--accent-cyan)}button{cursor:pointer;border:none;outline:none;font-family:inherit}input,select,textarea{outline:none;font-family:inherit}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--text-muted);opacity:.5;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent-blue)}.container{max-width:1200px;margin:0 auto;padding:0 20px}.gradient-flow-text{background:var(--gradient-flow);-webkit-text-fill-color:transparent;color:#0000;background-size:220%;-webkit-background-clip:text;background-clip:text;animation:5s linear infinite gradientFlow}@keyframes gradientFlow{0%{background-position:0%}to{background-position:220%}}.animated-bg{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.animated-bg .blob{filter:blur(80px);opacity:.9;border-radius:50%;position:absolute}.animated-bg .blob-1{background:var(--blob-1);width:480px;height:480px;animation:22s ease-in-out infinite blobFloat1;top:-120px;left:-100px}.animated-bg .blob-2{background:var(--blob-2);width:420px;height:420px;animation:26s ease-in-out infinite blobFloat2;bottom:-140px;right:-80px}.animated-bg .blob-3{background:var(--blob-3);width:360px;height:360px;animation:30s ease-in-out infinite blobFloat3;top:40%;left:55%}@keyframes blobFloat1{0%,to{transform:translate(0)scale(1)}50%{transform:translate(80px,60px)scale(1.15)}}@keyframes blobFloat2{0%,to{transform:translate(0)scale(1)}50%{transform:translate(-70px,-50px)scale(1.1)}}@keyframes blobFloat3{0%,to{transform:translate(0)scale(1)}33%{transform:translate(-60px,40px)scale(1.12)}66%{transform:translate(50px,-40px)scale(.95)}}.tag{border-radius:20px;margin:2px 4px 2px 0;padding:2px 10px;font-size:12px;font-weight:500;display:inline-block}.tag-java{color:#f87171;background:#ef444426;border:1px solid #ef44444d}.tag-前端{color:#22d3ee;background:#06b6d426;border:1px solid #06b6d44d}.tag-后端{color:#60a5fa;background:#3b82f626;border:1px solid #3b82f64d}.tag-ai{color:#a78bfa;background:#8b5cf626;border:1px solid #8b5cf64d}.tag-测开{color:#34d399;background:#10b98126;border:1px solid #10b9814d}.tag-大数据{color:#fbbf24;background:#f59e0b26;border:1px solid #f59e0b4d}.tag-go{color:#67e8f9;background:#06b6d426;border:1px solid #06b6d44d}.tag-c\+\+{color:#f472b6;background:#ec489926;border:1px solid #ec48994d}.tag-default{color:#94a3b8;background:#94a3b826;border:1px solid #94a3b84d}.btn{border-radius:var(--radius-sm);justify-content:center;align-items:center;padding:10px 24px;font-size:14px;font-weight:500;transition:all .3s;display:inline-flex}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 15px #3b82f64d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px #3b82f673}.btn-primary:active{transform:translateY(0)}.btn-outline{color:var(--accent-blue);border:1px solid var(--accent-blue);background:0 0}.btn-outline:hover{background:#3b82f61a}.input{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);padding:12px 16px;font-size:14px;transition:border-color .3s}.input:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px #3b82f61a}.input::placeholder{color:var(--text-muted)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.4s forwards fadeIn}@media (width<=768px){.container{padding:0 16px}}
