.neon-text-cyan{color:#6f8f7e;font-weight:600}.neon-text-pink{color:#3f6b57;font-weight:600}.neon-text-purple{color:#a45f45;font-weight:600}.neon-border-cyan{border:1px solid #81d4c44d;box-shadow:0 2px 12px #81d4c433}.neon-border-pink{border:1px solid #3f6b5733;box-shadow:0 2px 4px #1f2a2405,0 8px 24px #1f2a240f}.neon-border-purple{border:1px solid #c9b1ff4d;box-shadow:0 2px 12px #c9b1ff33}.cute-shadow{box-shadow:0 2px 4px #1f2a2405,0 8px 24px #1f2a240f}.cute-shadow-hover{transition:box-shadow .28s,transform .28s;box-shadow:0 2px 4px #1f2a2405,0 8px 24px #1f2a240f}.cute-shadow-hover:hover{transform:translateY(-4px);box-shadow:0 4px 8px #1f2a240a,0 16px 36px #1f2a241f}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes heart-beat{0%,to{transform:scale(1)}15%{transform:scale(1.15)}30%{transform:scale(1)}45%{transform:scale(1.1)}}@keyframes float{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-10px)rotate(3deg)}}@keyframes neon-glow{0%,to{opacity:1}50%{opacity:.7}}.bounce{animation:2s ease-in-out infinite bounce}.heart-beat{animation:1.5s ease-in-out infinite heart-beat}.float{animation:3s ease-in-out infinite float}.neon-glow{animation:2s ease-in-out infinite neon-glow}.cute-dot{background:#3f6b57;border-radius:50%;width:8px;height:8px;margin:0 4px;display:inline-block}.glass-card,.glass-panel{background:#fff;border:1px solid #dce2da;border-radius:8px;box-shadow:0 2px 4px #1f2a2405,0 8px 24px #1f2a240f}.glass-card{padding:24px;transition:border-color .28s,box-shadow .28s}.glass-card:hover{border-color:#3f6b5759;box-shadow:0 4px 8px #1f2a240a,0 16px 36px #1f2a241f}.glass-panel{padding:32px}@media (width<=767px){.glass-card,.glass-panel{padding:20px}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page-bg:#f7f7f2;--surface:#fff;--surface-muted:#ecefe8;--text-primary:#1f2a24;--text-secondary:#657168;--accent:#3f6b57;--accent-secondary:#a45f45;--glass-border:#dce2da;--card-shadow:0 2px 4px #1f2a2405, 0 8px 24px #1f2a240f;--glass-surface:#fff9;--header-glass:#f7f7f2c2;--header-glass-strong:#f7f7f2eb;--hairline:#1f2a2414;--accent-soft:#3f6b5717;--accent-line:#3f6b574d;--skeleton-base:#1f2a240d;--skeleton-hi:#1f2a241c;--skeleton-dot:#1f2a241f}html{scroll-behavior:smooth;touch-action:pan-x pan-y pinch-zoom;min-width:320px;scroll-padding-top:84px}body{touch-action:pan-x pan-y pinch-zoom;color:#1f2a24;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;background:#f7f7f2;min-width:320px;min-height:100vh;font-family:PingFang SC,Hiragino Sans GB,Noto Sans SC,Microsoft YaHei,Segoe UI,sans-serif;font-size:16px;line-height:1.7;overflow-x:hidden}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#ecefe8}::-webkit-scrollbar-thumb{background:#a8b3aa;border:3px solid #ecefe8;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#3f6b57}::selection{color:#1f2a24;background:#c89a464d}a{color:#3f6b57;text-decoration:none;transition:color .18s}a:hover{color:#2c4b3d}img{max-width:100%;height:auto;display:block}code,pre{font-family:SFMono-Regular,Cascadia Code,Fira Code,Consolas,monospace}.container{width:min(100% - 32px,1160px);margin-inline:auto}.flex-center{justify-content:center;align-items:center;display:flex}.flex-col{flex-direction:column;display:flex}.page-header{margin-bottom:36px}.page-title{letter-spacing:0;color:#1f2a24!important;text-shadow:none!important}.page-subtitle{color:#657168}:focus-visible{outline-offset:3px;outline:2px solid #3f6b57}html.theme-dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page-bg:#18201c;--surface:#222c27;--surface-muted:#29352f;--text-primary:#edf1ee;--text-secondary:#aeb9b1;--accent:#8fb29c;--accent-secondary:#d18a6f;--glass-border:#edf1ee14;--card-shadow:0 12px 28px #00000059;--glass-surface:#edf1ee0d;--header-glass:#18201cbd;--header-glass-strong:#18201ce6;--hairline:#edf1ee1a;--accent-soft:#8fb29c24;--accent-line:#8fb29c57;--skeleton-base:#edf1ee0d;--skeleton-hi:#edf1ee1c;--skeleton-dot:#edf1ee29}html.theme-dark body{color:#edf1ee;background:#18201c!important}html.theme-dark ::-webkit-scrollbar-track{background:#18201c}html.theme-dark ::-webkit-scrollbar-thumb{background:#39483f;border:3px solid #18201c}html.theme-dark ::-webkit-scrollbar-thumb:hover{background:#8fb29c}html.theme-dark .markdown-body img{border:1px solid #39483f;box-shadow:0 8px 28px #00000059}html.theme-dark .markdown-body hr{background:linear-gradient(90deg,#8fb29c,#d18a6f)}html.theme-dark .article-card,html.theme-dark .glass-card,html.theme-dark .glass-panel,html.theme-dark .comment-item,html.theme-dark .comment-form,html.theme-dark .tag-cloud,html.theme-dark .category-card,html.theme-dark .loading-state,html.theme-dark .skeleton-card,html.theme-dark .article-nav .nav-link{color:#edf1ee!important;background:#222c27!important;border-color:#39483f!important}html.theme-dark .card-meta,html.theme-dark .meta-item,html.theme-dark .comment-time,html.theme-dark .page-subtitle,html.theme-dark .landing__bio,html.theme-dark .logo-copy small,html.theme-dark .avatar-handle{color:#aeb9b1!important}html.theme-dark .app-header.is-scrolled{box-shadow:0 10px 30px #00000059!important}html.theme-dark .logo,html.theme-dark .card-title,html.theme-dark .comment-author,html.theme-dark h1,html.theme-dark h2,html.theme-dark h3,html.theme-dark h4{color:#edf1ee!important}html.theme-dark .page-title,html.theme-dark .article-title{color:#edf1ee!important;text-shadow:none!important}html.theme-dark .markdown-body{color:#dce4de}html.theme-dark .app-footer{background:#18201c!important;border-color:#39483f!important}html.theme-dark .loading-screen{background:#18201c!important}html.theme-dark .loading-screen .logo-text{color:#edf1ee!important}html.theme-dark .theme-toggle,html.theme-dark .back-to-top{color:#aeb9b1!important;background:#222c27!important;border-color:#39483f!important}html.theme-dark .markdown-body pre,html.theme-dark .markdown-body .code-block-wrapper pre{color:#dce4de!important;background:#121814!important;border-left-color:#8fb29c!important}html.theme-dark .markdown-body .code-block-wrapper .copy-btn,html.theme-dark .newsletter-input{color:#aeb9b1!important;background:#29352f!important;border-color:#39483f!important}html.theme-dark .markdown-body code{color:#b8d0c0!important;background:#8fb29c1f!important}html.theme-dark .markdown-body blockquote{background:#8fb29c14!important}html.theme-dark .markdown-body table{background:#222c27!important;border-color:#39483f!important}html.theme-dark .markdown-body th{background:#29352f!important;border-color:#39483f!important}html.theme-dark .markdown-body td{border-color:#39483f!important}html.theme-dark .markdown-body hr{opacity:.55}html.theme-dark .side-panel .section-divider{background:#39483f!important}html.theme-dark .side-panel .category-item:hover{background:#29352f!important}html.theme-dark .mermaid-container{background:#222c27!important}html.theme-dark .avatar-frame,html.theme-dark .avatar-frame__inner{background:#29352f!important}html.theme-dark .page-landing{color:#edf1ee}html.theme-dark .landing__name{color:#edf1ee!important}html.theme-dark .portrait-note{color:#aeb9b1!important;background:#222c27!important;border-color:#39483f!important}html.theme-dark .cta--primary{color:#18201c!important;background:#9ab8a5!important}html.theme-dark .cta--secondary{color:#8fb29c!important;background:#8fb29c14!important;border-color:#39483f!important}html.theme-dark .hero__side{background:#222c27!important;border-color:#39483f!important}html.theme-dark .hero__side .hero__social{background:#1e2823!important;border-top-color:#39483f!important}html.theme-dark .hero__social a{color:#aeb9b1!important;border-color:#39483f!important}html.theme-dark .hero__social a:hover{color:#8fb29c!important;background:#29352f!important}html.theme-dark .category-name,html.theme-dark .interest-field,html.theme-dark .nav-title{color:#edf1ee!important}html.theme-dark .category-count{color:#aeb9b1!important;background:#29352f!important;border-color:#39483f!important}html.theme-dark .card-icon{color:#8fb29c!important;background:#8fb29c1a!important;border-color:#39483f!important}html.theme-dark .state-message{color:#aeb9b1!important}html.theme-dark .particle-bg{display:none}html.theme-dark .tag-pill{color:#aeb9b1!important;background:#29352f!important;border-color:#39483f!important}html.theme-dark .tag-pill-more{color:#87938b!important}html.theme-dark .latest-section{border-color:#39483f!important}html.theme-dark .latest-title{color:#edf1ee!important}html.theme-dark .latest-subtitle,html.theme-dark .latest-eyebrow{color:#aeb9b1!important}html.theme-dark .latest-more{color:#8fb29c!important;background:#8fb29c1f!important;border-color:#39483f!important}html.theme-dark .latest-featured,html.theme-dark .latest-item,html.theme-dark .sk-item,html.theme-dark .latest-error,html.theme-dark .latest-empty{color:#edf1ee!important;background:#222c27!important;border-color:#39483f!important}html.theme-dark .latest-featured__title,html.theme-dark .latest-item__title{color:#edf1ee!important}html.theme-dark .latest-featured__excerpt,html.theme-dark .latest-item__excerpt,html.theme-dark .latest-item__date,html.theme-dark .latest-item__reading{color:#aeb9b1!important}html.theme-dark .latest-featured__cover--fallback{color:#8fb29c!important;background:#29352f!important}html.theme-dark .mini-tag{color:#aeb9b1!important;background:#29352f!important;border-color:#39483f!important}html.theme-dark .latest-item__cat{color:#d18a6f!important;background:#d18a6f1f!important;border-color:#d18a6f38!important}html.theme-dark .hero__stats{border-color:#39483f!important}html.theme-dark .stat{background:#222c27!important;border-color:#39483f!important}html.theme-dark .stat__value{color:#edf1ee!important}html.theme-dark .stat__label{color:#aeb9b1!important}html.theme-dark .work-section,html.theme-dark .live-card{background:#222c27!important;border-color:#edf1ee14!important;box-shadow:inset 0 1px #ffffff0d,0 12px 28px #00000059!important}html.theme-dark .work-left{background:#1e2823!important;border-color:#39483f!important}html.theme-dark .work-big,html.theme-dark .work-h3,html.theme-dark .live-card__title,html.theme-dark .live-card__strong,html.theme-dark .live-title{color:#edf1ee!important}html.theme-dark .work-p,html.theme-dark .live-card__desc,html.theme-dark .live-card__meta,html.theme-dark .work-sub,html.theme-dark .live-subtitle{color:#aeb9b1!important}html.theme-dark .work-codes code{color:#8fb29c!important;background:#8fb29c1f!important;border-color:#39483f!important}@media (width<=767px){body{font-size:15px}.container{width:min(100% - 24px,1160px)}.page-header{margin-bottom:28px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.theme-toggle[data-v-4a7d7383]{color:#657168;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;flex:0 0 40px;justify-content:center;align-items:center;width:40px;height:40px;padding:0;transition:color .18s,background .18s,border-color .18s;display:inline-flex}.theme-toggle svg[data-v-4a7d7383]{width:18px;height:18px}.theme-toggle[data-v-4a7d7383]:hover{color:#3f6b57;background:#ecefe8;border-color:#dce2da}.theme-toggle--floating[data-v-4a7d7383]{z-index:999;background:#fff;border-color:#dce2da;position:fixed;bottom:20px;right:20px;box-shadow:0 2px 4px #1f2a2405,0 8px 24px #1f2a240f}.app-header[data-v-c3d0c5fd]{z-index:1000;background:var(--header-glass);border-bottom:1px solid var(--hairline);-webkit-backdrop-filter:blur(16px)saturate(1.4);height:68px;transition:background .28s,border-color .28s,box-shadow .28s;position:fixed;inset:0 0 auto}.app-header.is-scrolled[data-v-c3d0c5fd]{background:var(--header-glass-strong);border-bottom-color:var(--hairline);box-shadow:0 10px 30px #1f2a2412}.header-inner[data-v-c3d0c5fd]{align-items:center;gap:28px;width:min(100% - 40px,1160px);height:100%;margin-inline:auto;display:flex}.logo[data-v-c3d0c5fd]{min-width:max-content;color:var(--text-primary);align-items:center;gap:10px;margin-right:auto;text-decoration:none;display:inline-flex}.logo-mark[data-v-c3d0c5fd]{object-fit:cover;border-radius:50%;flex:0 0 38px;width:38px;height:38px;display:block}.logo-copy[data-v-c3d0c5fd]{flex-direction:column;line-height:1.05;display:flex}.logo-copy strong[data-v-c3d0c5fd]{color:inherit;letter-spacing:.02em;font-size:.98rem;font-weight:700}.logo-copy small[data-v-c3d0c5fd]{color:var(--text-secondary);letter-spacing:.12em;white-space:nowrap;margin-top:5px;font-family:SFMono-Regular,Cascadia Code,Fira Code,Consolas,monospace;font-size:.56rem}.nav-desktop[data-v-c3d0c5fd]{align-items:center;gap:2px;display:flex}.nav-link[data-v-c3d0c5fd]{height:40px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;padding:0 12px;font-size:.88rem;text-decoration:none;transition:color .18s,background .18s,transform .12s;display:inline-flex;position:relative}.nav-link[data-v-c3d0c5fd]:after{content:"";background:0 0;border-radius:2px;height:2px;transition:background .18s;position:absolute;bottom:2px;left:14px;right:14px}.nav-link[data-v-c3d0c5fd]:hover{color:var(--text-primary);background:var(--accent-soft)}.nav-link[data-v-c3d0c5fd]:active{transform:scale(.96)}.nav-link.router-link-exact-active[data-v-c3d0c5fd],.nav-link.is-active[data-v-c3d0c5fd]{color:var(--accent);font-weight:600}.nav-link.router-link-exact-active[data-v-c3d0c5fd]:after{background:var(--accent)}.nav-more[data-v-c3d0c5fd]{position:relative}.nav-more__button[data-v-c3d0c5fd]{gap:3px}.nav-more__button svg[data-v-c3d0c5fd]{fill:none;stroke:currentColor;stroke-width:2px;width:15px;height:15px}.more-menu[data-v-c3d0c5fd]{background:var(--surface);border:1px solid var(--glass-border);border-radius:8px;width:230px;padding:8px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 4px 8px #1f2a240a,0 16px 36px #1f2a241f}.more-menu__link[data-v-c3d0c5fd]{color:var(--text-primary);border-radius:6px;justify-content:space-between;align-items:center;gap:16px;padding:10px 11px;font-size:.9rem;transition:color .18s,background .18s;display:flex}.more-menu__link small[data-v-c3d0c5fd]{color:var(--text-secondary);font-size:.72rem}.more-menu__link[data-v-c3d0c5fd]:hover{color:var(--accent);background:var(--surface-muted)}.header-actions[data-v-c3d0c5fd]{align-items:center;gap:2px;display:flex}.login-btn[data-v-c3d0c5fd]{height:40px;color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;margin-right:6px;padding:0 14px;font-size:.85rem;font-weight:600;transition:color .18s,background .18s,border-color .18s,transform .12s}.login-btn[data-v-c3d0c5fd]:hover{color:var(--accent);background:var(--accent-soft);border-color:var(--accent-line)}.login-btn[data-v-c3d0c5fd]:active{transform:scale(.96)}.user-menu[data-v-c3d0c5fd]{margin-right:4px;position:relative}.user-trigger[data-v-c3d0c5fd]{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:8px;height:38px;padding:0 12px 0 5px;transition:background .18s,border-color .18s;display:inline-flex}.user-trigger[data-v-c3d0c5fd]:hover{background:var(--accent-soft);border-color:var(--accent-line)}.user-avatar[data-v-c3d0c5fd]{color:#fff;background:var(--accent);text-transform:uppercase;border-radius:50%;flex:0 0 28px;place-items:center;width:28px;height:28px;font-size:.78rem;font-weight:700;display:grid}.user-name[data-v-c3d0c5fd]{max-width:96px;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;overflow:hidden}.user-panel[data-v-c3d0c5fd]{background:var(--surface);border:1px solid var(--glass-border);border-radius:8px;width:248px;padding:10px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 4px 8px #1f2a240a,0 16px 36px #1f2a241f}.user-panel__row[data-v-c3d0c5fd]{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;gap:10px;padding:8px 8px 10px;display:flex}.user-panel__id[data-v-c3d0c5fd]{flex-direction:column;min-width:0;display:flex}.user-panel__id strong[data-v-c3d0c5fd]{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.user-panel__id small[data-v-c3d0c5fd]{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:.72rem;overflow:hidden}.panel-link[data-v-c3d0c5fd]{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;flex:none;padding:4px 6px;font-size:.76rem;transition:color .18s}.panel-link[data-v-c3d0c5fd]:hover{color:var(--accent)}.nick-form[data-v-c3d0c5fd]{border-bottom:1px solid var(--hairline);flex-direction:column;gap:8px;padding:10px 8px;display:flex}.nick-input[data-v-c3d0c5fd]{width:100%;height:36px;color:var(--text-primary);background:var(--page-bg);border:1px solid var(--glass-border);border-radius:6px;outline:none;padding:0 10px;font-size:.85rem;transition:border-color .18s}.nick-input[data-v-c3d0c5fd]:focus{border-color:var(--accent)}.nick-error[data-v-c3d0c5fd]{color:#d64545;font-size:.74rem}.nick-actions[data-v-c3d0c5fd]{justify-content:flex-end;align-items:center;gap:6px;display:flex}.panel-primary[data-v-c3d0c5fd]{color:#fff;background:var(--accent);cursor:pointer;border:0;border-radius:6px;height:32px;padding:0 14px;font-size:.78rem;font-weight:600}.panel-primary[data-v-c3d0c5fd]:disabled{opacity:.55;cursor:not-allowed}.panel-row[data-v-c3d0c5fd]{width:100%;color:var(--text-primary);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;margin-top:6px;padding:9px 8px;font-size:.82rem;transition:background .18s;display:flex}.panel-row small[data-v-c3d0c5fd]{color:var(--text-secondary);font-size:.72rem}.panel-row[data-v-c3d0c5fd]:hover:not(:disabled){background:var(--surface-muted)}.panel-row[data-v-c3d0c5fd]:disabled{opacity:.55;cursor:not-allowed}.panel-logout[data-v-c3d0c5fd]{width:100%;color:var(--text-secondary);text-align:center;cursor:pointer;background:0 0;border:0;border-radius:6px;margin-top:2px;padding:9px;font-size:.82rem;transition:color .18s,background .18s}.panel-logout[data-v-c3d0c5fd]:hover{color:#d64545;background:var(--surface-muted)}.drawer-account[data-v-c3d0c5fd]{border-top:1px solid var(--glass-border);flex-direction:column;gap:10px;padding:16px 0 4px;display:flex}.drawer-account__id[data-v-c3d0c5fd]{align-items:center;gap:10px;display:flex}.drawer-account__id div[data-v-c3d0c5fd]{flex-direction:column;min-width:0;display:flex}.drawer-account__id strong[data-v-c3d0c5fd]{color:var(--text-primary);font-size:.92rem}.drawer-account__id small[data-v-c3d0c5fd]{color:var(--text-secondary);text-overflow:ellipsis;font-size:.74rem;overflow:hidden}.drawer-account__btn[data-v-c3d0c5fd]{height:42px;color:var(--text-secondary);background:var(--page-bg);border:1px solid var(--glass-border);cursor:pointer;border-radius:8px;font-size:.88rem}.drawer-account__btn--primary[data-v-c3d0c5fd]{color:#fff;background:var(--accent);border-color:var(--accent);font-weight:600}.icon-button[data-v-c3d0c5fd],.hamburger[data-v-c3d0c5fd]{width:40px;height:40px;color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;flex:0 0 40px;justify-content:center;align-items:center;padding:0;transition:color .18s,background .18s,border-color .18s,transform .12s;display:inline-flex}.icon-button[data-v-c3d0c5fd]:hover,.hamburger[data-v-c3d0c5fd]:hover{color:var(--accent);background:var(--accent-soft);border-color:var(--accent-line)}.icon-button[data-v-c3d0c5fd]:active,.hamburger[data-v-c3d0c5fd]:active{transform:scale(.92)}.icon-button svg[data-v-c3d0c5fd]{width:18px;height:18px}.hamburger[data-v-c3d0c5fd]{flex-direction:column;gap:4px;display:none}.hamburger span[data-v-c3d0c5fd]{background:currentColor;border-radius:2px;width:18px;height:2px;transition:transform .28s,opacity .28s;display:block}.hamburger.active span[data-v-c3d0c5fd]:first-child{transform:translateY(6px)rotate(45deg)}.hamburger.active span[data-v-c3d0c5fd]:nth-child(2){opacity:0}.hamburger.active span[data-v-c3d0c5fd]:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.drawer-overlay[data-v-c3d0c5fd]{z-index:998;background:#17201b6b;border:0;width:100%;height:100%;position:fixed;inset:0}.drawer[data-v-c3d0c5fd]{z-index:999;width:min(360px,100vw - 28px);height:100svh;padding:24px 20px calc(24px + env(safe-area-inset-bottom));background:var(--surface);border-left:1px solid var(--glass-border);position:fixed;inset:0 0 0 auto;overflow-y:auto;box-shadow:-16px 0 40px #1f2a2429}.drawer-head[data-v-c3d0c5fd]{border-bottom:1px solid var(--glass-border);justify-content:space-between;align-items:center;gap:20px;min-height:64px;padding-bottom:18px;display:flex}.drawer-head strong[data-v-c3d0c5fd]{color:var(--text-primary);font-size:1.05rem}.drawer-head p[data-v-c3d0c5fd]{color:var(--text-secondary);margin-top:3px;font-size:.78rem}.drawer-nav[data-v-c3d0c5fd]{grid-template-columns:1fr 1fr;gap:6px;padding:20px 0;display:grid}.drawer-link[data-v-c3d0c5fd]{min-height:48px;color:var(--text-primary);background:var(--page-bg);border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;padding:0 13px;font-size:.92rem;transition:color .18s,background .18s,border-color .18s,transform .12s;display:flex}.drawer-link svg[data-v-c3d0c5fd]{fill:none;stroke:currentColor;stroke-width:2px;width:15px;height:15px;transition:stroke .18s}.drawer-link[data-v-c3d0c5fd]:active{transform:scale(.97)}.drawer-link[data-v-c3d0c5fd]:hover,.drawer-link.router-link-exact-active[data-v-c3d0c5fd]{color:var(--accent);background:var(--surface-muted);border-color:var(--accent-line)}.drawer-link:hover svg[data-v-c3d0c5fd],.drawer-link.router-link-exact-active svg[data-v-c3d0c5fd]{stroke:var(--accent)}.drawer-foot[data-v-c3d0c5fd]{border-top:1px solid var(--glass-border);gap:20px;padding-top:18px;font-size:.82rem;display:flex}.menu-enter-active[data-v-c3d0c5fd],.menu-leave-active[data-v-c3d0c5fd],.fade-enter-active[data-v-c3d0c5fd],.fade-leave-active[data-v-c3d0c5fd]{transition:opacity .18s,transform .18s}.menu-enter-from[data-v-c3d0c5fd],.menu-leave-to[data-v-c3d0c5fd]{opacity:0;transform:translateY(-6px)}.fade-enter-from[data-v-c3d0c5fd],.fade-leave-to[data-v-c3d0c5fd]{opacity:0}.slide-enter-active[data-v-c3d0c5fd],.slide-leave-active[data-v-c3d0c5fd]{transition:transform .28s}.slide-enter-from[data-v-c3d0c5fd],.slide-leave-to[data-v-c3d0c5fd]{transform:translate(100%)}@media (width<=899px){.app-header[data-v-c3d0c5fd]{height:62px}.header-inner[data-v-c3d0c5fd]{gap:10px;width:calc(100% - 24px)}.nav-desktop[data-v-c3d0c5fd],.desktop-theme[data-v-c3d0c5fd]{display:none}.hamburger[data-v-c3d0c5fd]{display:inline-flex}.logo-mark[data-v-c3d0c5fd]{flex:0 0 34px;width:34px;height:34px}.logo-copy small[data-v-c3d0c5fd]{letter-spacing:.06em}.search-button[data-v-c3d0c5fd],.user-name[data-v-c3d0c5fd]{display:none}.user-trigger[data-v-c3d0c5fd]{padding:0 6px 0 4px}.login-btn[data-v-c3d0c5fd]{height:34px;margin-right:2px;padding:0 13px;font-size:.8rem}}@media (width<=420px){.drawer-nav[data-v-c3d0c5fd]{grid-template-columns:1fr}}.app-footer[data-v-49c0d5a2]{background:#ffffff61;border-top:1px solid #dce2da;margin-top:72px;padding:24px 0}.footer-inner[data-v-49c0d5a2]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;width:min(100% - 40px,1160px);max-width:1200px;margin:0 auto;display:flex}@media (width<=767px){.footer-inner[data-v-49c0d5a2]{text-align:center;flex-direction:column}}.footer-left[data-v-49c0d5a2],.footer-right[data-v-49c0d5a2]{color:#657168;align-items:center;gap:8px;font-size:.8rem;display:flex}.divider[data-v-49c0d5a2]{opacity:.3}.footer-legal[data-v-49c0d5a2]{align-items:center;gap:18px;font-size:.8rem;display:flex}.footer-legal__link[data-v-49c0d5a2]{color:#657168;text-decoration:none;transition:color .18s}.footer-legal__link[data-v-49c0d5a2]:hover,.footer-legal__link.router-link-exact-active[data-v-49c0d5a2]{color:#3f6b57}.footer-link[data-v-49c0d5a2]{color:#657168;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;text-decoration:none;transition:color .18s;display:inline-flex}.footer-link[data-v-49c0d5a2]:hover{color:#3f6b57;background:#ecefe8}.rss-link[data-v-49c0d5a2]:hover{color:#f26522}.runtime[data-v-49c0d5a2]{opacity:.6;font-family:SFMono-Regular,Cascadia Code,Fira Code,Consolas,monospace}@media (width<=767px){.app-footer[data-v-49c0d5a2]{margin-top:48px;padding:22px 0}.footer-inner[data-v-49c0d5a2]{gap:12px;width:calc(100% - 24px)}.footer-left[data-v-49c0d5a2]{flex-wrap:wrap;justify-content:center}.footer-legal[data-v-49c0d5a2]{flex-wrap:wrap;order:-1;justify-content:center;gap:8px 16px}}.back-to-top[data-v-4275fdd3]{z-index:998;color:#3f6b57;cursor:pointer;background:#fffffff0;border:1px solid #dce2da;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;transition:transform .28s,box-shadow .28s,border-color .28s;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 2px 4px #1f2a2405,0 8px 24px #1f2a240f}.back-to-top[data-v-4275fdd3]:hover{border-color:#3f6b57;transform:translateY(-3px);box-shadow:0 4px 8px #1f2a240a,0 16px 36px #1f2a241f}.back-to-top[data-v-4275fdd3]:active{transform:scale(.95)}@media (width<=767px){.back-to-top[data-v-4275fdd3]{width:40px;height:40px;bottom:16px;right:14px}}.fade-enter-active[data-v-4275fdd3],.fade-leave-active[data-v-4275fdd3]{transition:opacity .35s,transform .35s}.fade-enter-from[data-v-4275fdd3],.fade-leave-to[data-v-4275fdd3]{opacity:0;transform:translateY(8px)}.reading-progress[data-v-d4c337af]{z-index:1001;pointer-events:none;background:linear-gradient(90deg,#3f6b57,#a45f45);height:3px;transition:width .1s linear;position:fixed;top:0;left:0}.login-overlay[data-v-2dff87fb]{z-index:1100;-webkit-backdrop-filter:blur(6px);background:#121a1580;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.login-card[data-v-2dff87fb]{background:var(--surface);border:1px solid var(--glass-border);border-radius:18px;width:min(100%,392px);padding:30px 28px 22px;position:relative;box-shadow:0 4px 8px #1f2a240a,0 16px 36px #1f2a241f}.close-btn[data-v-2dff87fb]{width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;justify-content:center;align-items:center;transition:color .18s,background .18s,border-color .18s;display:inline-flex;position:absolute;top:14px;right:14px}.close-btn svg[data-v-2dff87fb]{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:16px;height:16px}.close-btn[data-v-2dff87fb]:hover{color:var(--text-primary);background:var(--surface-muted);border-color:var(--hairline)}.login-head[data-v-2dff87fb]{margin-bottom:18px}.login-head h2[data-v-2dff87fb]{color:var(--text-primary);letter-spacing:.01em;font-size:1.18rem;font-weight:700}.login-head p[data-v-2dff87fb]{color:var(--text-secondary);margin-top:6px;font-size:.84rem;line-height:1.5}.login-head p strong[data-v-2dff87fb]{color:var(--text-primary);font-weight:600}.login-error[data-v-2dff87fb]{color:#d64545;background:#d6454514;border:1px solid #d645452e;border-radius:8px;margin-bottom:12px;padding:8px 11px;font-size:.82rem;line-height:1.5}.login-form[data-v-2dff87fb]{flex-direction:column;gap:10px;display:flex}.login-input[data-v-2dff87fb]{width:100%;height:44px;color:var(--text-primary);background:var(--page-bg);border:1px solid var(--glass-border);border-radius:10px;outline:none;padding:0 14px;font-family:SFMono-Regular,Cascadia Code,Fira Code,Consolas,monospace;font-size:.92rem;transition:border-color .18s,box-shadow .18s}.login-input[data-v-2dff87fb]::placeholder{color:var(--text-secondary);opacity:.7}.login-input[data-v-2dff87fb]:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.code-input[data-v-2dff87fb]{text-align:center;letter-spacing:.32em;font-size:1.05rem}.primary-btn[data-v-2dff87fb]{color:#fff;background:var(--accent);border:1px solid var(--accent);cursor:pointer;border-radius:10px;height:44px;font-size:.92rem;font-weight:600;transition:opacity .18s,transform .12s}.primary-btn[data-v-2dff87fb]:hover:not(:disabled){opacity:.92}.primary-btn[data-v-2dff87fb]:active:not(:disabled){transform:scale(.985)}.primary-btn[data-v-2dff87fb]:disabled{opacity:.45;cursor:not-allowed}.code-actions[data-v-2dff87fb]{justify-content:space-between;margin-top:2px;display:flex}.link-btn[data-v-2dff87fb]{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;padding:0;font-size:.8rem;transition:color .18s}.link-btn[data-v-2dff87fb]:hover:not(:disabled){color:var(--accent)}.link-btn[data-v-2dff87fb]:disabled{opacity:.55;cursor:not-allowed}.divider[data-v-2dff87fb]{text-align:center;margin:22px 0 16px;position:relative}.divider[data-v-2dff87fb]:before{content:"";background:var(--hairline);height:1px;position:absolute;top:50%;left:0;right:0}.divider span[data-v-2dff87fb]{color:var(--text-secondary);background:var(--surface);padding:0 10px;font-size:.76rem;position:relative}.oauth-row[data-v-2dff87fb]{grid-template-columns:1fr 1fr;gap:10px;display:grid}.oauth-btn[data-v-2dff87fb]{height:42px;color:var(--text-primary);background:var(--page-bg);border:1px solid var(--glass-border);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:8px;font-size:.88rem;font-weight:600;transition:border-color .18s,background .18s,transform .12s;display:inline-flex}.oauth-btn[data-v-2dff87fb]:hover{background:var(--surface-muted);border-color:var(--accent-line)}.oauth-btn[data-v-2dff87fb]:active{transform:scale(.98)}.oauth-icon[data-v-2dff87fb]{flex:0 0 16px;width:16px;height:16px}.login-foot[data-v-2dff87fb]{color:var(--text-secondary);text-align:center;margin-top:18px;font-size:.76rem;line-height:1.6}.login-fade-enter-active[data-v-2dff87fb],.login-fade-leave-active[data-v-2dff87fb]{transition:opacity .18s}.login-fade-enter-from[data-v-2dff87fb],.login-fade-leave-to[data-v-2dff87fb]{opacity:0}@media (width<=480px){.login-card[data-v-2dff87fb]{padding:26px 20px 18px}}.main-content{min-height:calc(100vh - 120px);padding-top:68px}.main-content--admin{min-height:100vh;padding-top:0}.page-enter-active,.page-leave-active{transition:opacity .25s,transform .25s}.page-enter-from{opacity:0;transform:translateY(12px)}.page-leave-to{opacity:0;transform:translateY(-12px)}@media (width<=899px){.main-content{padding-top:62px}}
