a.post-author-name:hover{text-decoration:underline}.post-meta-dot{color:var(--faint)}.post-cover{aspect-ratio:1400/600;border:1px solid var(--border2);border-radius:16px;width:100%;max-height:460px;margin:28px 0 0;position:relative;overflow:hidden;box-shadow:0 22px 48px -28px #0f172a73}.post-cover img{-o-object-fit:cover;object-fit:cover}.post-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:48px;padding:46px 0 76px;display:grid}.post-layout:not(:has(.post-aside)){grid-template-columns:minmax(0,1fr)}.post-layout:not(:has(.post-aside)) .post-main{margin:0 auto}.post-main{min-width:0;max-width:760px}.post-aside{align-self:stretch;min-width:0;position:relative}.post-rail{flex-direction:column;gap:22px;max-height:calc(100vh - 116px);padding-right:2px;display:flex;position:sticky;top:96px}.post-toc{flex-direction:column;flex:0 auto;min-height:210px;display:flex}.post-toc-title{font-family:var(--f-body);letter-spacing:.09em;text-transform:uppercase;color:var(--faint);flex:none;margin-bottom:12px;padding-left:16px;font-size:.72rem;font-weight:800}.post-toc-list{border-left:2px solid var(--border2);flex-direction:column;flex:0 auto;gap:1px;min-height:0;margin:0;padding:0 6px 0 0;list-style:none;display:flex}.post-toc-item a{color:var(--muted);border-left:2px solid #0000;margin-left:-2px;padding:6px 10px 6px 16px;font-size:.85rem;line-height:1.45;text-decoration:none;transition:color .16s,border-color .16s,background .16s;display:block}.post-toc-item.lv-3 a{color:var(--faint);padding-left:28px;font-size:.8rem}.post-toc-item a:hover{color:var(--ink)}.post-toc-item.active a{color:var(--post-accent-c,var(--blue));border-left-color:var(--post-accent-c,var(--blue));background:color-mix(in srgb, var(--post-accent-c,var(--blue)) 6%, transparent);font-weight:700}.post-toc-m{border:1px solid var(--border2);background:var(--surface-solid);border-radius:12px;margin:0 0 28px;display:none;overflow:hidden}.post-toc-m>summary{cursor:pointer;font-family:var(--f-body);color:var(--ink);justify-content:space-between;align-items:center;padding:13px 16px;font-size:.9rem;font-weight:700;list-style:none;display:flex}.post-toc-m>summary::-webkit-details-marker{display:none}.post-toc-m>summary:after{content:"";border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);width:8px;height:8px;transition:transform .2s;transform:rotate(45deg)}.post-toc-m[open]>summary:after{transform:rotate(-135deg)}.post-toc-m ul{margin:0;padding:0 8px 10px;list-style:none}.post-toc-m li a{color:var(--muted);border-radius:7px;padding:7px 12px;font-size:.88rem;text-decoration:none;display:block}.post-toc-m li.lv-3 a{padding-left:26px;font-size:.84rem}.post-toc-m li a:hover{background:var(--st-06);color:var(--ink)}.blog-engage{border-top:1px solid var(--border2);border-bottom:1px solid var(--border2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:8px;padding:15px 0;display:flex}.be-stats{align-items:center;gap:16px;display:flex}.be-stat{color:var(--muted);align-items:center;gap:7px;font-size:.9rem;display:inline-flex}.be-stat b{color:var(--ink);font-weight:700}.be-stat svg{color:var(--faint)}.be-like{color:var(--muted);background:var(--surface-solid);border:1.5px solid var(--border);cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:7px 14px;font-size:.9rem;font-weight:600;transition:all .18s;display:inline-flex}.be-like b{font-weight:700}.be-like:hover{color:#e11d48;border-color:#e11d4866}.be-like.on{background:color-mix(in srgb, var(--rose) 16%, transparent);border-color:color-mix(in srgb, var(--rose) 45%, transparent);color:var(--rose)}.be-share{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.be-share-label{color:var(--faint);margin-right:2px;font-size:.82rem;font-weight:600}.be-sh{background:var(--surface-solid);width:36px;height:36px;color:var(--muted);border:1px solid var(--border2);cursor:pointer;border-radius:50%;place-items:center;transition:all .18s;display:grid}.be-sh:hover{color:#fff;transform:translateY(-2px)}.be-sh.fb:hover{background:#1877f2;border-color:#1877f2}.be-sh.zl:hover{background:#0068ff;border-color:#0068ff}.be-sh.x:hover{background:#0f1419;border-color:#0f1419}.be-sh.li:hover{background:#0a66c2;border-color:#0a66c2}.be-sh.cp:hover{background:var(--post-accent-c,var(--blue));border-color:var(--post-accent-c,var(--blue))}.be-copied{color:#16a34a;font-size:.8rem;font-weight:600}.blog-feat{background:linear-gradient(135deg, color-mix(in srgb, var(--post-accent-c,var(--blue)) 8%, var(--surface-solid)), var(--surface-solid));border:1px solid color-mix(in srgb, var(--post-accent-c,var(--blue)) 18%, transparent);border-radius:18px;margin:44px 0 8px;padding:28px}.blog-feat-head{margin-bottom:18px}.blog-feat-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--post-accent-c,var(--blue));margin-bottom:8px;font-size:.72rem;font-weight:800;display:inline-block}.blog-feat-title{font-family:var(--f-body);letter-spacing:-.02em;color:var(--ink);margin-bottom:6px;font-size:1.3rem;font-weight:800;line-height:1.3}.blog-feat-sub{color:var(--muted);margin:0;font-size:.96rem;line-height:1.6}.blog-feat-grid{gap:10px;display:grid}.blog-feat-card{background:var(--surface-solid);border:1px solid var(--border2);border-radius:12px;align-items:center;gap:14px;padding:14px 16px;text-decoration:none;transition:all .18s;display:flex}.blog-feat-card:hover{border-color:color-mix(in srgb, var(--post-accent-c,var(--blue)) 40%, transparent);transform:translate(3px);box-shadow:0 8px 22px -14px #0f172a66}.blog-feat-ic{background:var(--post-accent,var(--g-hero));color:#fff;border-radius:11px;flex:none;place-items:center;width:42px;height:42px;display:grid}.blog-feat-card-body{flex-direction:column;gap:2px;min-width:0;display:flex}.blog-feat-card-title{font-family:var(--f-body);color:var(--ink);font-size:1rem;font-weight:700}.blog-feat-card-desc{color:var(--muted);font-size:.85rem;line-height:1.45}.blog-feat-arrow{color:var(--post-accent-c,var(--blue));flex:none;margin-left:auto;font-size:1.2rem;font-weight:700;transition:transform .18s}.blog-feat-card:hover .blog-feat-arrow{transform:translate(4px)}.author-bio{background:var(--surface-solid);border:1px solid var(--border2);border-radius:16px;align-items:flex-start;gap:18px;margin:36px 0 8px;padding:22px;display:flex}.author-bio-avatar{background:var(--post-accent,var(--g-hero));color:#fff;width:56px;height:56px;font-family:var(--f-body);-o-object-fit:cover;object-fit:cover;border-radius:50%;flex:none;place-items:center;font-size:1.1rem;font-weight:800;display:grid}.author-bio-role{color:var(--muted);margin:-2px 0 4px;font-size:.82rem}.author-bio-tags{flex-wrap:wrap;gap:6px;margin:0 0 12px;display:flex}.author-bio-body{min-width:0}.author-bio-label{letter-spacing:.08em;text-transform:uppercase;color:var(--faint);font-size:.72rem;font-weight:800}.author-bio-name{font-family:var(--f-body);color:var(--ink);margin:2px 0 6px;font-size:1.15rem;font-weight:800}.author-bio-name a:hover{text-decoration:underline}.author-bio-desc{color:var(--muted);margin:0 0 12px;font-size:.92rem;line-height:1.65}.author-bio-links{flex-wrap:wrap;gap:8px;display:flex}.author-bio-link{color:var(--post-accent-c,var(--blue));background:color-mix(in srgb, var(--post-accent-c,var(--blue)) 9%, var(--surface-solid));border:1px solid color-mix(in srgb, var(--post-accent-c,var(--blue)) 18%, transparent);border-radius:999px;padding:5px 12px;font-size:.84rem;font-weight:600;text-decoration:none;transition:all .18s}.author-bio-link:hover{background:color-mix(in srgb, var(--post-accent-c,var(--blue)) 16%, var(--surface-solid))}.rel-rail{flex:none}.rel-rail-title{font-family:var(--f-body);font-size:var(--f-label);letter-spacing:var(--f-label-ls);text-transform:uppercase;color:var(--faint);margin:0 0 10px;font-weight:800}.rel-rail-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.rel-rail-item{background:var(--surface-solid);border:1px solid var(--border2);border-radius:11px;flex-direction:column;gap:5px;height:100%;padding:11px 13px;text-decoration:none;transition:border-color .18s,background .18s;display:flex}.rel-rail-item:hover{border-color:color-mix(in srgb, var(--post-accent-c,var(--blue)) 42%, transparent);background:color-mix(in srgb, var(--post-accent-c,var(--blue)) 7%, var(--surface-solid))}.rel-rail-item-title{font-family:var(--f-body);color:var(--ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.9rem;font-weight:700;line-height:1.4;display:-webkit-box;overflow:hidden}.rel-rail-item-desc{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.8rem;line-height:1.5;display:-webkit-box;overflow:hidden}.rel-rail-item-meta{color:var(--faint);flex-wrap:wrap;align-items:center;gap:7px;margin-top:auto;font-size:.74rem;display:flex}.rel-rail-item-tag{letter-spacing:.03em;text-transform:uppercase;color:var(--post-accent-c,var(--blue));font-weight:700}.back-to-top{z-index:60;background:var(--post-accent,var(--g-hero));color:#fff;cursor:pointer;opacity:0;visibility:hidden;border:none;border-radius:50%;place-items:center;width:46px;height:46px;transition:opacity .25s,transform .25s,visibility .25s;display:grid;position:fixed;bottom:22px;right:22px;transform:translateY(12px);box-shadow:0 10px 30px -8px #0f172a80}.back-to-top.show{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{transform:translateY(-3px)}@media (max-width:1024px){.rel-rail{margin-top:34px}.rel-rail-title{letter-spacing:-.01em;text-transform:none;color:var(--ink);margin-bottom:14px;font-size:1.15rem}.rel-rail-list{grid-template-columns:repeat(2,1fr);gap:12px}}@media (max-width:768px){.rel-rail-list{grid-template-columns:1fr}.blog-engage{padding:13px 0}.be-stats{gap:13px}.author-bio{flex-direction:column;gap:14px}.back-to-top{width:42px;height:42px;bottom:16px;right:16px}}@media (max-width:480px){.back-to-top{bottom:80px}}@media (max-width:1024px){.post-layout{grid-template-columns:1fr;gap:0;padding:32px 0 60px}.post-aside{align-self:auto;width:100%;max-width:720px;margin:0 auto}.post-aside .post-rail{gap:0;max-height:none;padding-right:0;position:static;overflow:visible}.post-rail .post-toc{display:none}.post-toc-m{display:block}.post-main{max-width:720px;margin:0 auto}}@media (max-width:640px){.post-cover{border-radius:12px;margin-top:20px}}
