.comments-section{margin-top:4rem;padding-top:3rem;border-top:2px solid var(--border-color)}.comments-header{margin-bottom:2rem;display:flex;justify-content:space-between;align-items:center}.comments-sort select{padding:.5rem 1rem;border:1px solid var(--border-color);border-radius:.5rem;background:var(--card-bg);color:var(--text-primary);font-size:.875rem;cursor:pointer;outline:none}.comments-sort select:hover{border-color:#6eb5ff}.comments-sort select:focus{border-color:#6eb5ff;box-shadow:0 0 0 2px #6eb5ff33}.comments-title{font-size:1.75rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:.75rem;margin:0}.title-icon{font-size:1.75rem}.comments-count{font-size:1rem;color:var(--text-muted);font-weight:500;background:var(--tag-bg);padding:.25rem .75rem;border-radius:1rem}.comment-form-container{margin-top:2rem;margin-bottom:2rem}.comment-form{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.comment-input{width:100%;border:none;padding:1rem;font-size:.9375rem;font-family:inherit;color:var(--text-primary);background:transparent;resize:none;min-height:60px}.comment-input:focus{outline:none}.comment-input:disabled{opacity:.6;cursor:not-allowed}.form-footer{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;border-top:1px solid var(--border-color)}.char-count{font-size:.8125rem;color:var(--text-muted)}.form-actions{display:flex;align-items:center;gap:.75rem}.login-btn{background:none;border:none;color:#6eb5ff;font-size:.875rem;cursor:pointer;padding:0}.login-btn:hover{text-decoration:underline}.submit-btn{padding:.375rem 1rem;background:transparent;color:var(--text-muted);border:none;font-size:.875rem;font-weight:500;cursor:pointer;transition:color .2s}.submit-btn:hover:not(:disabled){color:#667eea}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.comments-list{display:flex;flex-direction:column;gap:1.5rem}.loading-comments{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:3rem;color:var(--text-muted)}.spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:#667eea;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-comments{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:3rem 1.5rem;color:var(--text-muted);text-align:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;margin-bottom:1.5rem}.empty-comments svg{opacity:.5;color:#667eea}.empty-comments p{font-size:1.05rem;margin:0}.comment-item{display:flex;gap:.75rem;padding:1rem 0;border-bottom:1px solid var(--border-color)}.comment-item:last-child{border-bottom:none}.comment-avatar{width:40px!important;height:40px!important;min-width:40px!important;max-width:40px!important;min-height:40px!important;max-height:40px!important;border-radius:50%!important;background:linear-gradient(135deg,#667eea,#764ba2);display:flex!important;align-items:center!important;justify-content:center!important;color:#fff;flex-shrink:0!important;overflow:visible!important;font-size:1rem;font-weight:600;position:relative}.comment-avatar img.avatar-img{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;max-width:40px!important;max-height:40px!important;border-radius:50%!important;object-fit:cover!important;display:block!important}.comment-avatar .frame-overlay{position:absolute;top:-4px;left:-4px;width:48px;height:48px;pointer-events:none}.comment-body{flex:1;min-width:0}.comment-author{font-weight:500;color:#6eb5ff;font-size:.9375rem;margin-bottom:.375rem}.comment-content{color:var(--text-primary);line-height:1.6;word-break:break-word;font-size:.9375rem}.mention{color:#6eb5ff;font-weight:500}.comment-meta{display:flex;align-items:center;justify-content:space-between;margin-top:.5rem}.comment-time{color:var(--text-muted);font-size:.8125rem}.comment-actions{display:flex;align-items:center;gap:.75rem}.comment-action-btn{background:transparent;border:none;color:var(--text-muted);font-size:.8125rem;cursor:pointer;padding:0;display:flex;align-items:center;gap:.25rem;transition:color .2s}.comment-action-btn:hover{color:#6eb5ff}.comment-action-btn.delete:hover,.comment-action-btn.like.liked{color:#ef4444}.comment-action-btn.like.liked svg{fill:#ef4444}.comment-action-btn svg{width:16px;height:16px}.like-count{font-size:.8125rem}.inline-reply-form{margin-top:.75rem;display:none}.inline-reply-form.active{display:block}.inline-reply-form textarea{width:100%;border:1px solid var(--border-color);border-radius:8px;padding:.75rem;font-size:.875rem;font-family:inherit;color:var(--text-primary);background:var(--bg-primary);resize:vertical;min-height:80px;margin-bottom:.75rem}.inline-reply-form textarea:focus{outline:none;border-color:#667eea}.inline-reply-actions{display:flex;justify-content:flex-end;gap:.5rem}.inline-reply-actions button{padding:.5rem 1rem;border-radius:6px;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .2s}.inline-cancel-btn{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary)}.inline-cancel-btn:hover{background:var(--border-color)}.inline-submit-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff}.inline-submit-btn:hover{opacity:.9}.inline-submit-btn:disabled{opacity:.5;cursor:not-allowed}.comment-replies{margin-top:.5rem;margin-left:12px}.comment-replies.collapsed{display:none}.replies-toggle{display:block;margin-left:12px;margin-top:.5rem;padding:.5rem 0;background:none;border:none;color:#6eb5ff;font-size:.875rem;cursor:pointer}.replies-toggle:hover{text-decoration:underline}.login-to-view-more{text-align:center;padding:1.5rem;color:var(--text-muted);font-size:.9375rem;border-top:1px solid var(--border-color);margin-top:1rem}.login-to-view-more .login-link{background:none;border:none;color:#6eb5ff;font-size:inherit;cursor:pointer;padding:0}.login-to-view-more .login-link:hover{text-decoration:underline}.comment-replies .comment-item,.comment-replies .reply-item{padding:.75rem 0}.comment-replies .comment-avatar{width:28px!important;height:28px!important;min-width:28px!important;max-width:28px!important;min-height:28px!important;max-height:28px!important;font-size:.75rem}.comment-replies .comment-avatar img.avatar-img{width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;max-width:28px!important;max-height:28px!important}.comment-replies .comment-avatar .frame-overlay{top:-3px;left:-3px;width:34px;height:34px}@media(max-width:768px){.comments-section{margin-top:3rem;padding-top:2rem}.comments-title{font-size:1.5rem}.comment-form,.comment-item{padding:1rem}.comment-replies{margin-left:1.5rem;padding-left:.75rem}}.blog-post[data-astro-cid-bvzihdzo]{max-width:800px;margin:0 auto}.post-header[data-astro-cid-bvzihdzo]{margin-bottom:3rem;padding-bottom:2rem;border-bottom:2px solid var(--border-color)}.series-badge[data-astro-cid-bvzihdzo]{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:linear-gradient(135deg,#667eea1a,#764ba21a);border:1px solid rgba(102,126,234,.3);border-radius:20px;margin-bottom:1.5rem;transition:all .3s ease}.series-badge[data-astro-cid-bvzihdzo]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea33}.badge-icon[data-astro-cid-bvzihdzo]{font-size:1.2rem}.series-link[data-astro-cid-bvzihdzo]{color:var(--link-color);text-decoration:none;font-weight:500;font-size:.95rem}.series-link[data-astro-cid-bvzihdzo]:hover{color:var(--link-hover);text-decoration:underline}.post-header[data-astro-cid-bvzihdzo] h1[data-astro-cid-bvzihdzo]{font-size:2.5rem;font-weight:800;margin-bottom:1rem;line-height:1.2;color:var(--text-primary)}.post-meta[data-astro-cid-bvzihdzo]{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;color:var(--text-muted);font-size:.95rem;margin-bottom:1rem}.updated[data-astro-cid-bvzihdzo]{font-style:italic}.tags[data-astro-cid-bvzihdzo]{display:flex;flex-wrap:wrap;gap:.5rem}.tag[data-astro-cid-bvzihdzo]{background:var(--tag-bg);color:var(--tag-color);padding:.375rem .875rem;border-radius:.5rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:all .2s ease}.tag[data-astro-cid-bvzihdzo]:hover{background:var(--link-color);color:#fff;transform:translateY(-2px)}.share-buttons[data-astro-cid-bvzihdzo]{display:flex;align-items:center;gap:.75rem;margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--border-color)}.share-label[data-astro-cid-bvzihdzo]{font-size:.875rem;color:var(--text-muted)}.share-btn[data-astro-cid-bvzihdzo]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:50%;cursor:pointer;transition:all .2s;color:#fff}.share-btn[data-astro-cid-bvzihdzo]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.share-btn[data-astro-cid-bvzihdzo].twitter{background:#000}.share-btn[data-astro-cid-bvzihdzo].weibo{background:#e6162d}.share-btn[data-astro-cid-bvzihdzo].wechat{background:#07c160}.share-btn[data-astro-cid-bvzihdzo].qq{background:#12b7f5}.share-btn[data-astro-cid-bvzihdzo].linkedin{background:#0077b5}.share-btn[data-astro-cid-bvzihdzo].copy{background:var(--text-muted)}.share-btn[data-astro-cid-bvzihdzo].copy.copied{background:#10b981}.prose[data-astro-cid-bvzihdzo]{font-size:1.125rem;line-height:1.8;color:var(--text-secondary)}.prose[data-astro-cid-bvzihdzo] h2{font-size:2rem;font-weight:700;margin-top:3rem;margin-bottom:1rem;color:var(--text-primary)}.prose[data-astro-cid-bvzihdzo] h3{font-size:1.5rem;font-weight:600;margin-top:2rem;margin-bottom:.75rem;color:var(--text-primary)}.prose[data-astro-cid-bvzihdzo] p{margin-bottom:1.5rem}.prose[data-astro-cid-bvzihdzo] a{color:var(--link-color);text-decoration:underline;transition:color .2s}.prose[data-astro-cid-bvzihdzo] a:hover{color:var(--link-hover)}.prose[data-astro-cid-bvzihdzo] code{background:var(--tag-bg);padding:.2rem .4rem;border-radius:.25rem;font-size:.9em;font-family:Courier New,monospace}.prose[data-astro-cid-bvzihdzo] pre{position:relative;background:var(--card-bg);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem 1.75rem;overflow-x:auto;margin:2rem 0}.prose[data-astro-cid-bvzihdzo] pre code{background:none;padding:0}.prose[data-astro-cid-bvzihdzo] pre .copy-button{position:absolute;top:.75rem;right:.75rem;padding:.5rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-muted);cursor:pointer;opacity:0;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.prose[data-astro-cid-bvzihdzo] pre:hover .copy-button{opacity:1}.prose[data-astro-cid-bvzihdzo] pre .copy-button:hover{background:var(--link-color);color:#fff;border-color:var(--link-color)}.prose[data-astro-cid-bvzihdzo] pre .copy-button.copied{background:#22c55e;color:#fff;border-color:#22c55e}.prose[data-astro-cid-bvzihdzo] pre .copy-button svg{width:16px;height:16px}.prose[data-astro-cid-bvzihdzo] blockquote{border-left:4px solid var(--link-color);padding-left:1.5rem;margin:2rem 0;font-style:italic;color:var(--text-muted)}.prose[data-astro-cid-bvzihdzo] ul,.prose[data-astro-cid-bvzihdzo] ol{margin-left:0;margin-bottom:1.5rem;padding-left:2rem;list-style-position:outside}.prose[data-astro-cid-bvzihdzo] ol{list-style-type:decimal}.prose[data-astro-cid-bvzihdzo] ul{list-style-type:disc}.prose[data-astro-cid-bvzihdzo] li{margin-bottom:.5rem;padding-left:.5rem}.prose[data-astro-cid-bvzihdzo] img{max-width:100%;height:auto;border-radius:.5rem;margin:2rem 0}@media(max-width:768px){.post-header[data-astro-cid-bvzihdzo] h1[data-astro-cid-bvzihdzo]{font-size:2rem}.prose[data-astro-cid-bvzihdzo]{font-size:1rem}}.wechat-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;z-index:9999;justify-content:center;align-items:center;backdrop-filter:blur(4px)}.wechat-modal.active{display:flex}.wechat-modal-content{background:var(--card-bg, #1e293b);border-radius:16px;padding:2rem;text-align:center;position:relative;max-width:320px;width:90%;box-shadow:0 20px 60px #0000004d;animation:wechatModalFadeIn .3s ease}@keyframes wechatModalFadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.wechat-modal-close{position:absolute;top:12px;right:12px;background:none;border:none;font-size:24px;color:var(--text-muted, #94a3b8);cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.wechat-modal-close:hover{background:var(--hover-bg, rgba(255,255,255,.1));color:var(--text-primary, #fff)}.wechat-modal-content h3{margin:0 0 1.5rem;font-size:1.25rem;color:var(--text-primary, #fff)}.qrcode-container{background:#fff;padding:16px;border-radius:12px;display:inline-block;margin-bottom:1rem}.qrcode-container img{width:180px;height:180px;display:block}.wechat-tip{margin:0;font-size:.875rem;color:var(--text-muted, #94a3b8)}
