.Comments_letter__MFGW9{position:relative;display:flex;flex-direction:column;gap:16px;padding:28px 24px 18px;border-radius:3px;background:var(--doodle-paper);box-shadow:0 0 0 1px rgba(0,0,0,.035),0 1px 2px rgba(0,0,0,.04),0 12px 28px -14px rgba(0,0,0,.18)}.dark .Comments_letter__MFGW9{box-shadow:0 0 0 1px rgba(255,255,255,.04),0 1px 2px rgba(0,0,0,.4),0 12px 28px -12px rgba(0,0,0,.7)}.Comments_letter__MFGW9 .Comments_tape__5bj2J{position:absolute;top:-9px;left:50%;transform:translateX(-50%) rotate(-3deg);width:78px;height:20px;opacity:.82;border-radius:2px 4px 2px 5px;background:var(--doodle-yellow);box-shadow:.1em .1em .2em rgba(0,0,0,.08)}.Comments_letter__MFGW9 .Comments_tape__5bj2J:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 3px,rgba(255,255,255,.25) 3px 5px);border-radius:inherit}.Comments_fromLine__XtwJ9{display:flex;align-items:baseline;gap:12px}.Comments_body__i_7Oj{display:flex;flex-direction:column;gap:8px}.Comments_caption__NP6Om{flex:none;font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;color:var(--color-muted);transition:color .2s ease}.Comments_body__i_7Oj:focus-within .Comments_caption__NP6Om,.Comments_fromLine__XtwJ9:focus-within .Comments_caption__NP6Om{color:var(--color-info)}.Comments_inkInput__vMMHi{flex:1;min-width:0;padding:4px 2px 6px;border:0;border-bottom:1px solid var(--doodle-paper-line);border-radius:0;background:transparent;font-size:14px;line-height:1.5;color:var(--color-foreground);transition:border-color .2s ease}.Comments_inkInput__vMMHi:focus,.Comments_inkInput__vMMHi:focus-visible{outline:none;border-bottom-color:var(--color-info)}.Comments_inkName__3E2xh{font-family:var(--font-mono)}.Comments_inkReply__zSwwy{width:100%;padding:6px 2px;font-family:var(--font-body);line-height:1.6;resize:vertical}.Comments_inkReplyLine__JNOGD,.Comments_inkReply__zSwwy{border-bottom-color:var(--color-border)}.Comments_ruled__o0AzJ{--rule:var(--doodle-paper-line);--lh:26px;width:100%;min-height:calc(var(--lh) * 3);padding:0 8px 0 12px;border:0;border-left:2px solid var(--rule);border-radius:0;background-color:transparent;background-image:linear-gradient(to bottom,transparent calc(var(--lh) - 1px),var(--rule) calc(var(--lh) - 1px));background-size:100% var(--lh);background-attachment:local;background-clip:padding-box;font-family:var(--font-body);font-size:14px;line-height:var(--lh);color:var(--color-foreground);resize:vertical;transition:border-color .2s ease}.Comments_ruled__o0AzJ:focus,.Comments_ruled__o0AzJ:focus-visible{outline:none;border-left-color:var(--color-info)}.Comments_inkInput__vMMHi::placeholder,.Comments_ruled__o0AzJ::placeholder{color:var(--color-subtle)}.MobileArticleToc_trigger__LfK8r{display:inline-flex;align-items:center;gap:6px;margin-left:auto;padding:6px 10px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface-raised);color:var(--color-foreground);cursor:pointer;white-space:nowrap;transition:border-color .16s ease,background-color .16s ease}.MobileArticleToc_trigger__LfK8r:hover{border-color:var(--color-info);background:var(--color-surface-hover)}.MobileArticleToc_close__hcUdi:focus-visible,.MobileArticleToc_floatingTrigger__hmZA_:focus-visible,.MobileArticleToc_trigger__LfK8r:focus-visible{outline:2px solid var(--color-info);outline-offset:2px}.MobileArticleToc_floatingTrigger__hmZA_{position:fixed;right:20px;bottom:calc(100px + env(safe-area-inset-bottom));z-index:45;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--color-border);border-radius:50%;background:var(--color-surface-raised);color:var(--color-foreground);box-shadow:0 5px 18px color-mix(in srgb,var(--color-foreground) 16%,transparent);cursor:pointer;transition:background-color .16s ease,transform .16s ease}.MobileArticleToc_floatingTrigger__hmZA_:hover{background:var(--color-surface-hover);transform:translateY(-2px)}.MobileArticleToc_drawer__KRzvs{position:fixed;inset:0 0 0 auto;width:min(360px,calc(100vw - 28px));height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:var(--color-surface-raised);color:var(--color-foreground);box-shadow:-14px 0 40px color-mix(in srgb,var(--color-foreground) 20%,transparent)}.MobileArticleToc_drawer__KRzvs[open]{animation:MobileArticleToc_drawer-in__jYMIB .22s ease-out}.MobileArticleToc_drawer__KRzvs::backdrop{background:rgb(0 0 0/38%)}@keyframes MobileArticleToc_drawer-in__jYMIB{0%{transform:translateX(100%)}to{transform:translateX(0)}}.MobileArticleToc_panel__9K6hd{display:flex;flex-direction:column;height:100%}.MobileArticleToc_header__bDTlH{display:flex;align-items:center;justify-content:space-between;padding:28px 24px 20px;border-bottom:1px solid var(--color-border)}.MobileArticleToc_header__bDTlH h2{margin-top:5px;font-size:20px;font-weight:600}.MobileArticleToc_eyebrow__57Myy{color:var(--color-muted);font-family:var(--font-mono);font-size:10px;letter-spacing:.16em}.MobileArticleToc_close__hcUdi{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--color-border);border-radius:50%;background:var(--color-surface-raised);color:var(--color-muted);cursor:pointer}.MobileArticleToc_close__hcUdi:hover{background:var(--color-surface-hover);color:var(--color-foreground)}.MobileArticleToc_content__nuxGA{flex:1;overflow-y:auto;padding:22px 24px 40px}.MobileArticleToc_content__nuxGA nav{max-height:none;overflow:visible}.MobileArticleToc_content__nuxGA nav>h4{display:none}@media (min-width:1280px){.MobileArticleToc_drawer__KRzvs,.MobileArticleToc_floatingTrigger__hmZA_,.MobileArticleToc_trigger__LfK8r{display:none}}@media (prefers-reduced-motion:reduce){.MobileArticleToc_floatingTrigger__hmZA_,.MobileArticleToc_trigger__LfK8r{transition:none}.MobileArticleToc_drawer__KRzvs[open]{animation:none}}.RelatedNextUp_stage__JloKK{display:grid}.RelatedNextUp_stage__JloKK>*{grid-area:1/1}.RelatedNextUp_feature__4YPdo{display:grid;grid-template-columns:minmax(0,1fr) 216px;gap:24px;padding:20px 22px;border:1px solid var(--color-border);border-radius:20px;background:var(--color-surface-raised);text-decoration:none;transition:transform .22s cubic-bezier(.22,1,.36,1),border-color .22s ease,box-shadow .22s ease}.RelatedNextUp_feature__4YPdo:focus-visible,.RelatedNextUp_feature__4YPdo:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--color-mustard) 50%,transparent);box-shadow:var(--shadow-md)}.RelatedNextUp_feature__4YPdo:focus-visible{outline:none;box-shadow:0 0 0 2px var(--color-info),var(--shadow-md)}.RelatedNextUp_feature__4YPdo[data-motion=enter-down]{animation:RelatedNextUp_feature-enter-down__Dc24i .32s cubic-bezier(.33,1,.68,1) .12s both}.RelatedNextUp_feature__4YPdo[data-motion=enter-up]{animation:RelatedNextUp_feature-enter-up__Tx_Gu .32s cubic-bezier(.33,1,.68,1) .12s both}.RelatedNextUp_feature__4YPdo[data-motion=leave-down]{animation:RelatedNextUp_feature-leave-down__BII0o .2s cubic-bezier(.4,0,1,1) both;pointer-events:none}.RelatedNextUp_feature__4YPdo[data-motion=leave-up]{animation:RelatedNextUp_feature-leave-up__cuNQ_ .2s cubic-bezier(.4,0,1,1) both;pointer-events:none}@keyframes RelatedNextUp_feature-enter-down__Dc24i{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes RelatedNextUp_feature-enter-up__Tx_Gu{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes RelatedNextUp_feature-leave-down__BII0o{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}@keyframes RelatedNextUp_feature-leave-up__cuNQ_{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(10px)}}@media (prefers-reduced-motion:reduce){.RelatedNextUp_feature__4YPdo[data-motion=enter-down],.RelatedNextUp_feature__4YPdo[data-motion=enter-up]{animation-name:RelatedNextUp_feature-fade-in__QxcWw}.RelatedNextUp_feature__4YPdo[data-motion=leave-down],.RelatedNextUp_feature__4YPdo[data-motion=leave-up]{animation-name:RelatedNextUp_feature-fade-out__SllOu}}@keyframes RelatedNextUp_feature-fade-in__QxcWw{0%{opacity:0}to{opacity:1}}@keyframes RelatedNextUp_feature-fade-out__SllOu{0%{opacity:1}to{opacity:0}}.RelatedNextUp_featureBody__hahSH{display:flex;flex-direction:column;justify-content:center;gap:9px;min-width:0}.RelatedNextUp_kicker__lfWQ9{display:inline-flex;align-items:center;gap:6px;width:fit-content;margin:0;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:var(--color-muted)}.RelatedNextUp_kicker__lfWQ9 i{width:6px;height:6px;border-radius:999px;background:var(--tone,var(--color-muted))}.RelatedNextUp_kicker__lfWQ9[data-tone=accent]{--tone:var(--color-accent)}.RelatedNextUp_kicker__lfWQ9[data-tone=rose]{--tone:var(--color-rose)}.RelatedNextUp_kicker__lfWQ9[data-tone=mustard]{--tone:var(--color-mustard)}.RelatedNextUp_kicker__lfWQ9[data-tone=navy]{--tone:var(--color-navy)}.dark .RelatedNextUp_kicker__lfWQ9[data-tone=accent]{--tone:var(--color-dark-accent)}.dark .RelatedNextUp_kicker__lfWQ9[data-tone=rose]{--tone:var(--color-dark-rose)}.RelatedNextUp_featureTitle__68NFV{margin:0;font-family:var(--font-heading);font-size:21px;font-weight:500;line-height:1.5;letter-spacing:.01em;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;color:color-mix(in srgb,var(--color-foreground) 92%,var(--color-muted));transition:color .18s ease}.RelatedNextUp_feature__4YPdo:focus-visible .RelatedNextUp_featureTitle__68NFV,.RelatedNextUp_feature__4YPdo:hover .RelatedNextUp_featureTitle__68NFV{color:var(--color-mustard)}.RelatedNextUp_featureExcerpt__gjg0e{margin:0;font-size:13.5px;line-height:1.8;letter-spacing:.015em;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;color:var(--color-muted)}.RelatedNextUp_featureMeta__fQNMZ{display:flex;align-items:center;gap:12px;margin:4px 0 0;font-family:var(--font-mono);font-size:12px;font-variant-numeric:tabular-nums;letter-spacing:.04em;color:var(--color-muted)}.RelatedNextUp_nextCue__D8NYy{display:inline-flex;align-items:center;margin-left:auto;font-size:11.5px;letter-spacing:.1em;color:var(--color-mustard);transition:transform .18s ease}.RelatedNextUp_feature__4YPdo:focus-visible .RelatedNextUp_nextCue__D8NYy,.RelatedNextUp_feature__4YPdo:hover .RelatedNextUp_nextCue__D8NYy{transform:translateX(3px)}.RelatedNextUp_featureCover__7kgG8{width:216px;aspect-ratio:4/3;align-self:center;border-radius:12px}.RelatedNextUp_list__5hwB5{margin:12px 0 0;padding:0 2px;list-style:none}.RelatedNextUp_row__QEHu5{display:flex;align-items:baseline;gap:12px;padding:10px 8px;margin-inline:-8px;border-radius:8px;text-decoration:none;transition:background-color .16s ease}.RelatedNextUp_row__QEHu5:focus-visible,.RelatedNextUp_row__QEHu5:hover{background:var(--color-surface-hover)}.RelatedNextUp_num__xvy7U{flex:none;font-family:var(--font-mono);font-size:12px;font-variant-numeric:tabular-nums;letter-spacing:.04em;color:var(--color-muted);transition:color .18s ease}.RelatedNextUp_rowTitle___D4Dy{max-width:72%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-family:var(--font-heading);font-size:14.5px;font-weight:500;line-height:1.7;letter-spacing:.01em;color:color-mix(in srgb,var(--color-foreground) 84%,var(--color-muted));transition:color .18s ease}.RelatedNextUp_leader__X2tnn{flex:1;min-width:20px;align-self:flex-end;margin:0 2px 7px;border-bottom:2px dotted color-mix(in srgb,var(--color-border) 80%,var(--color-muted));transition:border-color .18s ease}.RelatedNextUp_date__boMX2{flex:none;font-family:var(--font-mono);font-size:12px;font-variant-numeric:tabular-nums;letter-spacing:.03em;color:var(--color-muted)}.RelatedNextUp_row__QEHu5:focus-visible .RelatedNextUp_num__xvy7U,.RelatedNextUp_row__QEHu5:hover .RelatedNextUp_num__xvy7U,.RelatedNextUp_row__QEHu5[data-active] .RelatedNextUp_num__xvy7U{color:var(--color-mustard)}.RelatedNextUp_row__QEHu5:focus-visible .RelatedNextUp_rowTitle___D4Dy,.RelatedNextUp_row__QEHu5:hover .RelatedNextUp_rowTitle___D4Dy,.RelatedNextUp_row__QEHu5[data-active] .RelatedNextUp_rowTitle___D4Dy{color:var(--color-foreground)}.RelatedNextUp_row__QEHu5:focus-visible{outline:none}@media (max-width:639px){.RelatedNextUp_feature__4YPdo{grid-template-columns:1fr;gap:14px;padding:14px 16px 18px}.RelatedNextUp_featureCover__7kgG8{order:-1;width:100%;aspect-ratio:16/10}.RelatedNextUp_rowTitle___D4Dy{flex:1 1 auto;max-width:none}}.ArticleContacts_section__PTtVP{display:flex;flex-direction:column;align-items:center;gap:12px;padding:28px 0 20px}.ArticleContacts_disc__a3LPG{position:relative;width:min(280px,calc(100vw - 64px));aspect-ratio:1}.ArticleContacts_discShadow__8058V{position:absolute;inset:0;border-radius:50%;box-shadow:0 8px 18px color-mix(in srgb,var(--color-foreground) 18%,transparent),0 2px 6px color-mix(in srgb,var(--color-foreground) 10%,transparent)}.ArticleContacts_sector__cS9aF{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border:0;padding:0;background:var(--color-surface-raised);color:var(--contact-brand,var(--color-foreground));cursor:pointer;text-decoration:none;transition:background-color .18s ease,color .18s ease,transform .18s ease}.ArticleContacts_accentInk__Okw8r{--contact-accent:var(--color-foreground)}.ArticleContacts_accentInfo__Cuweg{--contact-accent:var(--color-info)}.ArticleContacts_accentSuccess__C9_P5{--contact-accent:var(--color-success)}.ArticleContacts_brandGithub__zrR8c{--contact-brand:#181717;--contact-accent:#181717;--contact-ink:#ffffff}.ArticleContacts_brandX__VpJwN{--contact-brand:#0f1419;--contact-accent:#0f1419;--contact-ink:#ffffff}.ArticleContacts_brandCsdn__cYJoX{--contact-brand:#fc5531;--contact-accent:#fc5531;--contact-ink:#ffffff}.ArticleContacts_brandXhs__MBRKD{--contact-brand:#ff2442;--contact-accent:#ff2442;--contact-ink:#ffffff}.ArticleContacts_brandTencent__9iu_0{--contact-brand:#0052d9;--contact-accent:#0052d9;--contact-ink:#ffffff}.ArticleContacts_brandWechat__DGrik{--contact-brand:#07c160;--contact-accent:#07c160;--contact-ink:#ffffff}.ArticleContacts_brandEmail__8h8Re{--contact-brand:var(--color-info);--contact-accent:var(--color-info)}.dark .ArticleContacts_brandGithub__zrR8c{--contact-brand:#f0f6fc;--contact-accent:#f0f6fc;--contact-ink:#0d1117}.dark .ArticleContacts_brandX__VpJwN{--contact-brand:#ffffff;--contact-accent:#ffffff;--contact-ink:#0f1419}.dark .ArticleContacts_brandTencent__9iu_0{--contact-brand:#4a8cff;--contact-accent:#4a8cff}.ArticleContacts_sector__cS9aF:focus-visible,.ArticleContacts_sector__cS9aF:hover{background:var(--contact-accent,var(--color-foreground));color:var(--contact-ink,var(--color-primary-foreground));transform:scale(1.035)}.ArticleContacts_sector__cS9aF:focus-visible{outline:none}.ArticleContacts_sectorIcon__te88V{position:absolute;transform:translate(-50%,-50%);display:flex}.ArticleContacts_icon___cNGR{display:block;width:26px;height:26px;flex:none;background-color:currentColor;mask-repeat:no-repeat;mask-position:center;mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain}svg.ArticleContacts_icon___cNGR{background:none}.ArticleContacts_like__0pibz{position:absolute;z-index:2;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.ArticleContacts_like__0pibz>*{pointer-events:auto}.ArticleContacts_like__0pibz button{position:relative;border:0;box-shadow:0 9px 24px color-mix(in srgb,var(--color-foreground) 22%,transparent),0 2px 7px color-mix(in srgb,var(--color-foreground) 11%,transparent)}.ArticleContacts_extra__zKCTF{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px}.ArticleContacts_extraCard__dzu89{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:50%;background:var(--color-surface-raised);color:var(--contact-brand,var(--color-foreground));cursor:pointer;text-decoration:none;box-shadow:0 8px 18px color-mix(in srgb,var(--color-foreground) 18%,transparent),0 2px 6px color-mix(in srgb,var(--color-foreground) 10%,transparent);transition:transform .18s ease,background-color .18s ease,color .18s ease,box-shadow .18s ease}.ArticleContacts_extraCard__dzu89:hover{background:color-mix(in srgb,var(--contact-accent,var(--color-info)) 14%,var(--color-surface-raised));color:var(--contact-brand,var(--color-info));box-shadow:0 8px 18px color-mix(in srgb,var(--color-foreground) 18%,transparent)}.ArticleContacts_extraCard__dzu89:focus-visible{outline:2px solid var(--color-info);outline-offset:2px}.ArticleContacts_extraCard__dzu89 .ArticleContacts_icon___cNGR{width:22px;height:22px}@media (max-width:340px){.ArticleContacts_icon___cNGR{width:24px;height:24px}}@media (prefers-reduced-motion:reduce){.ArticleContacts_extraCard__dzu89,.ArticleContacts_sector__cS9aF{transition:none}.ArticleContacts_sector__cS9aF:hover{transform:none}}