.page-module__QQkg3W__root.article-view-container{min-height:100vh;padding:108px var(--space-md)var(--space-lg);z-index:1;animation:.4s ease-out page-module__QQkg3W__fadeIn;position:relative}.page-module__QQkg3W__root .article-view-header{max-width:700px;margin:0 auto 32px}.page-module__QQkg3W__root .article-view-content{max-width:700px;margin:0 auto}.page-module__QQkg3W__root .article-view-title{font-family:var(--font-heading);margin-bottom:var(--space-sm);color:var(--color-text-primary);font-size:1.5rem;font-weight:500;line-height:1.3}.page-module__QQkg3W__root .article-view-meta{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);color:var(--color-text-secondary);padding-bottom:0;font-size:.8125rem;font-weight:400;display:flex}.page-module__QQkg3W__root .article-view-meta .article-views{align-items:center;gap:4px;margin-left:auto;display:inline-flex}.page-module__QQkg3W__root .article-view-body{color:var(--color-text-primary);font-size:.9375rem;font-weight:400;line-height:1.7}.page-module__QQkg3W__root .article-view-body>:first-child{margin-top:0!important}.page-module__QQkg3W__root .article-view-body>p:first-child{margin-top:-.5rem}.page-module__QQkg3W__root .article-view-body p{color:var(--color-text-primary);margin-bottom:1rem;line-height:1.7}.page-module__QQkg3W__root .article-view-body h1{font-family:var(--font-heading);color:var(--color-text-primary);margin:1.5rem 0 .75rem;font-size:1.25rem;font-weight:500;line-height:1.3}.page-module__QQkg3W__root .article-view-body h2{font-family:var(--font-heading);color:var(--color-text-primary);margin:1.25rem 0 .5rem;font-size:1.0625rem;font-weight:500;line-height:1.4}.page-module__QQkg3W__root .article-view-body h3{font-family:var(--font-heading);color:var(--color-text-primary);margin:1rem 0 .5rem;font-size:.9375rem;font-weight:500;line-height:1.4}:is(.page-module__QQkg3W__root .article-view-body ul,.page-module__QQkg3W__root .article-view-body ol){margin-bottom:1rem;padding-left:1.75rem}.page-module__QQkg3W__root .article-view-body li{color:var(--color-text-primary);margin-bottom:.5rem;font-size:.9375rem;font-weight:400;line-height:1.6}.page-module__QQkg3W__root .article-view-body li::marker{color:var(--color-accent)}.page-module__QQkg3W__root .article-view-body blockquote{border-left:3px solid var(--color-accent);color:var(--color-text-primary);margin:1rem 0;padding-left:1rem;font-size:.9375rem;font-style:italic;font-weight:400;line-height:1.6}.page-module__QQkg3W__root .article-view-body code{font-family:"SF Mono","Monaco","Courier New",var(--font-chinese),monospace;background:#0003;border-radius:3px;padding:.15em .4em;font-size:.9em}.page-module__QQkg3W__root .article-view-body pre{border-radius:var(--radius-md);font-size:.8125rem;line-height:1.5;font-family:"SF Mono","Monaco","Courier New",var(--font-chinese),monospace;background:#0d1117;border:1px solid #ffffff1a;margin:1rem 0;padding:1rem;position:relative;overflow-x:auto}.page-module__QQkg3W__root .article-view-body pre code{font-size:inherit;background:0 0;padding:0;display:block}.page-module__QQkg3W__root .hljs{color:#e6edf3;background:0 0!important}.page-module__QQkg3W__root .article-view-body pre:before{content:attr(data-language);color:#ffffff80;border-radius:0 var(--radius-md)0 0;text-transform:uppercase;background:#ffffff0d;padding:.25rem .5rem;font-size:.75rem;position:absolute;top:0;right:0}.page-module__QQkg3W__root .article-view-body a{color:var(--color-accent);border-bottom:1px solid #0000;text-decoration:none;transition:border-color .2s}.page-module__QQkg3W__root .article-view-body a:hover{border-color:var(--color-accent)}.page-module__QQkg3W__root .article-view-body hr{border:none;border-top:1px solid #ffffff1a;margin:1.5rem 0}.page-module__QQkg3W__root .article-view-body img{border-radius:var(--radius-md);max-width:100%;height:auto;margin:1rem 0}.page-module__QQkg3W__root .article-view-body table{border-collapse:collapse;width:100%;margin:1rem 0;font-size:.875rem}:is(.page-module__QQkg3W__root .article-view-body th,.page-module__QQkg3W__root .article-view-body td){text-align:left;border:1px solid #ffffff1a;padding:.5rem .75rem}.page-module__QQkg3W__root .article-view-body th{background:#0003;font-weight:500}.page-module__QQkg3W__root .article-view-tags{gap:var(--space-xs);padding-top:var(--space-md);border-top:1px solid #ffffff1a;flex-wrap:wrap;margin-top:2rem;display:flex}.page-module__QQkg3W__root .article-view-tags .tag{color:var(--color-text-secondary);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:16px;padding:4px 10px;font-size:.75rem;font-weight:400;transition:all .2s}.page-module__QQkg3W__root .article-view-tags .tag:hover{color:var(--color-text-secondary);background:#ffffff1a}@media (max-width:768px){.page-module__QQkg3W__root .article-view-title{font-size:1.25rem}.page-module__QQkg3W__root .article-view-body{font-size:.875rem}.page-module__QQkg3W__root .article-view-body h1{font-size:1.0625rem}.page-module__QQkg3W__root .article-view-body h2{font-size:.9375rem}.page-module__QQkg3W__root .article-view-body h3{font-size:.875rem}:is(.page-module__QQkg3W__root .article-view-body ul,.page-module__QQkg3W__root .article-view-body ol){padding-left:1.25rem}}@keyframes page-module__QQkg3W__fadeIn{0%{opacity:0}to{opacity:1}}
pre code.hljs{padding:1em;display:block;overflow-x:auto}code.hljs{padding:3px 5px}.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#79c0ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-comment,.hljs-code,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}
.Comments-module__kmiRca__root .article-stats{border-top:1px solid #ffffff1a;border-bottom:1px solid #ffffff1a;gap:1.5rem;margin:1.5rem 0 2rem;padding:1rem 0;display:flex}.Comments-module__kmiRca__root .stat-item{color:var(--color-text-secondary);align-items:center;gap:.5rem;font-size:.8125rem;transition:color .2s;display:flex}.Comments-module__kmiRca__root .stat-item:hover{color:var(--color-accent)}.Comments-module__kmiRca__root .article-stats-bar{max-width:700px;margin:1.5rem auto}.Comments-module__kmiRca__root .article-stats{align-items:center;gap:1.25rem;display:flex}.Comments-module__kmiRca__root .stat-item{color:var(--color-text-secondary);align-items:center;gap:.375rem;font-size:.8125rem;font-weight:400;transition:color .2s;display:inline-flex}.Comments-module__kmiRca__root .stat-item.clickable{cursor:pointer}.Comments-module__kmiRca__root .stat-item.clickable:hover{color:var(--color-accent)}.Comments-module__kmiRca__root .stat-item.liked{color:#ef4444}.Comments-module__kmiRca__root .stat-item.liked:hover{color:#dc2626}.Comments-module__kmiRca__root .stat-item.animate{animation:.6s Comments-module__kmiRca__likeBounce}@keyframes Comments-module__kmiRca__likeBounce{0%,to{transform:scale(1)}25%{transform:scale(1.2)}50%{transform:scale(.95)}75%{transform:scale(1.05)}}.Comments-module__kmiRca__root .stat-item svg{flex-shrink:0}.Comments-module__kmiRca__root .stat-item span{font-weight:500}.Comments-module__kmiRca__root .stat-item.skeleton span{background:#ffffff1a;border-radius:4px;min-width:24px;height:16px;display:inline-block}.Comments-module__kmiRca__root.comments-section{border-top:1px solid #ffffff1a;max-width:700px;margin:1.5rem auto 0;padding-top:1rem}.Comments-module__kmiRca__root .comments-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.Comments-module__kmiRca__root .comments-stats{align-items:center;gap:.875rem;display:flex}.Comments-module__kmiRca__root .btn-write-comment{background:var(--color-accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.8125rem;font-weight:500;transition:all .2s;display:inline-flex}.Comments-module__kmiRca__root .btn-write-comment:hover{background:#0f9e8b;transform:translateY(-1px)}.Comments-module__kmiRca__root .status-message{border-radius:var(--radius-sm);align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9375rem;animation:.3s Comments-module__kmiRca__slideInDown;display:flex}@keyframes Comments-module__kmiRca__slideInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.Comments-module__kmiRca__root .status-message.success{color:#4ade80;background:#22c55e1a;border:1px solid #22c55e4d}.Comments-module__kmiRca__root .status-message.error{color:#f87171;background:#ef44441a;border:1px solid #ef44444d}.Comments-module__kmiRca__root .comment-form-wrapper{margin-bottom:2rem;animation:.3s Comments-module__kmiRca__fadeIn}@keyframes Comments-module__kmiRca__fadeIn{0%{opacity:0}to{opacity:1}}.Comments-module__kmiRca__root .reply-banner{border-radius:var(--radius-sm)var(--radius-sm)0 0;color:var(--color-accent);background:#0cbfa01a;border:1px solid #0cbfa04d;justify-content:space-between;align-items:center;padding:.5rem 1rem;font-size:.875rem;display:flex}.Comments-module__kmiRca__root .btn-cancel-reply{color:var(--color-accent);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.25rem;transition:all .2s;display:flex}.Comments-module__kmiRca__root .btn-cancel-reply:hover{background:#0cbfa033}.Comments-module__kmiRca__root .comment-form{border-radius:var(--radius-md);background:#ffffff08;border:1px solid #ffffff1a;padding:1.5rem}.Comments-module__kmiRca__root .comment-form:has(.reply-banner){border-radius:0 0 var(--radius-md)var(--radius-md);border-top:none}.Comments-module__kmiRca__root .form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.Comments-module__kmiRca__root .form-group{margin-bottom:1rem;position:relative}.Comments-module__kmiRca__root .form-group label{color:var(--color-text-secondary);align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.8125rem;font-weight:500;display:flex}.Comments-module__kmiRca__root .form-group .required{color:#ef4444;margin-left:2px}:is(.Comments-module__kmiRca__root .form-group input,.Comments-module__kmiRca__root .form-group textarea){border-radius:var(--radius-sm);width:100%;color:var(--color-text-primary);background:#ffffff0d;border:1px solid #ffffff1a;padding:.75rem 1rem;font-family:inherit;font-size:.875rem;transition:all .2s}:is(.Comments-module__kmiRca__root .form-group input:focus,.Comments-module__kmiRca__root .form-group textarea:focus){border-color:var(--color-accent);background:#ffffff14;outline:none;box-shadow:0 0 0 3px #0cbfa01a}:is(.Comments-module__kmiRca__root .form-group input::placeholder,.Comments-module__kmiRca__root .form-group textarea::placeholder){color:var(--color-text-muted)}:is(.Comments-module__kmiRca__root .form-group.has-error input,.Comments-module__kmiRca__root .form-group.has-error textarea){border-color:#ef4444}:is(.Comments-module__kmiRca__root .form-group.has-error input:focus,.Comments-module__kmiRca__root .form-group.has-error textarea:focus){box-shadow:0 0 0 3px #ef44441a}:is(.Comments-module__kmiRca__root .form-group.is-valid input,.Comments-module__kmiRca__root .form-group.is-valid textarea){border-color:#22c55e}.Comments-module__kmiRca__root .form-group textarea{resize:vertical;min-height:120px;line-height:1.5}.Comments-module__kmiRca__root .form-footer{justify-content:space-between;align-items:center;margin-top:.5rem;display:flex}.Comments-module__kmiRca__root .char-count{color:var(--color-text-muted);margin-left:auto;font-size:.75rem}.Comments-module__kmiRca__root .char-count.warning{color:#f59e0b;font-weight:500}.Comments-module__kmiRca__root .error-message{color:#ef4444;align-items:center;gap:.25rem;margin-top:.25rem;font-size:.8125rem;display:flex}.Comments-module__kmiRca__root .form-actions{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}:is(.Comments-module__kmiRca__root .btn-cancel,.Comments-module__kmiRca__root .btn-submit){border-radius:var(--radius-sm);cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-family:inherit;font-size:.875rem;font-weight:500;transition:all .2s;display:inline-flex}.Comments-module__kmiRca__root .btn-cancel{color:var(--color-text-primary);background:#ffffff1a}.Comments-module__kmiRca__root .btn-cancel:hover:not(:disabled){background:#ffffff26}.Comments-module__kmiRca__root .btn-submit{background:var(--color-accent);color:#fff}.Comments-module__kmiRca__root .btn-submit:hover:not(:disabled){background:#0f9e8b;transform:translateY(-1px)}:is(.Comments-module__kmiRca__root .btn-cancel:disabled,.Comments-module__kmiRca__root .btn-submit:disabled){opacity:.6;cursor:not-allowed;transform:none}.Comments-module__kmiRca__root .comments-list-container{min-height:200px}.Comments-module__kmiRca__root .comments-skeleton{flex-direction:column;gap:1.5rem;display:flex}.Comments-module__kmiRca__root .comment-skeleton-item{border-radius:var(--radius-md);background:#ffffff08;border:1px solid #ffffff14;gap:1rem;padding:1.25rem;display:flex}.Comments-module__kmiRca__root .skeleton-avatar{background:#ffffff1a;border-radius:50%;flex-shrink:0;width:40px;height:40px;animation:1.5s ease-in-out infinite Comments-module__kmiRca__pulse}.Comments-module__kmiRca__root .skeleton-content{flex-direction:column;flex:1;gap:.75rem;display:flex}.Comments-module__kmiRca__root .skeleton-header{align-items:center;gap:1rem;display:flex}.Comments-module__kmiRca__root .skeleton-name{background:#ffffff1a;border-radius:4px;width:120px;height:16px;animation:1.5s ease-in-out infinite Comments-module__kmiRca__pulse}.Comments-module__kmiRca__root .skeleton-date{background:#ffffff14;border-radius:4px;width:80px;height:14px;animation:1.5s ease-in-out .2s infinite Comments-module__kmiRca__pulse}.Comments-module__kmiRca__root .skeleton-text{background:#ffffff14;border-radius:4px;width:100%;height:14px;animation:1.5s ease-in-out .3s infinite Comments-module__kmiRca__pulse}.Comments-module__kmiRca__root .skeleton-text.short{width:60%}@keyframes Comments-module__kmiRca__pulse{0%,to{opacity:.4}50%{opacity:.8}}.Comments-module__kmiRca__root .comments-list{flex-direction:column;gap:1.5rem;display:flex}.Comments-module__kmiRca__root .comment-item{border-radius:var(--radius-md);background:#ffffff08;border:1px solid #ffffff14;gap:1rem;padding:1.25rem;transition:all .2s;animation:.3s Comments-module__kmiRca__fadeIn;display:flex}.Comments-module__kmiRca__root .comment-item:hover{background:#ffffff0d;border-color:#ffffff1f}.Comments-module__kmiRca__root .comment-avatar{width:40px;height:40px;color:var(--color-accent);background:#0cbfa033;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.Comments-module__kmiRca__root .comment-body{flex-direction:column;flex:1;gap:.5rem;display:flex}.Comments-module__kmiRca__root .comment-header{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.Comments-module__kmiRca__root .comment-author{color:var(--color-text-primary);font-size:.875rem;font-weight:500}.Comments-module__kmiRca__root .comment-date{color:var(--color-text-muted);cursor:help;font-size:.75rem}.Comments-module__kmiRca__root .comment-content{color:var(--color-text-primary);white-space:pre-wrap;word-break:break-word;font-size:.875rem;font-weight:400;line-height:1.6}.Comments-module__kmiRca__root .comment-actions{gap:.5rem;margin-top:.5rem;display:flex}.Comments-module__kmiRca__root .btn-reply{color:var(--color-text-muted);border-radius:var(--radius-sm);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.8125rem;transition:all .2s;display:inline-flex}.Comments-module__kmiRca__root .btn-reply:hover{border-color:var(--color-accent);color:var(--color-accent);background:#0cbfa01a}.Comments-module__kmiRca__root .no-comments{text-align:center;color:var(--color-text-muted);flex-direction:column;align-items:center;gap:1rem;padding:3rem 2rem;display:flex}.Comments-module__kmiRca__root .no-comments svg{opacity:.3}.Comments-module__kmiRca__root .no-comments p{margin:0;font-size:.9375rem}@media (max-width:768px){:is(.Comments-module__kmiRca__root .article-stats-bar,.Comments-module__kmiRca__root.comments-section){padding:0 1rem}.Comments-module__kmiRca__root .article-stats{gap:1rem}.Comments-module__kmiRca__root .stat-item{font-size:.75rem}.Comments-module__kmiRca__root .stat-item svg{width:14px;height:14px}.Comments-module__kmiRca__root .comments-header{flex-direction:column;align-items:flex-start;gap:.75rem}.Comments-module__kmiRca__root .btn-write-comment{align-self:flex-start}.Comments-module__kmiRca__root .form-row{grid-template-columns:1fr;gap:1rem}.Comments-module__kmiRca__root .comment-form{padding:1rem}.Comments-module__kmiRca__root .comment-item{padding:1rem}.Comments-module__kmiRca__root .comment-avatar{width:32px;height:32px}.Comments-module__kmiRca__root .comment-avatar svg{width:16px;height:16px}}@media (max-width:480px){.Comments-module__kmiRca__root .article-stats{gap:.75rem}.Comments-module__kmiRca__root .stat-item{font-size:.75rem}.Comments-module__kmiRca__root .stat-item svg{width:14px;height:14px}}
