.comments{border-top:1px solid var(--ln-border);margin-top:44px;padding-top:28px}.comments-title{color:var(--ln-fg);align-items:baseline;gap:6px;margin:0 0 18px;font-size:17px;display:flex}.comments-count{color:var(--ln-fg-muted);font-size:13px;font-weight:400}.comments-list{flex-direction:column;gap:0;display:flex}.comments-loading,.comments-empty{text-align:center;color:var(--ln-fg-muted);margin:0;padding:18px 0;font-size:13px}.comment-item{gap:12px;padding:14px 0;display:flex}.comment-avatar{background:var(--ln-accent-soft);width:36px;height:36px;color:var(--ln-accent);font-family:var(--font-title);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex;overflow:hidden}.comments .comment-avatar-img{object-fit:cover;border:none;width:100%;height:100%;margin:0}.comment-main{flex:1;min-width:0}.comment-head{flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:4px;display:flex}.comment-author{color:var(--ln-fg);font-size:14px;font-weight:650}.comment-badge{color:var(--ln-accent);background:var(--ln-accent-soft);border:1px solid var(--ln-accent);border-radius:999px;padding:1px 9px;font-size:11px;font-weight:650;transform:translateY(-1px)}.comment-time{color:var(--ln-fg-muted);font-variant-numeric:tabular-nums;font-size:11.5px}.comment-content{color:var(--ln-fg);overflow-wrap:break-word;margin:0;font-size:13.5px;line-height:1.7}.comment-reply-btn{color:var(--ln-accent);cursor:pointer;background:0 0;border:none;margin-top:6px;padding:0;font-size:12px;display:inline-block}.comment-reply-btn:hover{text-decoration:underline}.comment-actions{align-items:center;gap:14px;margin-top:6px;display:flex}.comment-actions .comment-reply-btn{margin-top:0}.comment-like-btn{cursor:pointer;color:var(--ln-fg-muted);background:0 0;border:none;align-items:center;gap:4px;padding:0;font-family:inherit;font-size:12px;transition:color .2s;display:inline-flex}.comment-like-btn .like-icon{font-size:13px;line-height:1;transition:transform .15s}.comment-like-btn:hover{color:var(--ln-accent)}.comment-like-btn:hover .like-icon{transform:scale(1.15)}.comment-like-btn.liked{color:var(--ln-accent)}.comment-like-btn.liked .like-icon{fill:currentColor}.comment-like-btn.pop .like-icon{animation:.3s like-pop}@keyframes like-pop{0%{transform:scale(1)}40%{transform:scale(1.5)}to{transform:scale(1)}}.comment-replies{border-left:1px dashed var(--ln-border);flex-direction:column;margin-top:10px;margin-left:34px;padding-left:14px;display:flex}.comment-reply{padding:10px 0}.comment-form{border:1px solid var(--ln-border);background:var(--ln-bg-card);border-radius:12px;flex-direction:column;gap:0;margin-bottom:26px;padding:16px 18px;display:flex}.comment-login{margin-bottom:10px}.comment-login-guest[hidden],.comment-login-user[hidden]{display:none!important}.comment-login-guest{flex-wrap:wrap;gap:12px;display:flex}.comment-login-guest input{flex:1;width:auto;min-width:160px;margin-bottom:0!important}.comment-github-btn{border:1px solid var(--ln-border);background:var(--ln-bg);color:var(--ln-fg);cursor:pointer;border-radius:8px;flex:none;align-items:center;gap:7px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:550;transition:border-color .2s,color .2s;display:inline-flex}.comment-github-btn:hover{border-color:var(--ln-accent);color:var(--ln-accent)}.comment-login-user{align-items:center;gap:10px;padding:1px 0;display:flex}.comments .comment-login-avatar{object-fit:cover;border:none;border-radius:50%;width:26px;height:26px;margin:0}.comment-login-name{color:var(--ln-fg);font-size:13.5px;font-weight:650}.comment-login-owner{color:var(--ln-accent);background:var(--ln-accent-soft);border:1px solid var(--ln-accent);border-radius:999px;padding:1px 8px;font-size:10.5px;font-weight:650}.comment-logout{color:var(--ln-fg-muted);cursor:pointer;background:0 0;border:none;font-size:12px}.comment-logout:hover{color:var(--ln-fg);text-decoration:underline}.comment-honeypot{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute!important;left:-9999px!important}.comment-form input,.comment-form textarea{border:1px solid var(--ln-border);background:var(--ln-bg);width:100%;color:var(--ln-fg);border-radius:8px;outline:none;padding:8px 12px;font-family:inherit;font-size:13.5px}.comment-form input:focus,.comment-form textarea:focus{border-color:var(--ln-accent)}.comment-form input::placeholder,.comment-form textarea::placeholder{color:var(--ln-fg-muted);opacity:.7}.comment-form textarea{resize:vertical;min-height:76px;margin-bottom:10px}.comment-form-foot{flex-wrap:wrap;align-items:center;gap:10px;display:flex;position:relative}.comment-replying{color:var(--ln-fg-muted);font-size:12.5px}.comment-replying button{color:var(--ln-accent);cursor:pointer;background:0 0;border:none;margin-left:8px;font-size:12px}.comment-emoji-btn{cursor:pointer;background:0 0;border:none;border-radius:6px;padding:3px;font-size:17px;line-height:1;transition:background .15s,transform .15s}.comment-emoji-btn:hover{background:var(--ln-accent-soft);transform:scale(1.12)}.comment-emoji-panel{z-index:20;background:var(--ln-bg-card);border:1px solid var(--ln-border);border-radius:10px;grid-template-columns:repeat(8,34px);gap:2px;padding:8px;display:grid;position:absolute;bottom:calc(100% + 8px);left:0;box-shadow:0 8px 24px #0000001f}.comment-emoji-panel[hidden]{display:none}.comment-emoji-item{cursor:pointer;background:0 0;border:none;border-radius:6px;width:34px;height:32px;font-size:17px;line-height:1;transition:background .12s}.comment-emoji-item:hover{background:var(--ln-accent-soft)}.comment-submit{border:1px solid var(--ln-accent);background:var(--ln-accent-soft);color:var(--ln-accent);cursor:pointer;border-radius:8px;margin-left:auto;padding:7px 22px;font-family:inherit;font-size:13.5px;font-weight:650;transition:background-color .2s,color .2s}.comment-submit:hover{background:var(--ln-accent);color:var(--ln-bg)}.comment-hint{color:var(--ln-fg-muted);margin:0;font-size:11.5px;transition:color .2s}.comment-hint.flash{color:var(--ln-accent)}.comment-error{color:#e5484d;margin:0;font-size:12.5px}@media (width<=640px){.comment-login-guest{flex-direction:column}.comment-login-guest input{min-width:0}}.article-layout[data-astro-cid-ruv7hgo6]{grid-template-columns:minmax(0,1fr) 220px;align-items:start;gap:32px;padding:14px 24px 90px;display:grid}.back-link[data-astro-cid-ruv7hgo6]{color:var(--ln-fg-muted);margin-bottom:14px;font-size:13px;display:inline-block}.back-link[data-astro-cid-ruv7hgo6]:hover{color:var(--ln-accent)}.post-head[data-astro-cid-ruv7hgo6]{margin-bottom:6px}.post-cate[data-astro-cid-ruv7hgo6]{border:1px solid var(--ln-border);color:var(--ln-accent);border-radius:999px;margin-bottom:12px;padding:2px 10px;font-size:12px;display:inline-block}.post-cate[data-astro-cid-ruv7hgo6]:hover{border-color:var(--ln-accent);text-decoration:none}.post-title[data-astro-cid-ruv7hgo6]{color:var(--ln-fg);margin:0 0 14px;font-size:28px;line-height:1.4}.post-meta[data-astro-cid-ruv7hgo6]{color:var(--ln-fg-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:14px;font-size:13px;display:flex}.post-meta[data-astro-cid-ruv7hgo6] .lunar[data-astro-cid-ruv7hgo6]{color:var(--ln-accent)}.post-tags[data-astro-cid-ruv7hgo6]{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.post-tags[data-astro-cid-ruv7hgo6] .tag[data-astro-cid-ruv7hgo6]{border:1px solid var(--ln-border);color:var(--ln-fg-muted);border-radius:999px;padding:1px 10px;font-size:11.5px}.post-tags[data-astro-cid-ruv7hgo6] .tag[data-astro-cid-ruv7hgo6]:hover{color:var(--ln-accent);border-color:var(--ln-accent);text-decoration:none}.post-cover[data-astro-cid-ruv7hgo6]{aspect-ratio:16/9;object-fit:cover;border:1px solid var(--ln-border);border-radius:14px;width:100%;height:auto;margin:22px 0}.post-nav[data-astro-cid-ruv7hgo6]{grid-template-columns:1fr 1fr;gap:14px;margin:34px 0;display:grid}.pn[data-astro-cid-ruv7hgo6]{background:var(--ln-bg-card);border:1px solid var(--ln-border);border-radius:12px;flex-direction:column;gap:5px;padding:16px 20px;transition:border-color .25s,transform .2s;display:flex}.pn[data-astro-cid-ruv7hgo6]:hover{border-color:var(--ln-accent);text-decoration:none;transform:translateY(-2px)}.pn[data-astro-cid-ruv7hgo6].next{text-align:right;align-items:flex-end}.pn-label[data-astro-cid-ruv7hgo6]{color:var(--ln-accent);letter-spacing:1px;font-size:11.5px}.pn-title[data-astro-cid-ruv7hgo6]{color:var(--ln-fg);font-size:14px;font-weight:600;line-height:1.5}.pn-lunar[data-astro-cid-ruv7hgo6]{color:var(--ln-fg-muted);font-variant-numeric:tabular-nums;font-size:11.5px}.pn[data-astro-cid-ruv7hgo6].none{cursor:default;opacity:.55}.pn[data-astro-cid-ruv7hgo6].none:hover{border-color:var(--ln-border);transform:none}.pn[data-astro-cid-ruv7hgo6].none .pn-title[data-astro-cid-ruv7hgo6]{color:var(--ln-fg-muted);font-weight:400}.related[data-astro-cid-ruv7hgo6]{margin:34px 0}.related-title[data-astro-cid-ruv7hgo6]{font-family:var(--font-title);letter-spacing:1px;color:var(--ln-fg);margin-bottom:12px;font-size:14px;font-weight:700}.related-grid[data-astro-cid-ruv7hgo6]{grid-template-columns:1fr 1fr;gap:14px;display:grid}.rel-card[data-astro-cid-ruv7hgo6]{background:var(--ln-bg-card);border:1px solid var(--ln-border);border-radius:12px;flex-direction:column;gap:5px;padding:16px 20px;transition:border-color .25s,transform .2s;display:flex}.rel-card[data-astro-cid-ruv7hgo6]:hover{border-color:var(--ln-accent);text-decoration:none;transform:translateY(-2px)}.rel-title[data-astro-cid-ruv7hgo6]{color:var(--ln-fg);font-size:14px;font-weight:600;line-height:1.5}.rel-excerpt[data-astro-cid-ruv7hgo6]{color:var(--ln-fg-muted);font-size:12px;line-height:1.6}.rel-date[data-astro-cid-ruv7hgo6]{color:var(--ln-fg-muted);font-variant-numeric:tabular-nums;font-size:11.5px}.toc[data-astro-cid-ruv7hgo6]{border-left:1px solid var(--ln-border);align-self:start;padding-left:18px;font-size:13px;position:sticky;top:150px}.toc-title[data-astro-cid-ruv7hgo6]{font-family:var(--font-title);letter-spacing:1px;color:var(--ln-fg);margin-bottom:10px;font-size:13px;font-weight:700}.toc[data-astro-cid-ruv7hgo6] a[data-astro-cid-ruv7hgo6]{color:var(--ln-fg-muted);padding:3px 0;font-size:12.5px;display:block}.toc[data-astro-cid-ruv7hgo6] a[data-astro-cid-ruv7hgo6]:hover{color:var(--ln-accent)}.toc[data-astro-cid-ruv7hgo6] a[data-astro-cid-ruv7hgo6].lv2{padding-left:12px}.toc[data-astro-cid-ruv7hgo6] a[data-astro-cid-ruv7hgo6].active{color:var(--ln-accent)}@media (width<=860px){.article-layout[data-astro-cid-ruv7hgo6]{grid-template-columns:minmax(0,1fr)}.toc[data-astro-cid-ruv7hgo6]{display:none}}@media (width<=640px){.post-title[data-astro-cid-ruv7hgo6]{font-size:24px}.post-nav[data-astro-cid-ruv7hgo6]{grid-template-columns:1fr}.pn[data-astro-cid-ruv7hgo6].next{text-align:left;align-items:flex-start}.related-grid[data-astro-cid-ruv7hgo6]{grid-template-columns:1fr}}.ln-lightbox{z-index:999;-webkit-backdrop-filter:blur(6px);cursor:zoom-out;background:#080a10d1;justify-content:center;align-items:center;padding:24px;animation:.18s ln-lb-in;display:flex;position:fixed;inset:0}.ln-lightbox img{border-radius:10px;max-width:90vw;max-height:90vh;box-shadow:0 18px 60px #00000080}@keyframes ln-lb-in{0%{opacity:0}to{opacity:1}}
