:root{--n-bg-primary: #f8f8f8;--n-bg-secondary: rgba(255, 255, 255, .9);--n-bg-tertiary: rgba(0, 0, 0, .03);--n-text-primary: #1a1a1a;--n-text-secondary: #666;--n-text-tertiary: #999;--n-border-color: rgba(0, 0, 0, .1);--n-accent-primary: #0AD6E3;--n-accent-secondary: #F703FF;--n-accent-gradient: linear-gradient(135deg, #0AD6E3 0%, #F703FF 100%)}[data-theme=dark]{--n-bg-primary: #0a0a0a;--n-bg-secondary: rgba(255, 255, 255, .05);--n-bg-tertiary: rgba(255, 255, 255, .05);--n-text-primary: #fff;--n-text-secondary: #aaa;--n-text-tertiary: #666;--n-border-color: rgba(255, 255, 255, .1)}.n-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:600;border-radius:50px;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;z-index:1;border:none;outline:none;white-space:nowrap}.n-button.primary{background:var(--n-accent-gradient);color:#fff;border:none}.n-button.primary:before{content:"";position:absolute;top:0;left:0;width:200%;height:100%;background:linear-gradient(90deg,transparent 0%,var(--n-accent-secondary) 50%,transparent 100%);z-index:-1;transform:translate(-100%);transition:transform .6s ease}.n-button.primary:hover{transform:translateY(-2px);box-shadow:0 4px 20px #0ad6e366}.n-button.primary:hover:before{transform:translate(100%)}.n-button.secondary{background:var(--n-bg-tertiary);border:1px solid var(--n-border-color);color:var(--n-text-primary)}.n-button.secondary:hover{border-color:var(--n-accent-primary);background:#0ad6e31a}.n-button.text{background:transparent;border:none;color:var(--n-accent-primary);padding:8px 16px}.n-button.text:hover{color:var(--n-accent-secondary)}.n-button.is-block{width:100%}.n-button:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.n-button.is-loading{cursor:wait}.n-button-loading{display:flex;align-items:center;justify-content:center}.spinner{width:16px;height:16px;animation:rotate 2s linear infinite}.spinner circle{stroke:currentColor;stroke-linecap:round;animation:dash 1.5s ease-in-out infinite}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}.n-button-icon,.n-button-content{display:flex;align-items:center}.n-input-group[data-v-0bcfca76]{margin-bottom:24px}.n-input-inline[data-v-0bcfca76]{margin-bottom:0}.n-input-label[data-v-0bcfca76]{display:block;color:var(--text-secondary);font-size:14px;margin-bottom:10px;font-weight:500}.n-input-required[data-v-0bcfca76]{color:var(--status-error);margin-left:2px}.n-input-wrapper[data-v-0bcfca76]{position:relative}.n-input[data-v-0bcfca76]{width:100%;padding:10px 14px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:14px;line-height:1.5;transition:all .3s ease;outline:none}.n-input[data-v-0bcfca76]::placeholder{color:var(--text-tertiary)}.n-input[data-v-0bcfca76]:focus{border-color:var(--accent-primary);box-shadow:0 0 20px #0ad6e333;background:var(--bg-active)}.n-input[data-v-0bcfca76]:disabled{opacity:.6;cursor:not-allowed}.n-input-password-toggle[data-v-0bcfca76]{position:absolute;right:16px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-tertiary);cursor:pointer;font-size:14px;transition:color .3s ease}.n-input-password-toggle[data-v-0bcfca76]:hover{color:var(--accent-primary)}.n-select[data-v-4ead5d6f]{position:relative;width:100%}.n-select-btn[data-v-4ead5d6f]{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);padding:10px 14px;border-radius:8px;font-size:14px;line-height:1.5;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s ease;width:100%;box-sizing:border-box}.n-select-btn[data-v-4ead5d6f]:hover{border-color:var(--accent-primary);background:var(--bg-active)}.n-select-value[data-v-4ead5d6f]{display:flex;align-items:center;gap:8px;min-width:0}.n-select-placeholder[data-v-4ead5d6f]{color:var(--text-tertiary);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.n-select-flag[data-v-4ead5d6f]{font-size:16px;display:flex;align-items:center;flex-shrink:0}.n-select-name[data-v-4ead5d6f]{font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.n-select-arrow[data-v-4ead5d6f]{margin-left:auto;flex-shrink:0}.n-select-dropdown[data-v-4ead5d6f]{position:absolute;top:100%;left:0;margin-top:8px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;overflow:hidden;box-shadow:0 4px 20px #00000026;z-index:1000;min-width:100%;width:max-content;max-width:min(320px,calc(100vw - 32px));box-sizing:border-box}.n-select-option[data-v-4ead5d6f]{display:flex;align-items:center;gap:10px;padding:12px 16px;color:var(--text-primary);text-decoration:none;line-height:1.5;transition:all .2s ease;white-space:nowrap}.n-select-option[data-v-4ead5d6f]:hover{background:var(--bg-hover)}.n-select.disabled .n-select-btn[data-v-4ead5d6f]{opacity:.5;cursor:not-allowed}.n-select.disabled .n-select-btn[data-v-4ead5d6f]:hover{border-color:var(--border-color);background:var(--bg-tertiary)}.n-select-check[data-v-4ead5d6f]{margin-left:auto;color:var(--accent-primary);flex-shrink:0}.sidebar[data-v-4030aa7e]{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-width);background:var(--bg-sidebar);border-right:1px solid var(--border-light);display:flex;flex-direction:column;z-index:100}.sidebar-header[data-v-4030aa7e]{padding:20px;border-bottom:1px solid var(--border-light)}.sidebar-logo[data-v-4030aa7e]{font-size:24px;font-weight:700;letter-spacing:2px}.logo-gradient[data-v-4030aa7e]{background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sidebar-nav[data-v-4030aa7e]{flex:1;padding:20px 12px;display:flex;flex-direction:column;gap:4px;overflow-y:auto}.nav-item[data-v-4030aa7e]{display:flex;align-items:center;gap:12px;padding:12px 16px;color:var(--text-secondary);text-decoration:none;border-radius:10px;transition:all .2s ease;font-size:15px}.nav-item[data-v-4030aa7e]:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-item.active[data-v-4030aa7e]{background:var(--bg-active);color:var(--accent-primary)}.nav-item svg[data-v-4030aa7e]{width:20px;height:20px;flex-shrink:0}.nav-group[data-v-4030aa7e]{margin-top:4px}.group-header[data-v-4030aa7e]{justify-content:flex-start}.group-header .expand-icon[data-v-4030aa7e]{margin-left:auto;transition:transform .3s ease}.group-header:not(.expanded) .expand-icon[data-v-4030aa7e]{transform:rotate(0)}.group-header.expanded .expand-icon[data-v-4030aa7e]{transform:rotate(90deg)}.nav-submenu[data-v-4030aa7e]{margin-top:4px}.submenu-item[data-v-4030aa7e]{padding-left:36px;font-size:14px}.sidebar-footer[data-v-4030aa7e]{padding:16px;border-top:1px solid var(--border-light)}.user-info[data-v-4030aa7e]{display:flex;align-items:center;gap:12px;cursor:pointer;padding:8px;border-radius:12px;transition:background .3s ease}.user-info[data-v-4030aa7e]:hover{background:var(--bg-hover)}.user-avatar[data-v-4030aa7e]{width:40px;height:40px;border-radius:50%;background:var(--accent-gradient);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px;color:#fff;overflow:hidden;flex-shrink:0}.user-avatar img[data-v-4030aa7e]{width:100%;height:100%;object-fit:cover}.user-details[data-v-4030aa7e]{flex:1;min-width:0}.user-name[data-v-4030aa7e]{font-size:14px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-username[data-v-4030aa7e]{font-size:12px;color:var(--text-tertiary)}.logout-btn[data-v-4030aa7e]{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:8px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .2s}.logout-btn[data-v-4030aa7e]:hover{background:#ff3b301a;color:#ff3b30}.top-header[data-v-5c3d304a]{position:fixed;top:0;left:var(--sidebar-width);right:0;height:var(--header-height);background:#f8f8f8cc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-light);display:flex;align-items:center;justify-content:space-between;padding:0 30px;z-index:50}.top-header.mobile-header[data-v-5c3d304a]{left:0}[data-theme=dark] .top-header[data-v-5c3d304a]{background:#0a0a0acc}.header-left[data-v-5c3d304a]{display:flex;align-items:center;gap:12px}.menu-btn[data-v-5c3d304a]{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);padding:8px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.menu-btn[data-v-5c3d304a]:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.header-title[data-v-5c3d304a]{font-size:20px;font-weight:600;color:var(--text-primary);margin:0}.header-right[data-v-5c3d304a]{display:flex;align-items:center;gap:8px}.lang-select[data-v-5c3d304a]{width:140px}.header-btn[data-v-5c3d304a]{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);padding:10px 16px;border-radius:10px;font-size:14px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px}.header-btn[data-v-5c3d304a]:hover{border-color:var(--accent-primary);background:var(--bg-hover)}.app-layout[data-v-abce9af8]{min-height:100vh;display:flex}.sidebar-wrapper[data-v-abce9af8]{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-width);z-index:100}.content-wrapper[data-v-abce9af8]{flex:1;margin-left:var(--sidebar-width);min-height:100vh;display:flex;flex-direction:column;overflow:hidden}.content-wrapper.full-width[data-v-abce9af8]{margin-left:0}.main-content[data-v-abce9af8]{padding-top:var(--header-height);flex:1;position:relative;z-index:10;overflow-x:hidden;overflow-y:auto}.main-content.full-screen[data-v-abce9af8]{padding-top:0}.drawer-overlay[data-v-abce9af8]{position:fixed;inset:0;background:#00000080;z-index:200;animation:fadeIn-abce9af8 .3s ease}.drawer-sidebar[data-v-abce9af8]{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-width);z-index:201;animation:slideIn-abce9af8 .3s ease;background:var(--bg-secondary)}.drawer-sidebar[data-v-abce9af8] .sidebar{background:var(--bg-secondary)!important}@keyframes fadeIn-abce9af8{0%{opacity:0}to{opacity:1}}@keyframes slideIn-abce9af8{0%{transform:translate(-100%)}to{transform:translate(0)}}.drawer-enter-active[data-v-abce9af8],.drawer-leave-active[data-v-abce9af8]{transition:opacity .3s ease}.drawer-enter-active .drawer-sidebar[data-v-abce9af8],.drawer-leave-active .drawer-sidebar[data-v-abce9af8]{transition:transform .3s ease}.drawer-enter-from[data-v-abce9af8],.drawer-leave-to[data-v-abce9af8]{opacity:0}.drawer-enter-from .drawer-sidebar[data-v-abce9af8],.drawer-leave-to .drawer-sidebar[data-v-abce9af8]{transform:translate(-100%)}.public-layout[data-v-6d42dd5c]{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-primary)}.public-header[data-v-6d42dd5c]{position:sticky;top:0;z-index:100;background:var(--bg-card);border-bottom:1px solid var(--border-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header-content[data-v-6d42dd5c]{max-width:1200px;margin:0 auto;padding:16px 24px;position:relative}.logo[data-v-6d42dd5c]{font-size:20px;font-weight:700;letter-spacing:1px}.desktop-nav[data-v-6d42dd5c]{display:flex;gap:24px}.fixed-actions[data-v-6d42dd5c]{position:fixed;top:16px;right:24px;display:flex;align-items:center;gap:12px;z-index:101}.nav-link[data-v-6d42dd5c]{color:var(--text-secondary);text-decoration:none;font-size:15px;font-weight:500;transition:color .2s}.nav-link[data-v-6d42dd5c]:hover{color:var(--accent-primary)}.mobile-menu-btn[data-v-6d42dd5c]{display:none;background:none;border:none;color:var(--text-primary);cursor:pointer;padding:4px}.mobile-menu-overlay[data-v-6d42dd5c]{position:fixed;inset:60px 0 0;background:#00000080;z-index:99}.mobile-menu[data-v-6d42dd5c]{background:var(--bg-card);padding:20px;display:flex;flex-direction:column;gap:8px}.mobile-nav-link[data-v-6d42dd5c]{display:block;padding:14px 16px;color:var(--text-primary);text-decoration:none;font-size:16px;font-weight:500;border-radius:8px;transition:background .2s}.mobile-nav-link[data-v-6d42dd5c]:hover{background:var(--bg-hover)}.public-main[data-v-6d42dd5c]{flex:1}@media(max-width:768px){.desktop-nav[data-v-6d42dd5c],.fixed-actions[data-v-6d42dd5c],[data-v-6d42dd5c] .n-row{display:none}.mobile-menu-btn[data-v-6d42dd5c]{display:flex}}.fade-enter-active[data-v-6d42dd5c],.fade-leave-active[data-v-6d42dd5c]{transition:opacity .2s ease}.fade-enter-from[data-v-6d42dd5c],.fade-leave-to[data-v-6d42dd5c]{opacity:0}.dashboard-content[data-v-8bcd0edf]{padding:30px}.stat-card[data-v-8bcd0edf]{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:24px;display:flex;align-items:center;gap:16px;box-shadow:var(--shadow-card)}.stat-icon[data-v-8bcd0edf]{width:50px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center}.stat-icon.blue[data-v-8bcd0edf]{background:#0ad6e326;color:#0ad6e3}.stat-icon.purple[data-v-8bcd0edf]{background:#f703ff26;color:#f703ff}.stat-info[data-v-8bcd0edf]{display:flex;flex-direction:column}.stat-value[data-v-8bcd0edf]{font-size:28px;font-weight:700;color:var(--text-primary)}.stat-label[data-v-8bcd0edf]{font-size:14px;color:var(--text-tertiary);margin-top:4px}.signin-page[data-v-5b66cbc3]{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:20px;position:relative;overflow:hidden}.theme-toggle-wrapper[data-v-5b66cbc3]{position:fixed;top:20px;right:20px;z-index:100}.login-container[data-v-5b66cbc3]{z-index:10;width:100%;max-width:420px}.login-card[data-v-5b66cbc3]{background:var(--bg-card);border:1px solid var(--border-color);border-radius:24px;padding:50px 40px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 20px 60px #0000001a}[data-theme=dark] .login-card[data-v-5b66cbc3]{box-shadow:0 20px 60px #00000080}.login-header[data-v-5b66cbc3]{text-align:center;margin-bottom:40px}.login-title[data-v-5b66cbc3]{font-size:32px;font-weight:700;margin-bottom:10px}.login-subtitle[data-v-5b66cbc3]{color:var(--text-secondary);font-size:14px}.error-message[data-v-5b66cbc3]{background:#ff3b301a;border:1px solid rgba(255,59,48,.3);border-radius:8px;padding:12px 16px;margin-bottom:20px;color:#ff3b30;font-size:14px;display:none}.error-message.show[data-v-5b66cbc3]{display:block}.form-options[data-v-5b66cbc3]{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.forgot-link[data-v-5b66cbc3]{color:var(--accent-primary);text-decoration:none;font-size:14px;transition:color .3s ease}.forgot-link[data-v-5b66cbc3]:hover{color:var(--accent-secondary)}.divider[data-v-5b66cbc3]{display:flex;align-items:center;margin:30px 0}.divider[data-v-5b66cbc3]:before,.divider[data-v-5b66cbc3]:after{content:"";flex:1;height:1px;background:var(--border-color)}.divider span[data-v-5b66cbc3]{padding:0 15px;color:var(--text-tertiary);font-size:14px}.social-login[data-v-5b66cbc3]{display:flex;gap:24px;justify-content:center}.social-login .n-button[data-v-5b66cbc3]{min-width:140px}.cropper-overlay[data-v-7fade8a0]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.cropper-dialog[data-v-7fade8a0]{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;width:90%;max-width:560px;overflow:hidden;box-shadow:0 10px 40px #0003}.cropper-header[data-v-7fade8a0]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color)}.cropper-header h3[data-v-7fade8a0]{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.close-btn[data-v-7fade8a0]{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s}.close-btn[data-v-7fade8a0]:hover{background:var(--bg-hover);color:var(--text-primary)}.cropper-content[data-v-7fade8a0]{height:min(420px,calc(100vh - 180px));min-height:320px;background:var(--bg-primary);position:relative;overflow:hidden;-webkit-user-select:none;user-select:none;touch-action:none}.cropper-content img[data-v-7fade8a0]{position:absolute;pointer-events:none;max-width:none;max-height:none}.crop-mask[data-v-7fade8a0]{position:absolute;inset:0;pointer-events:none}.crop-frame[data-v-7fade8a0]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 9999px #00000080}.crop-inner[data-v-7fade8a0]{position:absolute;inset:0;background:transparent}.cropper-footer[data-v-7fade8a0]{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid var(--border-color)}.dialog-fade-enter-active[data-v-7fade8a0],.dialog-fade-leave-active[data-v-7fade8a0]{transition:opacity .2s ease}.dialog-fade-enter-from[data-v-7fade8a0],.dialog-fade-leave-to[data-v-7fade8a0]{opacity:0}.input-group[data-v-7fb131dc]{margin-bottom:16px}.input-group[data-v-7fb131dc]:last-child{margin-bottom:0}.profile-page[data-v-e95223f2]{padding:30px;position:relative;z-index:10;max-width:90%;margin:0 auto}.profile-card[data-v-e95223f2]{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:30px;box-shadow:var(--shadow-card);margin-bottom:24px}.profile-main[data-v-e95223f2]{display:flex;align-items:center;gap:24px}.avatar-section[data-v-e95223f2]{position:relative;flex-shrink:0}.avatar-large[data-v-e95223f2]{width:160px;height:160px;border-radius:50%;background:var(--accent-gradient);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:64px;color:#fff;overflow:hidden}.avatar-large.avatar-img img[data-v-e95223f2]{width:100%;height:100%;object-fit:cover}.avatar-edit[data-v-e95223f2]{position:absolute;bottom:8px;right:8px;width:40px;height:40px;border-radius:50%;background:var(--accent-gradient);display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;transition:transform .3s ease;border:3px solid var(--bg-primary)}.avatar-edit[data-v-e95223f2]:hover{transform:scale(1.1)}.avatar-edit.uploading[data-v-e95223f2]{cursor:not-allowed;opacity:.8}.avatar-edit .spinner[data-v-e95223f2]{animation:spin-e95223f2 1s linear infinite}@keyframes spin-e95223f2{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.profile-info[data-v-e95223f2]{display:flex;flex-direction:column;gap:4px}.user-name[data-v-e95223f2]{font-size:24px;font-weight:700;color:var(--text-primary)}.user-username[data-v-e95223f2]{font-size:14px;color:var(--text-secondary)}.user-signature[data-v-e95223f2]{font-size:13px;color:var(--text-tertiary);font-style:italic}.info-sections[data-v-e95223f2]{display:flex;flex-direction:column;gap:20px}.info-card[data-v-e95223f2]{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:24px;box-shadow:var(--shadow-card)}.card-title[data-v-e95223f2]{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:20px}.card-title svg[data-v-e95223f2]{color:var(--accent-primary)}.info-list[data-v-e95223f2]{display:flex;flex-direction:column}.info-row[data-v-e95223f2]{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--border-subtle);cursor:default}.info-row[data-v-e95223f2]:not(:first-child){cursor:pointer;border-radius:8px;margin:0 -8px;padding:12px 8px;transition:background-color .2s ease}.info-row[data-v-e95223f2]:not(:first-child):hover{background-color:var(--bg-hover)}.info-row[data-v-e95223f2]:first-child{cursor:default}.info-row[data-v-e95223f2]:first-child:hover{background-color:transparent}.info-row.info-static[data-v-e95223f2]{cursor:default;margin:0;padding:12px 0;border-radius:0}.info-row.info-static[data-v-e95223f2]:hover{background-color:transparent}.info-row.info-clickable[data-v-e95223f2]{cursor:pointer;border-radius:8px;margin:0 -8px;padding:12px 8px;transition:background-color .2s ease}.info-row.info-clickable[data-v-e95223f2]:hover{background-color:var(--bg-hover)}.info-row[data-v-e95223f2]:last-child{border-bottom:none}.info-label[data-v-e95223f2]{font-size:14px;color:var(--text-secondary)}.info-value[data-v-e95223f2]{font-size:14px;font-weight:500;color:var(--text-primary)}@media(max-width:768px){.profile-main[data-v-e95223f2]{flex-direction:column;text-align:center}.avatar-large[data-v-e95223f2]{width:120px;height:120px;font-size:48px}}.articles-content[data-v-89b14bbd]{padding:30px}.filter-bar[data-v-89b14bbd]{background:var(--bg-card);padding:20px;border-radius:12px;border:1px solid var(--border-color);margin-bottom:20px;box-shadow:var(--shadow-card)}.filter-actions-row[data-v-89b14bbd]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.filter-actions-right[data-v-89b14bbd]{display:flex;gap:8px;align-items:center}.filter-item[data-v-89b14bbd]{width:100%;margin-bottom:8px}.filter-item .lang-select[data-v-89b14bbd]{width:100%}.filter-item[data-v-89b14bbd] .n-input-group{margin-bottom:0}.filter-item[data-v-89b14bbd] .n-input{padding:10px 14px}.filter-item[data-v-89b14bbd] .n-select{width:100%}.articles-list[data-v-89b14bbd]{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-card)}.loading-state[data-v-89b14bbd]{display:flex;align-items:center;justify-content:center;padding:80px 20px;color:var(--text-tertiary)}.list-header[data-v-89b14bbd]{display:flex;align-items:center;padding:14px 20px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);font-size:13px;font-weight:600;color:var(--text-secondary)}.list-header .col-cover[data-v-89b14bbd]{width:80px}.list-header .col-title[data-v-89b14bbd]{flex:1;min-width:0;padding:0 16px}.list-header .col-category[data-v-89b14bbd]{width:90px}.list-header .col-tags[data-v-89b14bbd]{width:120px}.list-header .col-status[data-v-89b14bbd]{width:70px}.list-header .col-views[data-v-89b14bbd]{width:60px;text-align:center}.list-header .col-date[data-v-89b14bbd]{width:90px}.list-header .col-actions[data-v-89b14bbd]{width:80px;text-align:right}.list-item[data-v-89b14bbd]{display:flex;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-subtle);transition:background .2s}.list-item[data-v-89b14bbd]:last-child{border-bottom:none}.list-item[data-v-89b14bbd]:hover{background:var(--bg-hover)}.col-cover[data-v-89b14bbd]{width:80px;height:50px;border-radius:8px;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary)}.col-cover img[data-v-89b14bbd]{width:100%;height:100%;object-fit:cover}.cover-placeholder[data-v-89b14bbd]{color:var(--text-tertiary)}.col-title[data-v-89b14bbd]{flex:1;min-width:0;padding:0 16px}.col-category[data-v-89b14bbd]{width:90px;font-size:12px;color:var(--text-secondary);flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.col-tags[data-v-89b14bbd]{width:120px;font-size:12px;color:var(--text-tertiary);flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.title-text[data-v-89b14bbd]{font-size:14px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px;cursor:pointer;transition:color .2s ease}.title-text[data-v-89b14bbd]:hover{color:var(--accent-primary)}.title-summary[data-v-89b14bbd]{font-size:12px;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.col-status[data-v-89b14bbd]{width:70px;flex-shrink:0}.status-badge[data-v-89b14bbd]{display:inline-block;font-size:12px;padding:4px 10px;border-radius:6px}.status-badge.published[data-v-89b14bbd]{background:#34c75926;color:#34c759}.status-badge.draft[data-v-89b14bbd]{background:#ff950026;color:#ff9500}.status-badge.archived[data-v-89b14bbd]{background:#8e8e9326;color:#8e8e93}.status-badge.default[data-v-89b14bbd]{background:var(--bg-tertiary);color:var(--text-secondary)}.col-views[data-v-89b14bbd]{width:60px;font-size:13px;color:var(--text-tertiary);text-align:center;flex-shrink:0}.col-date[data-v-89b14bbd]{width:90px;font-size:13px;color:var(--text-tertiary);flex-shrink:0}.col-actions[data-v-89b14bbd]{width:80px;display:flex;justify-content:flex-end;gap:8px;flex-shrink:0}.action-btn[data-v-89b14bbd]{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);padding:6px;border-radius:6px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.action-btn[data-v-89b14bbd]:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.action-btn.danger[data-v-89b14bbd]:hover{border-color:#ff3b30;color:#ff3b30}.pagination-wrapper[data-v-89b14bbd]{display:flex;justify-content:flex-end;padding:16px 20px;border-top:1px solid var(--border-subtle)}.pagination[data-v-89b14bbd]{display:flex;align-items:center;gap:12px}.page-btn[data-v-89b14bbd]{padding:6px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .2s}.page-btn[data-v-89b14bbd]:hover:not(:disabled){border-color:var(--accent-primary);color:var(--accent-primary)}.page-btn[data-v-89b14bbd]:disabled{opacity:.5;cursor:not-allowed}.page-info[data-v-89b14bbd]{font-size:13px;color:var(--text-tertiary)}.empty-state[data-v-89b14bbd]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px}.empty-state svg[data-v-89b14bbd]{color:var(--text-tertiary);margin-bottom:16px}.empty-state p[data-v-89b14bbd]{color:var(--text-tertiary);font-size:16px;margin:0}@media(max-width:768px){.list-header[data-v-89b14bbd],.list-item[data-v-89b14bbd]{padding:12px}.col-status[data-v-89b14bbd],.col-views[data-v-89b14bbd],.col-date[data-v-89b14bbd]{display:none}.col-title[data-v-89b14bbd]{padding:0 8px}}.loading-state[data-v-0fe9d673]{display:flex;justify-content:center;padding:40px 20px;color:var(--text-tertiary)}.editor-form[data-v-0fe9d673]{display:flex;flex-direction:column;gap:20px}.form-group[data-v-0fe9d673]{display:flex;flex-direction:column;gap:8px}.form-label[data-v-0fe9d673]{font-size:14px;font-weight:500;color:var(--text-secondary)}.form-label .required[data-v-0fe9d673]{color:#ef4444}.color-picker[data-v-0fe9d673]{display:flex;gap:8px;flex-wrap:wrap}.color-option[data-v-0fe9d673]{width:36px;height:36px;border-radius:8px;border:2px solid var(--border-color);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.color-option[data-v-0fe9d673]:hover{border-color:var(--accent-primary);transform:scale(1.05)}.color-option.active[data-v-0fe9d673]{border-color:var(--accent-primary);box-shadow:0 0 0 2px #3b82f64d}.color-option .no-color[data-v-0fe9d673]{font-size:14px;color:var(--text-tertiary)}.color-option[style=""][data-v-0fe9d673]{background:var(--bg-tertiary)}.common-codes-content[data-v-ce5a5dc7]{padding:30px}.filter-bar[data-v-ce5a5dc7]{background:var(--bg-card);padding:20px;border-radius:12px;border:1px solid var(--border-color);margin-bottom:20px;box-shadow:var(--shadow-card)}.filter-actions-row[data-v-ce5a5dc7]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.filter-actions-right[data-v-ce5a5dc7]{display:flex;gap:8px;align-items:center}.filter-item[data-v-ce5a5dc7]{width:100%}.filter-item[data-v-ce5a5dc7] .n-input{padding:10px 14px}.filter-item[data-v-ce5a5dc7] .n-select{width:100%}.codes-panel[data-v-ce5a5dc7]{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-card)}.codes-list[data-v-ce5a5dc7]{padding:8px}.category-group[data-v-ce5a5dc7]{margin-bottom:12px}.category-header[data-v-ce5a5dc7]{display:flex;align-items:center;gap:8px;padding:14px 18px;background:var(--bg-tertiary);border-radius:10px;cursor:pointer;transition:background .2s;margin-bottom:8px}.category-header[data-v-ce5a5dc7]:hover{background:var(--bg-hover)}.category-header.expandable[data-v-ce5a5dc7]{cursor:pointer}.expand-icon[data-v-ce5a5dc7]{color:var(--text-tertiary);flex-shrink:0}.category-name[data-v-ce5a5dc7]{font-size:15px;font-weight:600;color:var(--text-primary);flex:1}.child-count[data-v-ce5a5dc7]{font-size:12px;color:var(--text-tertiary);background:var(--bg-card);padding:2px 8px;border-radius:10px}.children-list[data-v-ce5a5dc7]{padding-left:28px;margin-top:6px}.child-item[data-v-ce5a5dc7]{padding:12px 18px;margin-left:8px;margin-bottom:6px;border-left:2px solid var(--border-color);border-radius:8px}.child-item[data-v-ce5a5dc7]:hover{background:var(--bg-hover)}.color-dot.small[data-v-ce5a5dc7]{width:10px;height:10px}.code-item[data-v-ce5a5dc7]{display:flex;align-items:center;gap:10px;border-radius:8px;transition:background .2s}.color-dot[data-v-ce5a5dc7]{width:12px;height:12px;border-radius:50%;flex-shrink:0}.child-name[data-v-ce5a5dc7]{font-size:14px;color:var(--text-primary);flex:1}.code-value[data-v-ce5a5dc7]{font-size:12px;color:var(--text-tertiary);font-family:monospace}.sort-value[data-v-ce5a5dc7]{font-size:11px;color:var(--text-tertiary);background:var(--bg-card);padding:2px 6px;border-radius:4px;font-family:monospace}.action-buttons[data-v-ce5a5dc7]{display:flex;gap:6px}.action-btn[data-v-ce5a5dc7]{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);padding:5px;border-radius:6px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.action-btn[data-v-ce5a5dc7]:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.action-btn.danger[data-v-ce5a5dc7]:hover{border-color:#ff3b30;color:#ff3b30}.empty-state[data-v-ce5a5dc7]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px}.empty-state svg[data-v-ce5a5dc7]{color:var(--text-tertiary);margin-bottom:16px}.empty-state p[data-v-ce5a5dc7]{color:var(--text-tertiary);font-size:16px;margin:0}.loading-state[data-v-ce5a5dc7]{display:flex;justify-content:center;padding:40px 20px;color:var(--text-tertiary)}.common-code-editor[data-v-63119748]{padding:20px 30px;max-width:800px;margin:0 auto}.editor-header[data-v-63119748]{display:flex;align-items:center;gap:16px;padding-bottom:20px;border-bottom:1px solid var(--border-color);margin-bottom:24px}.back-btn[data-v-63119748]{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);font-size:14px;cursor:pointer;transition:all .2s}.back-btn[data-v-63119748]:hover{border-color:var(--accent-primary);color:var(--text-primary)}.editor-title[data-v-63119748]{flex:1;font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.header-actions[data-v-63119748]{display:flex;gap:8px}.editor-form[data-v-63119748]{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:24px;display:flex;flex-direction:column;gap:20px}.form-group[data-v-63119748]{display:flex;flex-direction:column;gap:8px}.form-label[data-v-63119748]{font-size:14px;font-weight:500;color:var(--text-secondary)}.form-label .required[data-v-63119748]{color:#ef4444}.color-picker[data-v-63119748]{display:flex;gap:8px;flex-wrap:wrap}.color-option[data-v-63119748]{width:36px;height:36px;border-radius:8px;border:2px solid var(--border-color);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.color-option[data-v-63119748]:hover{border-color:var(--accent-primary);transform:scale(1.05)}.color-option.active[data-v-63119748]{border-color:var(--accent-primary);box-shadow:0 0 0 2px #3b82f64d}.color-option .no-color[data-v-63119748]{font-size:14px;color:var(--text-tertiary)}.color-option[style=""][data-v-63119748]{background:var(--bg-tertiary)}.editor-page[data-v-74a4150a]{display:flex;flex-direction:column;min-height:calc(100vh - var(--header-height));padding:20px 30px;background:var(--bg-primary);gap:12px;transition:all .3s ease;overflow-y:auto}.editor-page.fullscreen[data-v-74a4150a]{padding:16px;height:100vh;min-height:100vh;overflow-y:auto}.editor-row-top[data-v-74a4150a]{display:flex;align-items:center;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.title-input[data-v-74a4150a]{flex:1;padding:10px 16px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:16px;font-weight:500}.title-input[data-v-74a4150a]:focus{outline:none;border-color:var(--accent-primary)}.title-input[data-v-74a4150a]::placeholder{font-size:13px;font-weight:400;color:var(--text-tertiary)}.top-actions[data-v-74a4150a]{display:flex;gap:8px;flex-shrink:0}.toolbar-btn[data-v-74a4150a]{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);font-size:14px;cursor:pointer;transition:all .2s;white-space:nowrap}.toolbar-btn[data-v-74a4150a]:hover{border-color:var(--accent-primary);color:var(--text-primary)}.toolbar-btn.primary[data-v-74a4150a]{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.toolbar-btn.primary[data-v-74a4150a]:hover{opacity:.9}.toolbar-btn.primary[data-v-74a4150a]:disabled{opacity:.6;cursor:not-allowed}.meta-row[data-v-74a4150a]{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;padding:12px 16px;flex-shrink:0}.meta-selects[data-v-74a4150a]{display:flex;gap:24px;flex-wrap:wrap;align-items:center;flex:1;min-width:0}.language-version-flags[data-v-74a4150a]{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-shrink:0}.language-version-flag[data-v-74a4150a]{width:34px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;opacity:.62;transition:all .2s ease}.language-version-flag.active[data-v-74a4150a]{border-color:var(--accent-primary);box-shadow:0 0 0 2px #0ad6e32e;opacity:1;transform:translateY(-1px)}.cover-row[data-v-74a4150a]{background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;padding:16px;flex-shrink:0}.cover-upload-area[data-v-74a4150a]{width:100%;min-height:220px;border:2px dashed var(--border-color);border-radius:10px;cursor:pointer;transition:all .2s;overflow:hidden}.cover-upload-area[data-v-74a4150a]:not(.has-cover){display:flex;align-items:center;justify-content:center}.cover-upload-area.has-cover[data-v-74a4150a]{min-height:0;border:none;border-radius:12px}.cover-upload-area[data-v-74a4150a]:hover{border-color:var(--accent-primary);background:var(--bg-tertiary)}.cover-upload-area.has-cover[data-v-74a4150a]:hover{background:transparent}.cover-placeholder[data-v-74a4150a]{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text-tertiary)}.cover-placeholder .cover-title[data-v-74a4150a]{font-size:15px;font-weight:500;color:var(--text-secondary)}.cover-placeholder .cover-hint[data-v-74a4150a]{font-size:13px}.cover-preview-large[data-v-74a4150a]{position:relative;width:100%;height:400px;border-radius:12px;overflow:hidden;background:var(--bg-tertiary)}.cover-preview-large img[data-v-74a4150a]{width:100%;height:100%;object-fit:cover}.cover-preview-gradient[data-v-74a4150a]{position:absolute;inset:0;background:linear-gradient(to bottom,#0003,#000000b3);display:flex;align-items:center;justify-content:center;padding:40px}.cover-preview-title[data-v-74a4150a]{margin:0;color:#fff;font-size:36px;font-weight:700;line-height:1.3;text-align:center;text-shadow:0 2px 8px rgba(0,0,0,.5);word-break:break-word}.cover-actions-overlay[data-v-74a4150a]{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#00000059;opacity:0;transition:opacity .2s}.cover-preview-large:hover .cover-actions-overlay[data-v-74a4150a]{opacity:1}.cover-change-btn[data-v-74a4150a]{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:#ffffffeb;border:none;border-radius:8px;color:#1f2937;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 8px 24px #00000040}.cover-remove-btn[data-v-74a4150a]{position:absolute;top:12px;right:12px;width:32px;height:32px;padding:0;background:#0009;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.cover-remove-btn[data-v-74a4150a]:hover{background:#ff4d4f}.editor-content-row[data-v-74a4150a]{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px}.meta-item[data-v-74a4150a]{display:flex;align-items:center;gap:8px}.meta-label[data-v-74a4150a]{font-size:13px;font-weight:500;color:var(--text-secondary);white-space:nowrap}.meta-select[data-v-74a4150a]{min-width:140px}.meta-select[data-v-74a4150a]:focus{outline:none;border-color:var(--accent-primary)}.fullscreen .editor-content-row[data-v-74a4150a]{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;flex:1;min-height:0}.source-editor[data-v-74a4150a]{width:100%;min-height:inherit;padding:20px;border:none;resize:none;background:var(--bg-card);color:var(--text-primary);font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:14px;line-height:1.6}.source-editor[data-v-74a4150a]:focus{outline:none}.source-editor[data-v-74a4150a]::placeholder{color:var(--text-tertiary)}.markdown-editor[data-v-74a4150a]{position:relative;width:100%;min-height:inherit;padding:20px;background:var(--bg-card)}.markdown-editor[data-v-74a4150a] .milkdown{min-height:100%;background:var(--bg-card)}.markdown-editor[data-v-74a4150a] .editor{font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:14px;line-height:1.6;color:var(--text-primary);background:var(--bg-card)}.markdown-editor[data-v-74a4150a] .ProseMirror{outline:none;min-height:300px;padding-left:8px}.markdown-editor[data-v-74a4150a] .ProseMirror ol,.markdown-editor[data-v-74a4150a] .ProseMirror ul{margin:8px 0;padding-left:32px}.markdown-editor[data-v-74a4150a] .ProseMirror li{margin:4px 0;padding-left:4px}.markdown-editor[data-v-74a4150a] .ProseMirror li p{margin:0}.markdown-editor[data-v-74a4150a] img{max-width:100%;height:auto}.editor-placeholder[data-v-74a4150a]{position:absolute;top:20px;left:20px;color:var(--text-tertiary);font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:14px;pointer-events:none}.markdown-editor[data-v-74a4150a] .ProseMirror pre{background:var(--bg-tertiary);border-radius:6px;padding:12px 16px;overflow-x:auto;font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:13px;line-height:1.5}.markdown-editor[data-v-74a4150a] .ProseMirror code{background:var(--bg-tertiary);border-radius:4px;padding:2px 6px;font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:.9em}.markdown-editor[data-v-74a4150a] .ProseMirror pre code{background:none;padding:0}.markdown-editor[data-v-74a4150a] .token.comment,.markdown-editor[data-v-74a4150a] .token.prolog,.markdown-editor[data-v-74a4150a] .token.doctype,.markdown-editor[data-v-74a4150a] .token.cdata{color:var(--text-tertiary)}.markdown-editor[data-v-74a4150a] .token.punctuation{color:var(--text-secondary)}.markdown-editor[data-v-74a4150a] .token.property,.markdown-editor[data-v-74a4150a] .token.tag,.markdown-editor[data-v-74a4150a] .token.boolean,.markdown-editor[data-v-74a4150a] .token.number,.markdown-editor[data-v-74a4150a] .token.constant,.markdown-editor[data-v-74a4150a] .token.symbol,.markdown-editor[data-v-74a4150a] .token.deleted{color:#d08770}.markdown-editor[data-v-74a4150a] .token.selector,.markdown-editor[data-v-74a4150a] .token.attr-name,.markdown-editor[data-v-74a4150a] .token.string,.markdown-editor[data-v-74a4150a] .token.char,.markdown-editor[data-v-74a4150a] .token.builtin,.markdown-editor[data-v-74a4150a] .token.inserted{color:#2e7d32}.markdown-editor[data-v-74a4150a] .token.operator,.markdown-editor[data-v-74a4150a] .token.entity,.markdown-editor[data-v-74a4150a] .token.url,.markdown-editor[data-v-74a4150a] .language-css .token.string,.markdown-editor[data-v-74a4150a] .style .token.string{color:var(--text-primary)}.markdown-editor[data-v-74a4150a] .token.atrule,.markdown-editor[data-v-74a4150a] .token.attr-value,.markdown-editor[data-v-74a4150a] .token.keyword{color:#1565c0}.markdown-editor[data-v-74a4150a] .token.function,.markdown-editor[data-v-74a4150a] .token.class-name{color:#6a1b9a}.markdown-editor[data-v-74a4150a] .token.regex,.markdown-editor[data-v-74a4150a] .token.important,.markdown-editor[data-v-74a4150a] .token.variable{color:#f57c00}.editor-hint[data-v-74a4150a]{font-size:12px;color:var(--text-tertiary);text-align:center;flex-shrink:0}.fullscreen .title-input[data-v-74a4150a]{padding:8px 12px;font-size:15px}.fullscreen .meta-row[data-v-74a4150a]{padding:10px 12px}.fullscreen .meta-selects[data-v-74a4150a]{gap:16px}.fullscreen .meta-label[data-v-74a4150a]{font-size:12px}.fullscreen .meta-select[data-v-74a4150a]{min-width:120px}.fullscreen .editor-content-row[data-v-74a4150a]{border-radius:8px}.fullscreen .markdown-editor[data-v-74a4150a]{padding:16px;overflow-y:auto;min-height:calc(100vh - var(--header-height) - 200px)}.fullscreen .cover-row[data-v-74a4150a]{padding:12px}.fullscreen .cover-upload-area[data-v-74a4150a]{min-height:180px}.fullscreen .cover-preview-large[data-v-74a4150a]{height:280px}@media(max-width:768px){.editor-page[data-v-74a4150a]{padding:16px;gap:10px}.editor-row-top[data-v-74a4150a]{flex-wrap:wrap}.back-btn[data-v-74a4150a]{order:1}.title-input[data-v-74a4150a]{order:2;flex:1 1 100%;margin-top:8px}.top-actions[data-v-74a4150a]{order:3}.meta-selects[data-v-74a4150a]{gap:12px;width:100%}.meta-item[data-v-74a4150a]{flex:1;min-width:100px}.meta-label[data-v-74a4150a]{display:none}.meta-row[data-v-74a4150a]{align-items:flex-start;flex-wrap:wrap}.language-version-flags[data-v-74a4150a]{width:100%;justify-content:flex-start}.cover-upload-area[data-v-74a4150a]{min-height:180px}.cover-preview-large[data-v-74a4150a]{height:280px}.cover-preview-title[data-v-74a4150a]{font-size:24px}.markdown-editor[data-v-74a4150a],.source-editor[data-v-74a4150a]{min-height:inherit}}.preview-page[data-v-4ae4481f]{min-height:calc(100vh - var(--header-height));background:var(--bg-primary)}.preview-toolbar[data-v-4ae4481f]{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background:var(--bg-card);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:100}.toolbar-btn[data-v-4ae4481f]{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);font-size:14px;cursor:pointer;transition:all .2s}.toolbar-btn[data-v-4ae4481f]:hover{border-color:var(--accent-primary);color:var(--text-primary)}.toolbar-btn.primary[data-v-4ae4481f]{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.toolbar-btn.primary[data-v-4ae4481f]:hover{opacity:.9}.toolbar-btn.publish[data-v-4ae4481f]{background:var(--status-success);border-color:var(--status-success);color:#fff}.toolbar-btn.private[data-v-4ae4481f]{background:#8e8e9329;border-color:#8e8e9359;color:var(--text-secondary)}.toolbar-btn.unpublish[data-v-4ae4481f]{background:var(--bg-tertiary);border-color:var(--border-color);color:var(--text-secondary)}.toolbar-btn.publish[data-v-4ae4481f]:hover,.toolbar-btn.private[data-v-4ae4481f]:hover,.toolbar-btn.unpublish[data-v-4ae4481f]:hover{opacity:.9}.toolbar-btn[data-v-4ae4481f]:disabled{opacity:.6;cursor:not-allowed}.toolbar-center[data-v-4ae4481f]{display:flex;align-items:center}.preview-badge[data-v-4ae4481f]{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#34c75926;color:#34c759;border-radius:6px;font-size:13px;font-weight:500}.toolbar-actions[data-v-4ae4481f]{display:flex;align-items:center;gap:12px}.locale-select[data-v-4ae4481f]{width:140px;flex-shrink:0}.toolbar-btn[data-v-4ae4481f]{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);font-size:14px;cursor:pointer;transition:all .2s;flex-shrink:0}.preview-loading[data-v-4ae4481f]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:var(--text-tertiary)}.preview-loading .spinning[data-v-4ae4481f]{animation:spin-4ae4481f 1s linear infinite;margin-bottom:12px}@keyframes spin-4ae4481f{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.preview-content[data-v-4ae4481f]{max-width:90%;margin:0 auto;padding:40px 24px}.article-cover-wrapper[data-v-4ae4481f]{position:relative;width:100%;height:400px;margin-bottom:32px;border-radius:12px;overflow:hidden}.article-cover-img[data-v-4ae4481f]{width:100%;height:100%;object-fit:cover}.article-cover-overlay[data-v-4ae4481f]{position:absolute;inset:0;background:linear-gradient(to bottom,#0003,#000000b3);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:40px}.article-cover-title[data-v-4ae4481f]{font-size:36px;font-weight:700;color:#fff;text-align:center;text-shadow:0 2px 8px rgba(0,0,0,.5);margin:0;line-height:1.3}.article-cover-overlay .article-meta[data-v-4ae4481f]{justify-content:center;flex-wrap:wrap}.article-cover-overlay .meta-item[data-v-4ae4481f]{color:#ffffffe6}.article-cover-overlay .meta-item svg[data-v-4ae4481f]{color:#ffffffe6}.article-body[data-v-4ae4481f]{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:40px}.article-title[data-v-4ae4481f]{font-size:32px;font-weight:700;color:var(--text-primary);margin:0 0 20px;line-height:1.4}.article-meta[data-v-4ae4481f]{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:20px}.meta-item[data-v-4ae4481f]{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-tertiary)}.article-summary[data-v-4ae4481f]{font-size:16px;color:var(--text-secondary);line-height:1.6;padding:16px 20px;background:var(--bg-tertiary);border-radius:8px;margin-bottom:24px}.article-divider[data-v-4ae4481f]{height:1px;background:var(--border-color);margin:24px 0}.article-content-wrapper[data-v-4ae4481f]{display:flex;gap:32px;position:relative}.article-content[data-v-4ae4481f]{flex:1;font-size:16px;line-height:1.8;color:var(--text-primary);min-width:0}.toc-visible .article-content[data-v-4ae4481f]{margin-right:312px}.toc-hidden .article-content[data-v-4ae4481f]{margin-right:72px}.toc-drawer[data-v-4ae4481f]{width:280px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;position:fixed;right:calc(5vw + 24px);max-height:calc(100vh - 160px);display:flex;flex-direction:column;transition:all .3s ease;z-index:90;box-shadow:0 4px 12px #00000014}.toc-drawer.toc-hidden[data-v-4ae4481f]{width:40px;padding:12px;overflow:hidden;display:block}.toc-drawer.toc-hidden .toc-header[data-v-4ae4481f]{padding:0;border-bottom:none;justify-content:center}.toc-drawer.toc-hidden .toc-content[data-v-4ae4481f]{display:none}.toc-header[data-v-4ae4481f]{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 12px;flex-shrink:0;border-bottom:1px solid var(--border-color)}.toc-title[data-v-4ae4481f]{font-size:16px;font-weight:600;color:var(--text-primary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toc-hidden .toc-title[data-v-4ae4481f]{display:none}.toc-toggle-btn[data-v-4ae4481f]{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .2s;flex-shrink:0}.toc-toggle-btn[data-v-4ae4481f]:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.toc-hidden .toc-toggle-btn[data-v-4ae4481f]{margin:0 auto}.toc-content[data-v-4ae4481f]{flex:1;overflow-y:auto;padding:12px 16px 16px;min-height:0;transition:opacity .3s ease}.toc-hidden .toc-content[data-v-4ae4481f]{opacity:0;pointer-events:none}.toc-list[data-v-4ae4481f]{list-style:none;margin:0;padding:0}.toc-list li[data-v-4ae4481f]{margin:4px 0}.toc-link[data-v-4ae4481f]{display:block;font-size:14px;color:var(--text-secondary);text-decoration:none;padding:6px 8px;border-radius:6px;transition:all .2s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toc-link[data-v-4ae4481f]:hover{background:var(--bg-tertiary);color:var(--accent-primary)}.toc-link.active[data-v-4ae4481f]{background:var(--accent-primary);color:#fff;font-weight:500}.toc-level-2[data-v-4ae4481f]{font-size:13.5px}.toc-level-3[data-v-4ae4481f]{font-size:13px}.toc-level-4[data-v-4ae4481f]{font-size:12.5px}.toc-level-5[data-v-4ae4481f]{font-size:12px}.toc-level-6[data-v-4ae4481f]{font-size:11.5px}.article-content[data-v-4ae4481f] h1,.article-content[data-v-4ae4481f] h2,.article-content[data-v-4ae4481f] h3,.article-content[data-v-4ae4481f] h4,.article-content[data-v-4ae4481f] h5,.article-content[data-v-4ae4481f] h6{margin-top:32px;margin-bottom:16px;font-weight:600;line-height:1.4}.article-content[data-v-4ae4481f] h1{font-size:28px}.article-content[data-v-4ae4481f] h2{font-size:24px}.article-content[data-v-4ae4481f] h3{font-size:20px}.article-content[data-v-4ae4481f] h4{font-size:18px}.article-content[data-v-4ae4481f] p{margin:0 0 16px}.article-content[data-v-4ae4481f] a{color:var(--accent-primary);text-decoration:none}.article-content[data-v-4ae4481f] a:hover{text-decoration:underline}.article-content[data-v-4ae4481f] code{font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:14px}.article-content[data-v-4ae4481f] pre.code-block-wrapper{display:flex;flex-direction:column;margin:16px 0!important;padding:0;background:#fafafa;border:1px solid var(--border-color);border-radius:8px;box-shadow:0 1px 3px #00000014,0 1px 2px #0000000f;overflow:hidden}[data-theme=dark] .article-content[data-v-4ae4481f] pre.code-block-wrapper{background:#2a2a2a;border-color:#ffffff1a;box-shadow:0 1px 3px #0000004d,0 1px 2px #0003}[data-theme=dark] .article-content[data-v-4ae4481f] .code-header{background:#0003;border-bottom-color:#ffffff1a}.article-content[data-v-4ae4481f] .code-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:12px;flex-shrink:0}.article-content[data-v-4ae4481f] .code-language{color:var(--text-secondary);text-transform:uppercase;font-weight:500;letter-spacing:.5px}.article-content[data-v-4ae4481f] .code-copy-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:var(--bg-hover);border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .2s;position:relative}.article-content[data-v-4ae4481f] .code-copy-btn:hover{background:var(--bg-active);border-color:var(--accent-primary);color:var(--accent-primary)}.article-content[data-v-4ae4481f] .code-copy-btn.copied{background:var(--status-success);border-color:var(--status-success);color:#fff}.article-content[data-v-4ae4481f] .code-copy-btn .copy-icon,.article-content[data-v-4ae4481f] .code-copy-btn .check-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.article-content[data-v-4ae4481f] .code-copy-btn .copy-icon{display:flex}.article-content[data-v-4ae4481f] .code-copy-btn .check-icon,.article-content[data-v-4ae4481f] .code-copy-btn.copied .copy-icon{display:none}.article-content[data-v-4ae4481f] .code-copy-btn.copied .check-icon{display:flex}.article-content[data-v-4ae4481f] .code-copy-btn svg{width:16px;height:16px}.article-content[data-v-4ae4481f] .code-body{display:flex;overflow-x:auto;align-items:stretch;margin:0!important;padding:0!important}.article-content[data-v-4ae4481f] .line-numbers{display:flex;flex-direction:column;padding:16px 0!important;background:#00000005;border-right:1px solid var(--border-color);-webkit-user-select:none;user-select:none;min-width:48px;text-align:right;line-height:21px;margin:0!important}.article-content[data-v-4ae4481f] .line-number{padding:0 12px;font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:13px;color:var(--text-muted);box-sizing:border-box;display:flex;align-items:center;justify-content:flex-end;height:21px;line-height:21px;margin:0!important}.article-content[data-v-4ae4481f] .code-lines{display:flex;flex-direction:column;padding:16px 0;overflow-x:auto;font-size:14px;line-height:21px;background:transparent;flex:1;margin:0}.article-content[data-v-4ae4481f] .code-line{display:block;box-sizing:border-box;padding-left:16px;padding-right:16px;white-space:pre;min-height:21px;margin:0;line-height:21px}.article-content[data-v-4ae4481f] .code-line.line-odd{background:transparent}.article-content[data-v-4ae4481f] .code-line.line-even{background:#00000005}[data-theme=dark] .article-content[data-v-4ae4481f] .line-numbers{background:#ffffff05;border-right-color:#ffffff1a}[data-theme=dark] .article-content[data-v-4ae4481f] .line-number{color:#fff6}[data-theme=dark] .article-content[data-v-4ae4481f] .code-line.line-even{background:#ffffff05}.article-content[data-v-4ae4481f] blockquote{margin:16px 0;padding:12px 20px;border-left:4px solid var(--accent-primary);background:var(--bg-tertiary);color:var(--text-secondary)}.article-content[data-v-4ae4481f] ul,.article-content[data-v-4ae4481f] ol{margin:16px 0;padding-left:24px}.article-content[data-v-4ae4481f] li{margin:8px 0}.article-content[data-v-4ae4481f] img{max-width:100%;height:auto;border-radius:8px;margin:16px 0}.article-content[data-v-4ae4481f] table{width:100%;border-collapse:collapse;margin:16px 0}.article-content[data-v-4ae4481f] th,.article-content[data-v-4ae4481f] td{padding:12px;border:1px solid var(--border-color);text-align:left}.article-content[data-v-4ae4481f] th{background:var(--bg-tertiary);font-weight:600}.preview-empty[data-v-4ae4481f]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:var(--text-tertiary)}.preview-empty svg[data-v-4ae4481f]{margin-bottom:16px}@media(max-width:768px){.preview-toolbar[data-v-4ae4481f]{padding:12px 16px;flex-wrap:wrap;gap:12px}.toolbar-center[data-v-4ae4481f]{order:3;width:100%;justify-content:center}.preview-content[data-v-4ae4481f]{padding:24px 16px}.article-cover-wrapper[data-v-4ae4481f]{height:280px;margin-bottom:24px}.article-cover-title[data-v-4ae4481f]{font-size:24px}.article-body[data-v-4ae4481f]{padding:24px}.article-title[data-v-4ae4481f]{font-size:24px}.article-content-wrapper[data-v-4ae4481f]{flex-direction:column;gap:20px}.toc-drawer[data-v-4ae4481f]{width:100%!important;position:sticky;top:70px!important;max-height:50vh;order:-1;z-index:80;right:auto;box-shadow:0 2px 8px #0000001a;margin-bottom:16px}.toc-drawer.toc-hidden[data-v-4ae4481f]{width:100%!important;height:auto;padding:12px;right:auto}.toc-hidden .toc-content[data-v-4ae4481f]{display:none}.article-content[data-v-4ae4481f]{margin-right:0!important}}.public-header[data-v-a4031190]{position:fixed;top:0;left:0;right:0;z-index:100;background:var(--bg-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background .3s ease,box-shadow .3s ease}.public-header.at-top[data-v-a4031190]{background:transparent;border-bottom:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.public-header[data-v-a4031190]:not(.at-top){background:var(--bg-card);border-bottom:1px solid var(--border-color);box-shadow:0 2px 16px #00000014;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.public-header[data-v-a4031190] .n-row{width:100%;padding:16px 24px;box-sizing:border-box}.logo[data-v-a4031190]{font-size:20px;font-weight:700;letter-spacing:1px}.nav-container[data-v-a4031190]{display:flex;justify-content:space-between;align-items:center}.desktop-nav[data-v-a4031190]{display:flex;gap:24px}.nav-link[data-v-a4031190]{color:var(--text-secondary);text-decoration:none;font-size:15px;font-weight:500;transition:color .2s}.nav-link[data-v-a4031190]:hover{color:var(--accent-primary)}.nav-link.active[data-v-a4031190]{color:var(--accent-primary);font-weight:600}.mobile-menu-btn[data-v-a4031190]{display:none;background:none;border:none;color:var(--text-primary);cursor:pointer;padding:4px}.mobile-menu-overlay[data-v-a4031190]{position:fixed;inset:60px 0 0;background:#00000080;z-index:99}.mobile-menu[data-v-a4031190]{background:var(--bg-card);padding:20px;display:flex;flex-direction:column;gap:8px}.mobile-nav-link[data-v-a4031190]{display:block;padding:14px 16px;color:var(--text-primary);text-decoration:none;font-size:16px;font-weight:500;border-radius:8px;transition:background .2s}.mobile-nav-link[data-v-a4031190]:hover{background:var(--bg-hover)}.mobile-nav-link.active[data-v-a4031190]{color:var(--accent-primary);font-weight:600}.fade-enter-active[data-v-a4031190],.fade-leave-active[data-v-a4031190]{transition:opacity .2s ease}.fade-enter-from[data-v-a4031190],.fade-leave-to[data-v-a4031190]{opacity:0}@media(max-width:768px){.desktop-nav[data-v-a4031190]{display:none}.mobile-menu-btn[data-v-a4031190]{display:flex;position:fixed;top:16px;right:24px}.public-header[data-v-a4031190] .n-col{display:none}.public-header[data-v-a4031190] .n-row{justify-content:center}.public-header[data-v-a4031190] .n-col:first-child{display:block}}.blog-home[data-v-9bce7f09]{width:100%;height:100vh;overflow:hidden;position:relative}.scroll-container[data-v-9bce7f09]{width:100%;height:100%;overflow-y:scroll;scroll-snap-type:y mandatory}.scroll-container[data-v-9bce7f09]::-webkit-scrollbar{display:none}.scroll-container[data-v-9bce7f09]{-ms-overflow-style:none;scrollbar-width:none}.page[data-v-9bce7f09]{width:100%;height:100vh;scroll-snap-align:start;display:flex;align-items:center;justify-content:center;padding:80px 24px 40px;box-sizing:border-box}.page-content[data-v-9bce7f09]{max-width:1000px;width:100%;text-align:center}.self-intro[data-v-9bce7f09]{display:flex;flex-direction:column;align-items:center;gap:16px}.avatar[data-v-9bce7f09]{width:132px;height:132px;margin-bottom:8px;border-radius:50%;padding:4px;background:var(--accent-gradient);box-shadow:0 16px 36px #0000002e}.avatar img[data-v-9bce7f09]{width:100%;height:100%;display:block;object-fit:cover;border-radius:50%;background:var(--bg-secondary)}.intro-name[data-v-9bce7f09]{font-size:48px;font-weight:700;margin:0}.intro-tagline[data-v-9bce7f09]{font-size:20px;color:var(--text-secondary);margin:0}.intro-desc[data-v-9bce7f09]{font-size:16px;color:var(--text-tertiary);max-width:500px;line-height:1.6;margin:8px 0}.intro-social[data-v-9bce7f09]{display:flex;gap:16px;margin-top:16px}.social-link[data-v-9bce7f09]{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--bg-tertiary);color:var(--text-secondary);transition:all .2s}.social-link[data-v-9bce7f09]:hover{background:var(--accent-primary);color:#fff;transform:translateY(-2px)}.projects-grid[data-v-9bce7f09]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:32px;text-align:left}.project-card[data-v-9bce7f09]{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:24px;transition:all .3s;color:inherit;text-decoration:none}.project-card[data-v-9bce7f09]:hover{border-color:var(--accent-primary);transform:translateY(-4px);box-shadow:0 12px 40px #00000026}.project-icon[data-v-9bce7f09]{color:var(--accent-primary);margin-bottom:16px}.project-title[data-v-9bce7f09]{font-size:20px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.project-desc[data-v-9bce7f09]{font-size:14px;color:var(--text-secondary);margin:0 0 16px;line-height:1.5}.project-tags[data-v-9bce7f09]{display:flex;flex-wrap:wrap;gap:8px}.tag[data-v-9bce7f09]{font-size:12px;padding:4px 10px;background:var(--bg-tertiary);color:var(--text-secondary);border-radius:12px}.tech-grid[data-v-9bce7f09]{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:32px}.tech-item[data-v-9bce7f09]{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 16px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;transition:all .3s}.tech-item[data-v-9bce7f09]:hover{border-color:var(--accent-primary);transform:translateY(-4px)}.tech-item .tech-name[data-v-9bce7f09]{font-size:16px;font-weight:600;color:var(--text-primary)}.tech-item .tech-category[data-v-9bce7f09]{font-size:12px;color:var(--text-tertiary)}.footer-content[data-v-9bce7f09]{display:flex;flex-direction:column;align-items:center;gap:16px}.footer-copyright[data-v-9bce7f09]{color:var(--text-tertiary);font-size:12px;margin:0}.nav-arrows[data-v-9bce7f09]{position:fixed;right:24px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:8px;z-index:50}.nav-arrow[data-v-9bce7f09]{width:48px;height:48px;border-radius:50%;background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.nav-arrow[data-v-9bce7f09]:hover:not(.disabled){background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.nav-arrow.disabled[data-v-9bce7f09]{opacity:.3;cursor:not-allowed}.page-indicator[data-v-9bce7f09]{position:fixed;bottom:32px;left:50%;transform:translate(-50%);display:flex;gap:12px;z-index:50}.indicator-dot[data-v-9bce7f09]{width:12px;height:12px;border-radius:50%;background:var(--bg-tertiary);border:2px solid var(--border-color);cursor:pointer;transition:all .2s;padding:0}.indicator-dot.active[data-v-9bce7f09]{background:var(--accent-primary);border-color:var(--accent-primary);transform:scale(1.2)}.indicator-dot[data-v-9bce7f09]:hover:not(.active){border-color:var(--accent-primary)}.mobile-menu-overlay[data-v-9bce7f09]{position:fixed;inset:60px 0 0;background:#00000080;z-index:99}.mobile-menu[data-v-9bce7f09]{background:var(--bg-card);padding:20px;display:flex;flex-direction:column;gap:8px}.mobile-nav-link[data-v-9bce7f09]{display:block;padding:14px 16px;color:var(--text-primary);text-decoration:none;font-size:16px;font-weight:500;border-radius:8px;transition:background .2s}.mobile-nav-link[data-v-9bce7f09]:hover{background:var(--bg-hover)}.fade-enter-active[data-v-9bce7f09],.fade-leave-active[data-v-9bce7f09]{transition:opacity .2s ease}.fade-enter-from[data-v-9bce7f09],.fade-leave-to[data-v-9bce7f09]{opacity:0}@media(max-width:768px){.intro-name[data-v-9bce7f09]{font-size:36px}.intro-tagline[data-v-9bce7f09]{font-size:16px}.projects-grid[data-v-9bce7f09]{grid-template-columns:1fr}.tech-grid[data-v-9bce7f09]{grid-template-columns:repeat(2,1fr);gap:12px}.tech-item[data-v-9bce7f09]{padding:16px 12px}.tech-item .tech-name[data-v-9bce7f09]{font-size:14px}.nav-arrows[data-v-9bce7f09]{right:12px}.nav-arrow[data-v-9bce7f09]{width:40px;height:40px}.page[data-v-9bce7f09]{padding:80px 16px 60px}}@media(max-width:480px){.tech-grid[data-v-9bce7f09]{grid-template-columns:repeat(2,1fr)}.section-title[data-v-9bce7f09]{font-size:24px!important}}.blog-list-page[data-v-d50cc83a]{min-height:100vh;padding:80px 24px 40px;max-width:900px;margin:0 auto}.filter-bar[data-v-d50cc83a]{margin-top:32px;margin-bottom:32px}.filter-bar[data-v-d50cc83a] .n-input,.filter-bar[data-v-d50cc83a] .n-select{width:100%}.blog-list[data-v-d50cc83a]{display:flex;flex-direction:column}.blog-list .blog-card[data-v-d50cc83a]:not(:last-child){margin-bottom:24px}.loading-state[data-v-d50cc83a],.empty-state[data-v-d50cc83a]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:var(--text-tertiary)}.empty-state svg[data-v-d50cc83a]{margin-bottom:16px}.blog-card[data-v-d50cc83a]{display:flex;gap:24px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:20px;transition:all .3s;cursor:pointer}.blog-card[data-v-d50cc83a]:hover{border-color:var(--accent-primary);transform:translateY(-4px);box-shadow:0 12px 40px #0000001f}.blog-cover[data-v-d50cc83a]{width:160px;height:120px;border-radius:8px;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary)}.blog-cover img[data-v-d50cc83a]{width:100%;height:100%;object-fit:cover}.blog-card:hover .blog-cover[data-v-d50cc83a]{transform:scale(1.1)}.blog-cover[data-v-d50cc83a]{transition:transform .3s ease}.cover-placeholder[data-v-d50cc83a]{color:var(--text-tertiary);font-size:12px;text-align:center;padding:8px}.blog-content[data-v-d50cc83a]{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.blog-meta[data-v-d50cc83a]{display:flex;gap:12px;font-size:12px;color:var(--text-tertiary)}.blog-category[data-v-d50cc83a]{color:var(--accent-primary)}.blog-title[data-v-d50cc83a]{font-size:20px;font-weight:600;color:var(--text-primary);margin:0;line-height:1.4}.blog-summary[data-v-d50cc83a]{font-size:14px;color:var(--text-secondary);margin:0;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pagination-wrapper[data-v-d50cc83a]{display:flex;justify-content:center;padding:24px 0}.pagination[data-v-d50cc83a]{display:flex;align-items:center;gap:16px}.page-btn[data-v-d50cc83a]{padding:8px 16px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);font-size:14px;cursor:pointer;transition:all .2s}.page-btn[data-v-d50cc83a]:hover:not(:disabled){border-color:var(--accent-primary);color:var(--accent-primary)}.page-btn[data-v-d50cc83a]:disabled{opacity:.5;cursor:not-allowed}.page-info[data-v-d50cc83a]{font-size:14px;color:var(--text-tertiary)}@media(max-width:768px){.blog-card[data-v-d50cc83a]{flex-direction:column}.blog-cover[data-v-d50cc83a]{width:100%;height:180px}}.blog-detail-page[data-v-1989ade3]{min-height:100vh;background:var(--bg-primary)}.article-header[data-v-1989ade3]{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;position:fixed;top:0;left:0;right:0;z-index:100;background:var(--bg-primary);border-bottom:1px solid var(--border-color);box-shadow:0 4px 12px #00000014}.back-btn[data-v-1989ade3]{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);font-size:14px;cursor:pointer;transition:all .2s}.back-btn[data-v-1989ade3]:hover{border-color:var(--accent-primary);color:var(--text-primary)}.locale-select[data-v-1989ade3]{width:140px;flex-shrink:0}.article-content-wrapper[data-v-1989ade3]{max-width:70%;margin:0 auto;padding:80px 24px 40px}.article-cover-wrapper[data-v-1989ade3]{position:relative;width:100%;height:400px;margin-bottom:32px;border-radius:12px;overflow:hidden}.article-cover-img[data-v-1989ade3]{width:100%;height:100%;object-fit:cover}.article-cover-overlay[data-v-1989ade3]{position:absolute;inset:0;background:linear-gradient(to bottom,#0003,#000000b3);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:40px}.article-cover-title[data-v-1989ade3]{font-size:36px;font-weight:700;color:#fff;text-align:center;text-shadow:0 2px 8px rgba(0,0,0,.5);margin:0;line-height:1.3}.article-cover-overlay .article-meta[data-v-1989ade3]{justify-content:center;flex-wrap:wrap}.article-cover-overlay .meta-item[data-v-1989ade3]{color:#ffffffe6}.article-cover-overlay .meta-item svg[data-v-1989ade3]{color:#ffffffe6}.article-body[data-v-1989ade3]{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:40px}.article-title[data-v-1989ade3]{font-size:32px;font-weight:700;color:var(--text-primary);margin:0 0 20px;line-height:1.4}.article-meta[data-v-1989ade3]{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:20px}.meta-item[data-v-1989ade3]{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-tertiary)}.article-summary[data-v-1989ade3]{font-size:16px;color:var(--text-secondary);line-height:1.6;padding:16px 20px;background:var(--bg-tertiary);border-radius:8px;margin-bottom:24px}.article-divider[data-v-1989ade3]{height:1px;background:var(--border-color);margin:24px 0}.article-main[data-v-1989ade3]{display:flex;gap:32px;position:relative}.article-content[data-v-1989ade3]{flex:1;font-size:16px;line-height:1.8;color:var(--text-primary);min-width:0}.toc-visible .article-content[data-v-1989ade3]{margin-right:312px}.toc-hidden .article-content[data-v-1989ade3]{margin-right:72px}.toc-drawer[data-v-1989ade3]{width:280px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;position:fixed;right:calc(5vw + 24px);max-height:calc(100vh - 160px);display:flex;flex-direction:column;transition:all .3s ease;z-index:90;box-shadow:0 4px 12px #00000014}.toc-drawer.toc-hidden[data-v-1989ade3]{width:40px;padding:12px;overflow:hidden;display:block}.toc-drawer.toc-hidden .toc-header[data-v-1989ade3]{padding:0;border-bottom:none;justify-content:center}.toc-drawer.toc-hidden .toc-content[data-v-1989ade3]{display:none}.toc-header[data-v-1989ade3]{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 12px;flex-shrink:0;border-bottom:1px solid var(--border-color)}.toc-title[data-v-1989ade3]{font-size:16px;font-weight:600;color:var(--text-primary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toc-hidden .toc-title[data-v-1989ade3]{display:none}.toc-toggle-btn[data-v-1989ade3]{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .2s;flex-shrink:0}.toc-toggle-btn[data-v-1989ade3]:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.toc-hidden .toc-toggle-btn[data-v-1989ade3]{margin:0 auto}.toc-content[data-v-1989ade3]{flex:1;overflow-y:auto;padding:12px 16px 16px;min-height:0;transition:opacity .3s ease}.toc-hidden .toc-content[data-v-1989ade3]{opacity:0;pointer-events:none}.toc-list[data-v-1989ade3]{list-style:none;margin:0;padding:0}.toc-list li[data-v-1989ade3]{margin:4px 0}.toc-link[data-v-1989ade3]{display:block;font-size:14px;color:var(--text-secondary);text-decoration:none;padding:6px 8px;border-radius:6px;transition:all .2s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toc-link[data-v-1989ade3]:hover{background:var(--bg-tertiary);color:var(--accent-primary)}.toc-link.active[data-v-1989ade3]{background:var(--accent-primary);color:#fff;font-weight:500}.toc-level-2[data-v-1989ade3]{font-size:13.5px}.toc-level-3[data-v-1989ade3]{font-size:13px}.toc-level-4[data-v-1989ade3]{font-size:12.5px}.toc-level-5[data-v-1989ade3]{font-size:12px}.toc-level-6[data-v-1989ade3]{font-size:11.5px}.article-content[data-v-1989ade3] h1,.article-content[data-v-1989ade3] h2,.article-content[data-v-1989ade3] h3,.article-content[data-v-1989ade3] h4,.article-content[data-v-1989ade3] h5,.article-content[data-v-1989ade3] h6{margin-top:32px;margin-bottom:16px;font-weight:600;line-height:1.4}.article-content[data-v-1989ade3] h1{font-size:28px}.article-content[data-v-1989ade3] h2{font-size:24px}.article-content[data-v-1989ade3] h3{font-size:20px}.article-content[data-v-1989ade3] h4{font-size:18px}.article-content[data-v-1989ade3] p{margin:0 0 16px}.article-content[data-v-1989ade3] a{color:var(--accent-primary);text-decoration:none}.article-content[data-v-1989ade3] a:hover{text-decoration:underline}.article-content[data-v-1989ade3] code{font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:14px}.article-content[data-v-1989ade3] pre.code-block-wrapper{display:flex;flex-direction:column;margin:16px 0!important;padding:0;background:#fafafa;border:1px solid var(--border-color);border-radius:8px;overflow:hidden}[data-theme=dark] .article-content[data-v-1989ade3] pre.code-block-wrapper{background:#2a2a2a;border-color:#ffffff1a}.article-content[data-v-1989ade3] .code-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:12px;flex-shrink:0}.article-content[data-v-1989ade3] .code-language{color:var(--text-secondary);text-transform:uppercase;font-weight:500;letter-spacing:.5px}.article-content[data-v-1989ade3] .code-copy-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:var(--bg-hover);border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .2s;position:relative}.article-content[data-v-1989ade3] .code-copy-btn:hover{background:var(--bg-active);border-color:var(--accent-primary);color:var(--accent-primary)}.article-content[data-v-1989ade3] .code-copy-btn.copied{background:var(--status-success);border-color:var(--status-success);color:#fff}.article-content[data-v-1989ade3] .code-copy-btn .copy-icon,.article-content[data-v-1989ade3] .code-copy-btn .check-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.article-content[data-v-1989ade3] .code-copy-btn .copy-icon{display:flex}.article-content[data-v-1989ade3] .code-copy-btn .check-icon,.article-content[data-v-1989ade3] .code-copy-btn.copied .copy-icon{display:none}.article-content[data-v-1989ade3] .code-copy-btn.copied .check-icon{display:flex}.article-content[data-v-1989ade3] .code-copy-btn svg{width:16px;height:16px}.article-content[data-v-1989ade3] .code-body{display:flex;overflow-x:auto;align-items:stretch;margin:0!important;padding:0!important}.article-content[data-v-1989ade3] .line-numbers{display:flex;flex-direction:column;padding:16px 0!important;background:#00000005;border-right:1px solid var(--border-color);-webkit-user-select:none;user-select:none;min-width:48px;text-align:right;line-height:21px;margin:0!important}.article-content[data-v-1989ade3] .line-number{padding:0 12px;font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:13px;color:var(--text-muted);box-sizing:border-box;display:flex;align-items:center;justify-content:flex-end;height:21px;line-height:21px;margin:0!important}.article-content[data-v-1989ade3] .code-lines{display:flex;flex-direction:column;padding:16px 0;overflow-x:auto;font-size:14px;line-height:21px;background:transparent;flex:1;margin:0}.article-content[data-v-1989ade3] .code-line{display:block;box-sizing:border-box;padding-left:16px;padding-right:16px;white-space:pre;min-height:21px;margin:0;line-height:21px}.article-content[data-v-1989ade3] .code-line.line-odd{background:transparent}.article-content[data-v-1989ade3] .code-line.line-even{background:#00000005}[data-theme=dark] .article-content[data-v-1989ade3] .line-numbers{background:#ffffff05;border-right-color:#ffffff1a}[data-theme=dark] .article-content[data-v-1989ade3] .line-number{color:#fff6}[data-theme=dark] .article-content[data-v-1989ade3] .code-line.line-even{background:#ffffff05}.article-content[data-v-1989ade3] blockquote{margin:16px 0;padding:12px 20px;border-left:4px solid var(--accent-primary);background:var(--bg-tertiary);color:var(--text-secondary)}.article-content[data-v-1989ade3] ul,.article-content[data-v-1989ade3] ol{margin:16px 0;padding-left:24px}.article-content[data-v-1989ade3] li{margin:8px 0}.article-content[data-v-1989ade3] img{max-width:100%;height:auto;border-radius:8px;margin:16px 0}.article-content[data-v-1989ade3] table{width:100%;border-collapse:collapse;margin:16px 0}.article-content[data-v-1989ade3] th,.article-content[data-v-1989ade3] td{padding:12px;border:1px solid var(--border-color);text-align:left}.article-content[data-v-1989ade3] th{background:var(--bg-tertiary);font-weight:600}.article-empty[data-v-1989ade3]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:var(--text-tertiary)}.article-empty svg[data-v-1989ade3]{margin-bottom:16px}@media(max-width:768px){.article-header[data-v-1989ade3]{padding:12px 16px;top:60px}.article-content-wrapper[data-v-1989ade3]{padding:24px 16px}.article-cover-wrapper[data-v-1989ade3]{height:280px;margin-bottom:24px}.article-cover-title[data-v-1989ade3]{font-size:24px}.article-body[data-v-1989ade3]{padding:24px}.article-title[data-v-1989ade3]{font-size:24px}.article-main[data-v-1989ade3]{flex-direction:column;gap:20px}.article-content[data-v-1989ade3]{margin-right:0!important}.toc-drawer[data-v-1989ade3]{width:100%!important;position:sticky;top:130px!important;max-height:50vh;order:-1;z-index:80;right:auto;box-shadow:0 2px 8px #0000001a;margin-bottom:16px}.toc-drawer.toc-hidden[data-v-1989ade3]{width:100%!important;height:auto;padding:12px;right:auto}.toc-hidden .toc-content[data-v-1989ade3]{display:none}}.diary-page[data-v-bad2f1c5]{min-height:100vh;background:var(--bg-primary)}.diary-main[data-v-bad2f1c5]{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:96px 24px 40px;box-sizing:border-box}.diary-state[data-v-bad2f1c5]{width:min(520px,100%);text-align:center;display:flex;flex-direction:column;align-items:center;gap:18px}.diary-icon[data-v-bad2f1c5]{width:88px;height:88px;border-radius:22px;display:flex;align-items:center;justify-content:center;background:#0ad6e31f;color:var(--accent-primary)}.diary-state h1[data-v-bad2f1c5]{margin:8px 0 0;color:var(--text-primary);font-size:32px;line-height:1.25}.diary-state p[data-v-bad2f1c5]{margin:0;color:var(--text-secondary);font-size:16px;line-height:1.7}.back-link[data-v-bad2f1c5]{display:inline-flex;align-items:center;gap:8px;margin-top:12px;color:var(--accent-primary);text-decoration:none;font-weight:600}.back-link[data-v-bad2f1c5]:hover{text-decoration:underline}.n-select-tag[data-v-0c324bfe]{position:relative;width:fit-content;min-width:150px;display:inline-flex;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;cursor:text;transition:border-color .2s}.n-select-tag[data-v-0c324bfe]:hover:not(.disabled){border-color:var(--accent-primary)}.n-select-tag.focused[data-v-0c324bfe]:not(.disabled){border-color:var(--accent-primary)}.n-select-tag.disabled[data-v-0c324bfe]{opacity:.5;cursor:not-allowed}.n-select-tag-container[data-v-0c324bfe]{display:flex;align-items:center;gap:6px;padding:6px 10px;box-sizing:border-box;min-width:150px;width:fit-content}.n-select-tag-item[data-v-0c324bfe]{display:flex;align-items:center;gap:4px;background:var(--accent-primary);color:#fff;padding:3px 8px;border-radius:4px;font-size:13px;line-height:1;white-space:nowrap}.n-select-tag-close[data-v-0c324bfe]{display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:.8;margin-left:2px}.n-select-tag-close[data-v-0c324bfe]:hover{opacity:1}.n-select-tag-container input[data-v-0c324bfe]{flex:1;min-width:100px;border:none;background:transparent;outline:none;color:var(--text-primary);font-size:14px;padding:4px 0;color:var(--text-tertiary)}.n-select-tag-dropdown[data-v-0c324bfe]{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 20px #00000026;z-index:100;max-height:200px;overflow-y:auto}.n-select-tag-option[data-v-0c324bfe]{padding:10px 14px;color:var(--text-primary);cursor:pointer;transition:background .2s}.n-select-tag-option[data-v-0c324bfe]:hover{background:var(--bg-hover)}.n-select-tag-create[data-v-0c324bfe]{padding:10px 14px;color:var(--accent-primary);cursor:pointer;border-top:1px solid var(--border-color);font-size:13px}.n-select-tag-create[data-v-0c324bfe]:hover{background:var(--bg-hover)}.n-position[data-v-face6dd0]{z-index:100}.n-position.fixed[data-v-face6dd0]{position:fixed}.n-position[data-v-face6dd0]:not(.fixed){position:absolute}.n-dialog-overlay[data-v-30ee6635]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center}.n-dialog[data-v-30ee6635]{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:0;width:480px;max-width:560px;min-height:180px;box-shadow:0 10px 40px #0003;display:flex;flex-direction:column;overflow:hidden}.n-dialog.with-scale[data-v-30ee6635]{transform-origin:center}.n-dialog-header[data-v-30ee6635]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-color)}.n-dialog-header.no-border[data-v-30ee6635]{border-bottom:none}.n-dialog-title[data-v-30ee6635]{font-size:18px;font-weight:600;color:var(--text-primary)}.n-dialog-close[data-v-30ee6635]{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:4px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s}.n-dialog-close[data-v-30ee6635]:hover{color:var(--text-primary);background:var(--bg-hover)}.n-dialog-body[data-v-30ee6635]{flex:1;overflow-y:auto;padding:24px;color:var(--text-secondary);line-height:1.5}.n-dialog-footer[data-v-30ee6635]{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border-color);margin-top:auto}.n-dialog-footer.no-border[data-v-30ee6635]{border-top:none}.dialog-fade-enter-active[data-v-30ee6635],.dialog-fade-leave-active[data-v-30ee6635]{transition:opacity .25s ease}.dialog-fade-enter-active .n-dialog[data-v-30ee6635],.dialog-fade-leave-active .n-dialog[data-v-30ee6635]{transition:transform .25s ease,opacity .25s ease}.dialog-fade-enter-from[data-v-30ee6635],.dialog-fade-leave-to[data-v-30ee6635]{opacity:0}.dialog-fade-enter-from .n-dialog[data-v-30ee6635],.dialog-fade-leave-to .n-dialog[data-v-30ee6635]{transform:scale(.95);opacity:0}.n-loading-overlay[data-v-e03a698b]{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:9999}[data-theme=dark] .n-loading-overlay[data-v-e03a698b]{background:#00000073}.n-loading-spinner[data-v-e03a698b]{width:50px;height:50px}.fade-enter-active[data-v-e03a698b],.fade-leave-active[data-v-e03a698b]{transition:opacity .6s ease}.fade-enter-from[data-v-e03a698b],.fade-leave-to[data-v-e03a698b]{opacity:0}.n-notification-root[data-v-113fb4b0]{position:fixed;top:20px;right:20px;z-index:3000;pointer-events:none}.n-notification-stack[data-v-113fb4b0]{display:flex;flex-direction:column;gap:12px;align-items:flex-end}.n-notification[data-v-113fb4b0]{width:min(380px,calc(100vw - 40px));min-height:72px;display:grid;grid-template-columns:28px 1fr 28px;gap:12px;align-items:flex-start;padding:16px;background:var(--bg-card);border:1px solid var(--border-color);border-left:4px solid var(--accent-primary);border-radius:8px;box-shadow:0 16px 42px #0000002e;color:var(--text-primary);pointer-events:auto}.n-notification.success[data-v-113fb4b0]{border-left-color:#22c55e}.n-notification.warning[data-v-113fb4b0]{border-left-color:#f59e0b}.n-notification.error[data-v-113fb4b0]{border-left-color:#ef4444}.n-notification.info[data-v-113fb4b0]{border-left-color:var(--accent-primary)}.n-notification-icon[data-v-113fb4b0]{display:flex;align-items:center;justify-content:center;color:var(--accent-primary)}.n-notification.success .n-notification-icon[data-v-113fb4b0]{color:#22c55e}.n-notification.warning .n-notification-icon[data-v-113fb4b0]{color:#f59e0b}.n-notification.error .n-notification-icon[data-v-113fb4b0]{color:#ef4444}.n-notification-content[data-v-113fb4b0]{min-width:0}.n-notification-title[data-v-113fb4b0]{font-size:14px;font-weight:700;line-height:1.35;margin-bottom:4px;color:var(--text-primary)}.n-notification-message[data-v-113fb4b0]{font-size:14px;line-height:1.45;color:var(--text-secondary);overflow-wrap:anywhere}.n-notification-close[data-v-113fb4b0]{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:6px;background:transparent;color:var(--text-tertiary);cursor:pointer;transition:background .2s ease,color .2s ease}.n-notification-close[data-v-113fb4b0]:hover{background:var(--bg-hover);color:var(--text-primary)}.notification-slide-enter-active[data-v-113fb4b0],.notification-slide-leave-active[data-v-113fb4b0]{transition:transform .28s ease,opacity .28s ease}.notification-slide-enter-from[data-v-113fb4b0],.notification-slide-leave-to[data-v-113fb4b0]{opacity:0;transform:translate(120%)}.notification-slide-move[data-v-113fb4b0]{transition:transform .28s ease}@media(max-width:640px){.n-notification-root[data-v-113fb4b0]{top:12px;right:12px;left:12px}.n-notification-stack[data-v-113fb4b0]{align-items:stretch}.n-notification[data-v-113fb4b0]{width:100%}}.icon-button[data-v-0b552854]{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;padding:0}.icon-button[data-v-0b552854]:hover{border-color:var(--accent-primary);background:var(--bg-hover)}.icon-fade-enter-active[data-v-0b552854],.icon-fade-leave-active[data-v-0b552854]{transition:all .15s ease}.icon-fade-enter-from[data-v-0b552854],.icon-fade-leave-to[data-v-0b552854]{opacity:0}.n-row[data-v-5d3ec720]{display:grid;grid-template-columns:repeat(24,1fr);width:100%;box-sizing:border-box}.n-row.justify-start[data-v-5d3ec720]{justify-content:start}.n-row.justify-end[data-v-5d3ec720]{justify-content:end}.n-row.justify-center[data-v-5d3ec720]{justify-content:center}.n-row.justify-space-around[data-v-5d3ec720]{justify-content:space-around}.n-row.justify-space-between[data-v-5d3ec720]{justify-content:space-between}.n-row.justify-space-evenly[data-v-5d3ec720]{justify-content:space-evenly}.n-row.align-top[data-v-5d3ec720]{align-items:start}.n-row.align-middle[data-v-5d3ec720]{align-items:center}.n-row.align-bottom[data-v-5d3ec720]{align-items:end}.n-col[data-v-b53a771b]{box-sizing:border-box;display:flex;flex-direction:column;align-items:stretch;justify-content:stretch;min-width:0}.n-col.n-col-empty[data-v-b53a771b]{display:none!important}.n-col.n-col-align-left[data-v-b53a771b]{align-items:flex-start}.n-col.n-col-align-center[data-v-b53a771b]{align-items:center}.n-col.n-col-align-right[data-v-b53a771b]{align-items:flex-end}.n-col.n-col-valign-top[data-v-b53a771b]{justify-content:flex-start}.n-col.n-col-valign-middle[data-v-b53a771b]{justify-content:center}.n-col.n-col-valign-bottom[data-v-b53a771b]{justify-content:flex-end}:root{--bg-primary: #f8f8f8;--bg-secondary: #ffffff;--bg-tertiary: rgba(0, 0, 0, .03);--bg-sidebar: rgba(0, 0, 0, .03);--bg-card: #ffffff;--bg-input: rgba(0, 0, 0, .03);--bg-hover: rgba(0, 0, 0, .05);--bg-active: rgba(10, 214, 227, .1);--text-primary: #1a1a1a;--text-secondary: #666;--text-tertiary: #999;--text-muted: #ccc;--border-color: rgba(0, 0, 0, .1);--border-light: rgba(0, 0, 0, .05);--border-subtle: rgba(0, 0, 0, .08);--accent-primary: #0AD6E3;--accent-secondary: #F703FF;--accent-gradient: linear-gradient(135deg, #0AD6E3 0%, #F703FF 100%);--status-success: #34c759;--status-warning: #ff9500;--status-info: #0AD6E3;--status-error: #ff3b30;--shadow-card: 0 2px 8px rgba(0, 0, 0, .06);--shadow-hover: 0 4px 12px rgba(0, 0, 0, .1);--sidebar-width: 260px;--header-height: 70px}[data-theme=dark]{--bg-primary: #0a0a0a;--bg-secondary: #1a1a1a;--bg-tertiary: rgba(255, 255, 255, .05);--bg-sidebar: rgba(255, 255, 255, .03);--bg-card: #1a1a1a;--bg-input: rgba(255, 255, 255, .05);--bg-hover: rgba(255, 255, 255, .05);--bg-active: rgba(10, 214, 227, .1);--text-primary: #fff;--text-secondary: #aaa;--text-tertiary: #666;--text-muted: #666;--border-color: rgba(255, 255, 255, .1);--border-light: rgba(255, 255, 255, .05);--border-subtle: rgba(255, 255, 255, .1);--shadow-card: 0 2px 8px rgba(0, 0, 0, .3);--shadow-hover: 0 4px 12px rgba(0, 0, 0, .4)}*{margin:0;padding:0;box-sizing:border-box}html,body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;transition:background-color .3s ease,color .3s ease}#app{min-height:100vh}.bg-circle{position:fixed;border-radius:50%;filter:blur(150px);animation:gentleSwing 6s ease-in-out infinite;z-index:0;pointer-events:none}.bg-circle-left{width:400px;height:400px;background:var(--accent-primary);top:25%;left:10%;transform:translate(-50%,-50%);opacity:.2}[data-theme=dark] .bg-circle-left{opacity:.3}.bg-circle-right{width:400px;height:400px;background:var(--accent-secondary);top:80%;right:10%;transform:translate(50%,-50%);opacity:.2;animation:gentleSwingRight 6s ease-in-out infinite;animation-delay:-3s}[data-theme=dark] .bg-circle-right{opacity:.3}@keyframes gentleSwing{0%,to{transform:translate(-50%,50%) rotate(-3deg)}50%{transform:translate(-50%,-50%) rotate(3deg)}}@keyframes gentleSwingRight{0%,to{transform:translate(50%,-50%) rotate(3deg)}50%{transform:translate(50%,-100%) rotate(-3deg)}}.gradient-text{background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;background-size:200% 200%;animation:gradientShift 3s ease infinite}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.logo-gradient{background:linear-gradient(90deg,#0ad6e3,#f703ff,#0ad6e3);background-size:200% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:logoSwim 3s ease-in-out infinite}@keyframes logoSwim{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.btn-primary{background:var(--accent-gradient);border:none;color:#fff;padding:12px 24px;border-radius:50px;cursor:pointer;font-weight:600;font-size:14px;position:relative;overflow:hidden;z-index:1;transition:transform .3s ease,box-shadow .3s ease}.btn-primary:before{content:"";position:absolute;top:0;left:0;width:200%;height:100%;background:linear-gradient(90deg,transparent 0%,#F703FF 50%,transparent 100%);z-index:-1;transform:translate(-100%);transition:transform .6s ease}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 20px #0ad6e366}.btn-primary:hover:before{transform:translate(100%)}.btn-secondary{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);padding:10px 20px;border-radius:10px;font-size:14px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px}.btn-secondary:hover{border-color:var(--accent-primary);background:var(--bg-active)}.card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-card);transition:all .3s ease}.card:hover{border-color:#0ad6e34d;transform:translateY(-2px);box-shadow:var(--shadow-hover)}.card-header{display:flex;justify-content:space-between;align-items:center;padding:20px 25px;border-bottom:1px solid var(--border-light)}.card-title{font-size:18px;font-weight:600;color:var(--text-primary)}.card-action{font-size:14px;color:var(--accent-primary);text-decoration:none;transition:color .3s ease}.card-action:hover{color:var(--accent-secondary)}.card-body{padding:20px 25px}.status-badge{display:inline-block;padding:5px 12px;border-radius:20px;font-size:12px;font-weight:500}.status-badge.published{background:#34c75926;color:var(--status-success)}.status-badge.draft{background:#ff950026;color:var(--status-warning)}.status-badge.private{background:#8e8e9326;color:#8e8e93}.form-input{width:100%;padding:16px 20px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:12px;color:var(--text-primary);font-size:16px;transition:all .3s ease;outline:none}.form-input::placeholder{color:var(--text-tertiary)}.form-input:focus{border-color:var(--accent-primary);box-shadow:0 0 20px #0ad6e333;background:var(--bg-active)}.form-label{display:block;color:var(--text-secondary);font-size:14px;margin-bottom:10px;font-weight:500}.form-group{margin-bottom:24px}.remember-me{display:flex;align-items:center;gap:8px;cursor:pointer}.remember-me input{appearance:none;width:18px;height:18px;border:1px solid var(--border-color);border-radius:4px;cursor:pointer;transition:all .3s ease;background:transparent}.remember-me input:checked{background:var(--accent-gradient);border-color:var(--accent-primary)}.remember-me input:checked:after{content:"✓";display:block;text-align:center;color:#fff;font-size:12px;line-height:16px}.remember-me span{color:var(--text-secondary);font-size:14px}.link{color:var(--accent-primary);text-decoration:none;font-size:14px;transition:color .3s ease}.link:hover{color:var(--accent-secondary)}
