:root{--bg-primary: #f7f6f1;--bg-image-url: none;--bg-image-repeat: no-repeat;--bg-panel-1: #ffffff;--bg-panel-2: #f2f2e8;--bg-panel-3: #f7f6f1;--color-primary: #d9f676;--color-text: #272624;--color-text-secondary: #7d7c77;--color-text-dark: #000000;--color-divider: #ecebe6;--color-selection: #d1f16a;--border-radius-sidebar: 8px;--border-radius-list: 8px;--border-radius-button: 20px;--border-radius-input: 5px;--border-radius-image: 16px;--border-radius-code: 16px;--border-radius-comment: 8px;--spacing-tight: 8px;--spacing-normal: 12px;--spacing-loose: 16px;--spacing-btn-y: 6px;--spacing-btn-x: 18px;--font-heading: "Punctuation SC", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", "PingFang SC", "Noto Sans CJK SC", "Noto Sans SC", "Heiti SC", "DengXian", "Microsoft YaHei", sans-serif;--font-body: "Punctuation SC", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", "PingFang SC", "Noto Sans CJK SC", "Noto Sans SC", "Heiti SC", "DengXian", "Microsoft YaHei", sans-serif;--font-size-body: 16px;--font-size-h1: 2em;--font-size-h2: 1.5em;--font-size-h3: 1.25em;--font-size-h4: 1.125em;--font-size-h5: 1em;--font-size-h6: .875em;--font-size-h7: .75em;--font-size-small: .875em;--font-size-p: 1em;--font-size-a: 1em;--font-size-code: .875em;--font-size-pre: .875em;--font-size-blockquote: 1em;--font-size-li: 1em;--font-size-td: .875em;--font-size-strong: 1em;--font-size-em: 1em;--font-size-label: .875em;--font-size-button: .875em;--font-size-input: 1em;--line-height-body: 1.75;--line-height-heading: 1.4;--sidebar-panel-bg: #ffffff;--sidebar-panel-spacing-y: 16px;--search-bg: #ffffff;--footer-bg: #f7f6f1;--post-list-card-bg: #ffffff;--post-list-card-columns: 1;--comment-input-bg: #ffffff;--comment-item-bg: #ffffff;--comment-item-spacing: 16px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background-color:var(--bg-primary);background-image:var(--bg-image-url, none);background-repeat:var(--bg-image-repeat, no-repeat);background-attachment:fixed;background-position:center;background-size:cover;color:var(--color-text);font-family:var(--font-body);font-size:var(--font-size-body, 16px);font-weight:400;line-height:var(--line-height-body, 1.75);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:.01em;word-spacing:.05em}::selection{background-color:var(--color-selection, #d1f16a);color:var(--color-text-dark)}::-moz-selection{background-color:var(--color-selection, #d1f16a);color:var(--color-text-dark)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:400!important;color:var(--color-text-dark);line-height:var(--line-height-heading, 1.4);margin-bottom:var(--spacing-normal);margin-top:var(--spacing-loose);letter-spacing:.02em}h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child,h6:first-child{margin-top:0}h1{font-size:var(--font-size-h1, 32px)}h2{font-size:var(--font-size-h2, 24px)}h3{font-size:var(--font-size-h3, 20px)}h4{font-size:var(--font-size-h4, 18px)}h5{font-size:var(--font-size-h5, 16px)}h6{font-size:var(--font-size-h6, 14px)}h7{font-size:var(--font-size-h7, 12px)}p{font-size:var(--font-size-p, 16px);margin-bottom:var(--spacing-loose)}a{font-size:var(--font-size-a, 16px);color:var(--color-text);text-decoration:none;transition:color .2s ease}a:hover,a:focus,a.active{color:var(--color-text-dark)}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-loose)}.panel{background-color:var(--bg-panel-1);border-radius:var(--border-radius-list, 8px);padding:var(--spacing-loose)}.panel-nested{background-color:var(--bg-panel-2);border-radius:var(--border-radius-list, 8px);padding:var(--spacing-normal)}.panel-inner{background-color:var(--bg-panel-3);border-radius:var(--border-radius-list, 8px);padding:var(--spacing-normal)}.divider{border:none;border-top:1px solid var(--color-divider);margin:var(--spacing-loose) 0}.divider-thin{border-top:1px solid var(--color-divider);margin:var(--spacing-normal) 0}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-btn-y) var(--spacing-btn-x);border-radius:var(--border-radius-button, 20px);font-size:var(--font-size-button, 14px);font-weight:400;border:none;cursor:pointer;transition:all .2s ease;text-decoration:none}.btn-primary{background-color:var(--color-text-dark);color:var(--bg-panel-1)}.btn-primary:hover,.btn-primary:focus{background-color:var(--color-text-dark);color:var(--bg-panel-1);opacity:.9}.btn-default{background-color:var(--bg-panel-2);color:var(--color-text-dark)}.btn-default:hover,.btn-default:focus{background-color:var(--bg-panel-2);color:var(--color-text-dark);opacity:.9}.btn-white{background-color:var(--bg-panel-1);color:var(--color-text)}.btn-white:hover,.btn-white:focus{background-color:var(--bg-panel-1);color:var(--color-text-dark)}.input-wrapper{position:relative}.input{width:100%;padding:5px 20px 5px 40px;background-color:var(--bg-panel-1);border:none;border-radius:var(--border-radius-input);font-size:var(--font-size-input, 16px);color:var(--color-text-dark);font-family:var(--font-body);transition:all .2s ease}.input:focus{outline:none;color:var(--color-text-dark)}.input::-moz-placeholder{color:var(--color-text)}.input::placeholder{color:var(--color-text)}.input-icon{position:absolute;left:var(--spacing-normal);top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--color-text);pointer-events:none}.textarea{width:100%;padding:var(--spacing-normal) var(--spacing-loose);background-color:var(--bg-panel-1);border:none;border-radius:var(--border-radius-input, 5px);font-size:var(--font-size-input, 16px);color:var(--color-text-dark);font-family:var(--font-body);height:89px;resize:vertical;transition:all .2s ease}.textarea:focus{outline:none;color:var(--color-text-dark)}.nav-link{color:var(--color-text);font-size:var(--font-size-body, 16px);font-weight:400;padding:var(--spacing-tight) 0;position:relative;transition:color .2s ease}.nav-link:hover,.nav-link:focus{color:var(--color-text-dark)}.nav-link.active{color:var(--color-text-dark)}.nav-link.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background-color:var(--color-text-dark)}.tag{display:inline-flex;align-items:center;padding:4px var(--spacing-normal);background-color:var(--bg-panel-2);border-radius:var(--border-radius-list, 8px);font-size:var(--font-size-small, 14px);color:var(--color-text);text-decoration:none;transition:all .2s ease}.tag:hover{background-color:var(--bg-panel-2);color:var(--color-text-dark)}.prose{color:var(--color-text);font-size:var(--font-size-body, 16px);font-weight:400;line-height:var(--line-height-body, 1.75);letter-spacing:.01em;word-spacing:.05em}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{font-family:var(--font-heading);font-weight:400;color:var(--color-text-dark);margin-top:var(--spacing-loose);margin-bottom:var(--spacing-normal);line-height:var(--line-height-heading, 1.4);letter-spacing:.02em}.prose>h1:first-child,.prose>h2:first-child,.prose>h3:first-child,.prose>h4:first-child,.prose>h5:first-child,.prose>h6:first-child{margin-top:0}.prose h1{font-size:var(--font-size-h1, 32px)}.prose h2{font-size:var(--font-size-h2, 24px)}.prose h3{font-size:var(--font-size-h3, 20px)}.prose h4{font-size:var(--font-size-h4, 18px)}.prose h5{font-size:var(--font-size-h5, 16px)}.prose h6{font-size:var(--font-size-h6, 14px)}.prose h7{font-size:var(--font-size-h7, 12px)}.prose p{font-size:var(--font-size-p, 16px);margin-bottom:var(--spacing-loose)}.prose a{font-size:var(--font-size-a, 16px)}.prose li{font-size:var(--font-size-li, 16px)}.prose strong,.prose b{font-size:var(--font-size-strong, 16px)}.prose em,.prose i{font-size:var(--font-size-em, 16px)}.prose td,.prose th{font-size:var(--font-size-td, 14px)}.prose a{color:var(--color-text);text-decoration:underline}.prose a:hover,.prose a:focus{color:var(--color-text-dark)}.prose code{background-color:var(--bg-panel-2);padding:2px 6px;border-radius:var(--border-radius-code, 16px);font-size:var(--font-size-code, 14px);font-family:Courier New,monospace;color:var(--color-text-dark)}.prose pre{background-color:var(--bg-panel-2);padding:var(--spacing-loose);border-radius:var(--border-radius-code, 16px);overflow-x:auto;margin-bottom:var(--spacing-loose)}.prose pre{font-size:var(--font-size-pre, 14px)}.prose pre code{background-color:transparent;padding:0;color:var(--color-text-dark);font-size:var(--font-size-pre, 14px)}.prose blockquote{font-size:var(--font-size-blockquote, 16px);border-left:3px solid var(--color-divider);padding-left:var(--spacing-loose);margin:var(--spacing-loose) 0;color:var(--color-text);font-style:italic}.prose ul,.prose ol{margin-bottom:var(--spacing-loose);padding-left:var(--spacing-loose)}.prose li{margin-bottom:var(--spacing-tight)}.prose img{display:block;margin-left:auto;margin-right:auto;margin-top:var(--spacing-loose);margin-bottom:var(--spacing-loose);border-radius:var(--border-radius-image, 16px);max-width:100%;height:auto}.prose table{width:100%;border-collapse:collapse;margin-bottom:var(--spacing-loose)}.prose th,.prose td{padding:var(--spacing-normal);border-bottom:1px solid var(--color-divider);text-align:left}.prose th{font-weight:400;color:var(--color-text-dark);background-color:var(--bg-panel-2)}.text-small{font-size:var(--font-size-small, 14px)}.text-muted{color:var(--color-text)}.text-dark{color:var(--color-text-dark)}.mt-tight{margin-top:var(--spacing-tight)}.mt-normal{margin-top:var(--spacing-normal)}.mt-loose{margin-top:var(--spacing-loose)}.mb-tight{margin-bottom:var(--spacing-tight)}.mb-normal{margin-bottom:var(--spacing-normal)}.mb-loose{margin-bottom:var(--spacing-loose)}.p-tight{padding:var(--spacing-tight)}.p-normal{padding:var(--spacing-normal)}.p-loose{padding:var(--spacing-loose)}@media (max-width: 768px){:root{--border-radius-sidebar: 8px;--border-radius-list: 8px;--border-radius-button: 16px;--border-radius-input: 5px;--border-radius-image: 12px;--border-radius-code: 12px;--border-radius-comment: 8px}h1{font-size:calc(var(--font-size-h1, 32px) * .875)}h2{font-size:calc(var(--font-size-h2, 24px) * .917)}h3{font-size:calc(var(--font-size-h3, 20px) * .9)}h4{font-size:calc(var(--font-size-h4, 18px) * .889)}h5{font-size:calc(var(--font-size-h5, 16px) * .875)}h6{font-size:calc(var(--font-size-h6, 14px) * .857)}h7{font-size:calc(var(--font-size-h7, 12px) * .833)}.container{padding:0 var(--spacing-normal)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background-color:var(--bg-panel-2)}::-webkit-scrollbar-thumb{background-color:var(--color-divider);border-radius:4px}::-webkit-scrollbar-thumb:hover{background-color:var(--color-text)}*:focus{outline:none}a:focus{outline:none}button:focus,input:focus,textarea:focus{outline:2px solid var(--color-text-dark);outline-offset:2px}.header-wrapper{position:sticky;top:0;z-index:50;background-color:var(--bg-primary)}.header-inner{max-width:1200px;margin:0 auto;padding:0 var(--spacing-loose);display:flex;align-items:center;height:56px;position:relative}.logo-wrapper{display:flex;flex-shrink:0;z-index:2}.logo-wrapper a{font-size:var(--font-size-h3, 20px);font-weight:600;color:var(--color-text-dark);line-height:var(--line-height-heading, 1.3)}.logo-wrapper a:hover{color:var(--color-text-dark)}.logo-wrapper img{height:28px;width:auto;border-radius:5px}.logo-wrapper .site-name{font-size:var(--font-size-h3, 20px);font-weight:600;color:var(--color-text-dark);line-height:var(--line-height-heading, 1.3)}.nav-desktop{display:none}@media (min-width: 768px){.nav-desktop{display:flex;align-items:center;gap:var(--spacing-loose);flex:1;justify-content:center}}.search-wrapper{display:flex;align-items:center;gap:var(--spacing-normal);flex-shrink:0;z-index:2;margin-left:auto}.mobile-menu-btn{display:block;padding:var(--spacing-tight);background:none;border:none;color:var(--color-text);cursor:pointer;transition:color .2s ease}.mobile-menu-btn:hover{color:var(--color-text-dark)}@media (min-width: 768px){.mobile-menu-btn{display:none}}.mobile-menu{max-height:0;overflow:hidden;border-top:1px solid transparent;background-color:var(--bg-primary);transition:max-height .3s ease-out,border-top-color .3s ease-out}.mobile-menu.active{max-height:500px;border-top-color:var(--color-divider)}.mobile-menu-inner{padding:var(--spacing-normal) var(--spacing-loose);opacity:0;transform:translateY(-10px);transition:opacity .3s ease-out .1s,transform .3s ease-out .1s}.mobile-menu.active .mobile-menu-inner{opacity:1;transform:translateY(0)}.mobile-menu-inner a{display:block;padding:var(--spacing-normal);color:var(--color-text)}.mobile-menu-inner a:hover,.mobile-menu-inner a.active{color:var(--color-text-dark)}.content-wrapper{max-width:1200px;margin:0 auto;padding:var(--spacing-loose);display:flex;flex-direction:column;gap:var(--spacing-loose)}@media (min-width: 1024px){.content-wrapper,.content-wrapper.sidebar-left{flex-direction:row}.content-wrapper.sidebar-right{flex-direction:row-reverse!important}}@media (max-width: 1023px){.mobile-author-panel-wrapper{max-width:1200px;margin:0 auto;padding:var(--spacing-loose) var(--spacing-loose) 0}.content-wrapper .main-content{order:1}.content-wrapper .sidebar-wrapper{order:2}}@media (min-width: 1024px){.mobile-author-panel-wrapper{display:none}}.sidebar-wrapper{width:100%}@media (min-width: 1024px){.sidebar-wrapper{width:256px;flex-shrink:0}}.main-content{flex:1;min-width:0}@media (min-width: 768px){.search-form-desktop{display:flex!important;align-items:center}}.header-inner.menu-center .nav-desktop{justify-content:center}.header-inner.menu-right .nav-desktop{justify-content:flex-end;margin-right:var(--spacing-loose)}.header-inner.menu-right.no-search .nav-desktop{margin-right:0}.input-wrapper .input{background-color:var(--search-bg, #ffffff)}@media (max-width: 767px){.header-inner{justify-content:space-between}.search-wrapper{margin-left:auto}}.sidebar{display:flex;flex-direction:column;gap:var(--sidebar-panel-spacing-y, var(--spacing-normal))}@media (max-width: 1023px){.sidebar .mobile-author-panel{display:none}.mobile-author-panel-wrapper.hide-on-mobile-single{display:none!important}}.sidebar-panel{background-color:var(--sidebar-panel-bg);border-radius:var(--border-radius-sidebar, 8px);padding:var(--spacing-normal)}.sidebar-title{font-size:var(--font-size-small, 14px);font-weight:600;color:var(--color-text-dark);margin-bottom:var(--spacing-normal);text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;justify-content:flex-start}.sidebar-title.has-divider{padding-bottom:var(--spacing-normal);border-bottom:1px solid var(--color-divider)}.sidebar-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--sidebar-list-item-gap, var(--spacing-tight))}.sidebar-list-item{margin:0}.sidebar-list-item a{display:flex;align-items:center;justify-content:space-between;padding:var(--sidebar-list-item-padding-top, var(--spacing-tight)) var(--sidebar-list-item-padding-right, var(--spacing-normal)) var(--sidebar-list-item-padding-bottom, var(--spacing-tight)) var(--sidebar-list-item-padding-left, var(--spacing-normal));border-radius:var(--sidebar-list-item-border-radius, var(--border-radius-sidebar, 8px));background-color:var(--sidebar-list-item-bg, transparent);color:var(--color-text);font-size:var(--font-size-small, 14px);transition:all .2s ease}.sidebar-list-item a:hover{background-color:var(--bg-panel-2);color:var(--color-text-dark)}.sidebar-list-item-count{font-size:calc(var(--font-size-small, 14px) * .857);color:var(--color-text);background-color:var(--bg-panel-2);padding:2px 8px;border-radius:var(--border-radius-sidebar, 8px);font-weight:500}.sidebar-list-item a:hover .sidebar-list-item-count{background-color:var(--bg-panel-3)}.sidebar-tags{display:flex;flex-wrap:wrap;gap:var(--sidebar-tag-gap, var(--spacing-tight))}.sidebar-tags .tag{padding:var(--sidebar-tag-padding-top, 4px) var(--sidebar-tag-padding-right, 12px) var(--sidebar-tag-padding-bottom, 4px) var(--sidebar-tag-padding-left, 12px);border-radius:var(--sidebar-tag-border-radius, 4px);background-color:var(--sidebar-tag-bg, transparent)}.sidebar-post-item{margin-bottom:var(--sidebar-post-item-gap, var(--spacing-normal));padding:var(--sidebar-post-item-padding-top, 0) var(--sidebar-post-item-padding-right, 0) var(--sidebar-post-item-padding-bottom, 0) var(--sidebar-post-item-padding-left, 0);border-radius:var(--sidebar-post-item-border-radius, 0);background-color:var(--sidebar-post-item-bg, transparent)}.sidebar-post-item:last-child{margin-bottom:0}.sidebar-post-link{display:block;color:var(--color-text);font-size:var(--font-size-small, 14px);line-height:var(--line-height-body, 1.6);margin-bottom:4px}.sidebar-post-link:hover{color:var(--color-text-dark)}.sidebar-post-date{font-size:calc(var(--font-size-small, 14px) * .857);color:var(--color-text)}.sidebar-comment-item{font-size:var(--font-size-small, 14px);margin-bottom:var(--sidebar-comment-item-gap, var(--spacing-normal));padding:var(--sidebar-comment-item-padding-top, 0) var(--sidebar-comment-item-padding-right, 0) var(--sidebar-comment-item-padding-bottom, 0) var(--sidebar-comment-item-padding-left, 0);border-radius:var(--sidebar-comment-item-border-radius, 0);background-color:var(--sidebar-comment-item-bg, transparent)}.sidebar-comment-item:last-child{margin-bottom:0}.sidebar-comment-link{color:var(--color-text)}.sidebar-comment-link:hover{color:var(--color-text-dark)}.sidebar-comment-author{font-weight:600;color:var(--color-text-dark)}.sidebar-comment-excerpt{color:var(--color-text)}.sidebar-author-panel{background-color:var(--sidebar-panel-bg);border-radius:var(--border-radius-sidebar, 8px);padding:var(--spacing-normal)}.sidebar-author-content{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--spacing-normal)}.sidebar-author-avatar{flex-shrink:0}.sidebar-author-avatar img{width:80px;height:80px;border-radius:50%;-o-object-fit:cover;object-fit:cover;display:block}.sidebar-author-avatar a{display:block;transition:opacity .2s ease}.sidebar-author-avatar a:hover{opacity:.9}.sidebar-author-info{flex:1;display:flex;flex-direction:column;gap:var(--spacing-tight);width:100%}.sidebar-author-name{font-size:var(--font-size-h3, 20px);font-weight:400;color:var(--color-text-dark)}.sidebar-author-name a{color:var(--color-text-dark);text-decoration:none;transition:color .2s ease}.sidebar-author-name a:hover{color:var(--color-text-dark);opacity:.8}.sidebar-author-description{font-size:var(--font-size-small, 14px);color:var(--color-text);line-height:var(--line-height-body, 1.6)}.sidebar-author-social{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:var(--spacing-tight);margin-top:var(--spacing-tight)}.sidebar-author-social-link{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background-color:var(--bg-panel-2);transition:all .2s ease;text-decoration:none;padding:6px}.sidebar-author-social-link img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;opacity:.7;transition:opacity .2s ease}.sidebar-author-social-link:hover{background-color:var(--bg-panel-3);transform:translateY(-2px)}.sidebar-author-social-xiaohongshu{width:auto;padding:6px 8px;border-radius:30px}.sidebar-author-social-xiaohongshu img{width:auto;height:100%;-o-object-fit:contain;object-fit:contain;opacity:1}button.sidebar-author-social-link{border:none;cursor:pointer}.wechat-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.wechat-dialog-overlay.active{opacity:1;visibility:visible}.wechat-dialog{background-color:var(--bg-panel-1);border-radius:var(--border-radius-list, 12px);max-width:320px;width:90%;box-shadow:0 20px 60px #0000004d;transform:scale(.9) translateY(20px);transition:transform .3s ease}.wechat-dialog-overlay.active .wechat-dialog{transform:scale(1) translateY(0)}.wechat-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-normal) var(--spacing-loose);border-bottom:1px solid var(--color-divider)}.wechat-dialog-title{font-size:var(--font-size-h3, 18px);font-weight:600;color:var(--color-text-dark);margin:0}.wechat-dialog-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background-color:transparent;color:var(--color-text);cursor:pointer;border-radius:50%;transition:all .2s ease}.wechat-dialog-close:hover{background-color:var(--bg-panel-2);color:var(--color-text-dark)}.wechat-dialog-body{padding:var(--spacing-loose);text-align:center}.wechat-qr-image{max-width:100%;height:auto;border-radius:var(--border-radius-image, 8px);margin-bottom:var(--spacing-normal)}.wechat-dialog-hint{font-size:var(--font-size-small, 14px);color:var(--color-text);margin:0}.sidebar-author-social-link:hover img{opacity:1}.article-list{display:flex;flex-direction:column;gap:var(--spacing-loose)}.pagination{margin-top:var(--spacing-loose);display:flex;justify-content:center;align-items:center;gap:var(--spacing-normal);flex-wrap:wrap}.pagination a,.pagination span{padding:0;font-size:var(--font-size-body, 16px);text-decoration:none;color:var(--color-text);transition:color .2s ease}.pagination .current{color:var(--color-text-dark);font-weight:600}.pagination a{color:var(--color-text)}.pagination a:hover{color:var(--color-text-dark)}.empty-state{background-color:var(--bg-panel-1);border-radius:var(--border-radius-list, 8px);padding:48px var(--spacing-loose);text-align:center}.empty-state i{width:64px;height:64px;margin:0 auto var(--spacing-loose);color:var(--color-text);display:block}.empty-state h3{font-size:var(--font-size-h3, 20px);color:var(--color-text-dark);margin-bottom:var(--spacing-tight);line-height:var(--line-height-heading, 1.3)}.empty-state p{color:var(--color-text)}.post-article{border-radius:var(--border-radius-list, 8px);padding:var(--spacing-loose)}.post-header{margin-bottom:var(--spacing-loose)}.post-title{font-size:var(--font-size-h1, 32px);font-weight:600;color:var(--color-text-dark);margin-bottom:var(--spacing-normal);line-height:var(--line-height-heading, 1.3)}.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-normal);font-size:var(--font-size-small, 14px);color:var(--color-text-secondary);padding-bottom:var(--spacing-normal);border-bottom:1px solid var(--color-divider)}.post-meta-item{display:flex;align-items:center;gap:4px}.post-meta-item a{color:var(--color-text-secondary)}.post-meta-item a:hover{color:var(--color-text-dark)}@media (max-width: 1023px){.post-meta-author{display:none}}.post-content{margin-bottom:var(--spacing-loose)}.post-tags{padding-top:var(--spacing-loose);border-top:1px solid var(--color-divider);margin-bottom:var(--spacing-loose)}.post-tags-header{display:flex;align-items:center;gap:var(--spacing-tight);margin-bottom:var(--spacing-normal);font-size:var(--font-size-small, 14px);font-weight:600;color:var(--color-text-dark)}.post-tags-list{display:flex;flex-wrap:wrap;gap:var(--spacing-tight)}.post-navigation{padding-top:var(--spacing-loose);border-top:1px solid var(--color-divider);display:flex;flex-direction:column;gap:var(--spacing-normal)}@media (min-width: 640px){.post-navigation{flex-direction:row;justify-content:space-between}}.post-nav-item{flex:1}.post-nav-label{font-size:var(--font-size-small, 14px);color:var(--color-text);margin-bottom:var(--spacing-tight)}.post-nav-link{color:var(--color-text-dark);font-weight:400}.post-nav-link:hover{color:var(--color-text-dark)}.post-nav-empty{color:var(--color-text)}.article-list.list-mode{display:flex;flex-direction:column;gap:var(--spacing-loose)}.post-list-item{background-color:var(--post-list-card-bg, var(--bg-panel-1));border-radius:var(--border-radius-list, 8px);padding:var(--spacing-loose);display:flex;flex-direction:row;gap:var(--spacing-loose);transition:box-shadow .2s ease,transform .2s ease}.post-list-item:hover{box-shadow:0 4px 20px #00000014}.post-list-image{flex-shrink:0;width:240px;height:160px;overflow:hidden;border-radius:var(--border-radius-image, 8px);position:relative}.post-list-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .3s ease}.post-list-item:hover .post-list-image img{transform:scale(1.05)}.post-list-content{flex:1;display:flex;flex-direction:column;min-width:0}.post-list-header{margin-bottom:var(--spacing-normal)}.post-list-title{font-size:var(--font-size-h2, 22px);font-weight:600;color:var(--color-text-dark);margin-bottom:var(--spacing-tight);line-height:var(--line-height-heading, 1.3)}.post-list-title a{color:inherit;text-decoration:none}.post-list-title a:hover{color:var(--color-primary)}.post-list-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-normal);font-size:var(--font-size-small, 14px);color:var(--color-text-secondary)}.post-list-meta-item{display:flex;align-items:center;gap:4px}.post-list-meta-item a{color:var(--color-text-secondary);text-decoration:none}.post-list-meta-item a:hover{color:var(--color-text-dark)}.post-list-excerpt{flex:1;color:var(--color-text);font-size:var(--font-size-body, 16px);line-height:var(--line-height-body, 1.75);margin-bottom:var(--spacing-normal)}.post-list-footer{display:flex;align-items:center;justify-content:space-between;padding-top:var(--spacing-normal);border-top:1px solid var(--color-divider);flex-wrap:wrap;gap:var(--spacing-normal);margin-top:auto}.post-list-footer.no-read-more{border-top:none;padding-top:0}.post-list-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-tight)}@media (max-width: 768px){.post-list-item{flex-direction:column}.post-list-image{width:100%;height:200px}.post-list-meta{gap:var(--spacing-tight)}}.article-list.card-mode .post-card{width:calc((100% - var(--spacing-loose) * (var(--post-list-card-columns, 2) - 1)) / var(--post-list-card-columns, 2))}.post-card{background-color:var(--post-list-card-bg, var(--bg-panel-1));border-radius:var(--border-radius-list, 12px);overflow:hidden;transition:box-shadow .3s ease,transform .3s ease;margin-bottom:var(--spacing-loose)}.post-card:hover{box-shadow:0 8px 30px #0000001f;transform:translateY(-4px)}.post-card-image{display:block;width:100%;position:relative;overflow:hidden}.post-card-image img{width:100%;height:auto;display:block;transition:transform .4s ease}.post-card:hover .post-card-image img{transform:scale(1.05)}.post-card-image-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,transparent 0%,transparent 60%,rgba(0,0,0,.3) 100%);opacity:0;transition:opacity .3s ease}.post-card:hover .post-card-image-overlay{opacity:1}.post-card:not(.has-feature-image){padding-top:var(--spacing-loose)}.post-card-body{padding:var(--spacing-normal) var(--spacing-loose) var(--spacing-loose);display:flex;flex-direction:column}.post-card.has-feature-image .post-card-body{padding-top:var(--spacing-normal)}.post-card-header{margin-bottom:var(--spacing-normal)}.post-card-title{font-size:var(--font-size-h3, 18px);font-weight:600;color:var(--color-text-dark);margin-bottom:var(--spacing-tight);line-height:var(--line-height-heading, 1.4);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.post-card-title a{color:inherit;text-decoration:none}.post-card-title a:hover{color:var(--color-primary)}.post-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-tight);font-size:var(--font-size-small, 13px);color:var(--color-text-secondary)}.post-card-meta-item{display:flex;align-items:center;gap:3px}.post-card-meta-item a{color:inherit;text-decoration:none}.post-card-meta-item a:hover{color:var(--color-text-dark)}.post-card-excerpt{color:var(--color-text);font-size:var(--font-size-small, 14px);line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:var(--spacing-normal)}.post-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:var(--spacing-normal);border-top:1px solid var(--color-divider)}.post-card-footer.no-read-more{border-top:none;padding-top:0}.post-card-tags{display:flex;flex-wrap:wrap;gap:6px}.tag-small{font-size:var(--font-size-small, 12px);padding:2px 8px}.post-card-read-more{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background-color:var(--color-text-dark);color:var(--bg-panel-1);transition:all .2s ease}.post-card-read-more:hover{background-color:var(--color-text-dark);color:var(--bg-panel-1);opacity:.9}@media (max-width: 1024px){.article-list.card-mode .post-card{width:calc((100% - var(--spacing-loose)) / 2)}}@media (max-width: 768px){.article-list.card-mode .post-card{width:100%}.post-card-title{font-size:var(--font-size-h3, 16px)}.post-card-excerpt{-webkit-line-clamp:2}}.archive-breadcrumb{margin-bottom:var(--spacing-loose);font-size:var(--font-size-small, 14px);color:var(--color-text-secondary)}.breadcrumb-list{display:flex;align-items:center;gap:0;flex-wrap:wrap;list-style:none;padding:0;margin:0}.breadcrumb-item{display:flex;align-items:center;justify-content:center;gap:4px}.breadcrumb-item a{display:flex;align-items:center;justify-content:center;gap:4px;color:var(--color-text-secondary);text-decoration:none;transition:color .2s ease}.breadcrumb-item a:hover{color:var(--color-text-dark)}.breadcrumb-item.current{display:flex;align-items:center;justify-content:center;gap:4px;color:var(--color-text-dark)}.breadcrumb-separator{color:var(--color-text-secondary);margin:0 6px}.breadcrumb-icon{width:14px;height:14px;color:var(--color-text-secondary);flex-shrink:0}.archive-description{margin-top:var(--spacing-tight);margin-bottom:0;font-size:var(--font-size-small, 14px);color:var(--color-text-secondary)}.comments-wrapper{margin-top:var(--spacing-loose)}.comments-list-panel{padding:var(--spacing-loose);margin-bottom:var(--spacing-loose)}.comments-title{font-size:var(--font-size-h2, 24px);font-weight:400;color:var(--color-text-dark);margin-bottom:var(--spacing-loose);display:flex;align-items:center;gap:var(--spacing-tight);line-height:var(--line-height-heading, 1.3)}.comments-title i{width:20px;height:20px;color:var(--color-primary)}.comments-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--comment-item-spacing, var(--spacing-loose))}.comment-item-wrapper{display:flex;flex-direction:column}.comment-item-inner{background-color:var(--comment-item-bg, var(--bg-panel-1));border-radius:var(--border-radius-comment, 8px);padding:var(--spacing-loose);display:flex;gap:var(--spacing-normal);align-items:flex-start;position:relative}.comment-item-wrapper.comment-child .comment-item-inner{background-color:var(--bg-panel-1)}.comment-inline-reply-btn{background:none;border:none;padding:0;font-size:var(--font-size-small, 14px);color:var(--color-text);cursor:pointer;transition:color .2s ease}.comment-inline-reply-btn:hover{color:var(--color-text-dark)}.comment-inline-reply-form{margin-top:var(--spacing-normal);padding-top:var(--spacing-normal);border-top:1px solid var(--color-divider)}.comment-inline-reply-input-wrapper{position:relative}.comment-inline-reply-textarea{width:100%;min-height:36px;max-height:200px;padding:var(--spacing-tight) var(--spacing-normal);border:1px solid var(--color-divider);border-radius:var(--border-radius-input, 5px);background-color:var(--comment-input-bg, var(--bg-panel-1));font-size:var(--font-size-body, 16px);font-family:inherit;line-height:1.5;resize:vertical;transition:border-color .2s ease}.comment-inline-reply-textarea:focus{outline:none;border-color:var(--color-text-dark)}.comment-inline-reply-actions{display:flex;justify-content:space-between;align-items:center;margin-top:var(--spacing-tight);gap:var(--spacing-normal)}.comment-inline-emoji-buttons{display:flex;align-items:center;gap:var(--spacing-tight)}.comment-inline-emoji-quick{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background-color:var(--bg-panel-2);border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s ease}.comment-inline-emoji-quick:hover{background-color:var(--bg-panel-3);transform:scale(1.1)}.comment-inline-emoji-toggle{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background-color:var(--bg-panel-2);border:none;border-radius:6px;cursor:pointer;color:var(--color-text);transition:all .2s ease}.comment-inline-emoji-toggle:hover{background-color:var(--bg-panel-3)}.comment-inline-emoji-toggle.active{background-color:var(--color-primary);color:var(--color-text-dark)}.comment-inline-reply-btns{display:flex;align-items:center;gap:var(--spacing-tight)}.comment-inline-cancel-btn{background:none;border:none;padding:var(--spacing-tight) var(--spacing-normal);font-size:var(--font-size-small, 14px);color:var(--color-text);cursor:pointer;transition:color .2s ease}.comment-inline-cancel-btn:hover{color:var(--color-text-dark)}.comment-inline-submit-btn{padding:var(--spacing-tight) var(--spacing-normal);font-size:var(--font-size-small, 14px)}.comment-inline-emoji-picker-wrapper{position:absolute;left:0;bottom:100%;margin-bottom:var(--spacing-tight);z-index:100;display:none}.comment-inline-emoji-picker-wrapper.show{display:block}.comment-avatar{flex-shrink:0}.comment-avatar img{width:40px;height:40px;border-radius:50%;-o-object-fit:cover;object-fit:cover}.comment-body{flex:1;display:flex;flex-direction:column;gap:var(--spacing-tight);min-width:0}.comment-row{display:flex;align-items:center;gap:var(--spacing-normal)}.comment-row-1{justify-content:space-between;align-items:center}.comment-author-info{display:flex;align-items:center;gap:var(--spacing-tight);flex-wrap:wrap}.comment-author-name{font-weight:400;color:var(--color-text-dark);font-size:var(--font-size-body, 16px)}.comment-author-name a{color:var(--color-text-dark);font-weight:400}.comment-reply-to{font-size:var(--font-size-small, 14px);color:var(--color-text)}.comment-reply-to-link{color:var(--color-text);text-decoration:none;transition:color .2s ease}.comment-reply-to-link:hover{color:var(--color-text-dark);text-decoration:underline}.comment-item.highlight{background-color:var(--color-primary);animation:highlight-fade 2s ease-out}@keyframes highlight-fade{0%{background-color:var(--color-primary)}to{background-color:var(--bg-panel-1)}}.comment-reply-link{flex-shrink:0}.comment-reply-link a{font-size:var(--font-size-small, 14px);color:var(--color-text);text-decoration:none}.comment-reply-link a:hover{color:var(--color-text-dark)}.comment-row-2{align-items:flex-start}.comment-content{color:var(--color-text);font-size:var(--font-size-body, 16px);line-height:var(--line-height-body, 1.8);word-wrap:break-word}.comment-content p{margin:0}.comment-date{font-size:var(--font-size-small, 14px);color:var(--color-text-secondary)}.comment-date a{color:var(--color-text-secondary);text-decoration:none}.comment-date a:hover{color:var(--color-text-dark)}.comment-pagination{margin-top:var(--spacing-loose);display:flex;justify-content:center;align-items:center;gap:var(--spacing-normal);flex-wrap:wrap}.comment-pagination a,.comment-pagination span{padding:0;font-size:var(--font-size-body, 16px);text-decoration:none;color:var(--color-text);transition:color .2s ease}.comment-pagination .current{color:var(--color-text-dark)}.comment-pagination a{color:var(--color-text)}.comment-pagination a:hover{color:var(--color-text-dark)}.comment-form-panel{border-radius:var(--border-radius-comment, 8px);padding:var(--spacing-loose)}.comment-form-title{font-size:var(--font-size-h2, 24px);font-weight:400;color:var(--color-text-dark);margin-bottom:var(--spacing-loose);display:flex;align-items:center;gap:var(--spacing-tight);line-height:var(--line-height-heading, 1.3)}.comment-form-title i{width:20px;height:20px;color:var(--color-primary)}.comment-form{display:flex;flex-direction:column;gap:var(--spacing-normal)}.comment-form-info{background-color:var(--bg-panel-2);border-radius:var(--border-radius-comment, 8px);padding:var(--spacing-normal);font-size:var(--font-size-small, 14px);color:var(--color-text)}.comment-form-info a{color:var(--color-text-dark);font-weight:400}.comment-form-info a:hover{color:var(--color-text-dark)}.comment-form-fields{display:grid;grid-template-columns:1fr;gap:var(--spacing-normal)}@media (min-width: 768px){.comment-form-fields{grid-template-columns:repeat(3,1fr)}}.comment-form-field{display:flex;flex-direction:column;gap:var(--spacing-tight)}.comment-form-label{font-size:var(--font-size-small, 14px);font-weight:400;color:var(--color-text-dark)}.comment-form-label .required{color:var(--color-text)}.comment-form-textarea{display:flex;flex-direction:column;gap:var(--spacing-tight);position:relative}.comment-form-textarea-wrapper{position:relative}.comment-form .input,.comment-form .textarea{background-color:var(--comment-input-bg, var(--bg-panel-1))}.comment-emoji-buttons-group{position:absolute;right:var(--spacing-normal);bottom:var(--spacing-normal);display:flex;align-items:center;gap:var(--spacing-tight);z-index:10}.comment-emoji-quick-buttons{display:flex;align-items:center;gap:var(--spacing-tight)}.comment-emoji-quick-button{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background-color:var(--bg-panel-2);border:none;border-radius:var(--border-radius-comment, 8px);cursor:pointer;transition:all .2s ease;font-size:var(--font-size-body, 16px);line-height:1;padding:0}.comment-emoji-quick-button:hover{background-color:var(--bg-panel-2);opacity:.8;transform:scale(1.1)}.comment-emoji-button{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background-color:var(--bg-panel-2);border:none;border-radius:var(--border-radius-comment, 8px);cursor:pointer;transition:all .2s ease;color:var(--color-text)}.comment-emoji-button:hover{background-color:var(--bg-panel-2);opacity:.8}.comment-emoji-button.active{background-color:var(--color-primary);color:var(--color-text-dark)}.comment-emoji-picker-wrapper{position:absolute;right:0;bottom:42px;z-index:100;display:none}.comment-emoji-picker-wrapper.show{display:block}emoji-picker{--emoji-size: 1.5rem;--num-columns: 8;--category-emoji-size: 1.2rem;--border-radius: var(--border-radius-code, 16px);--background: var(--bg-panel-1);--border-color: var(--color-divider);--indicator-color: var(--color-primary);--text-color: var(--color-text-dark);--input-border-color: var(--color-divider);--input-focus-border-color: var(--color-text-dark);--category-font-size: var(--font-size-small, 14px);--font-family: var(--font-body)}.comment-form-submit{margin-top:var(--spacing-tight)}.comment-closed{background-color:var(--bg-panel-1);border-radius:var(--border-radius-comment, 8px);padding:48px var(--spacing-loose);text-align:center}.comment-closed i{width:48px;height:48px;margin:0 auto var(--spacing-loose);color:var(--color-text);display:block}.comment-closed h3{font-size:var(--font-size-h3, 20px);font-weight:400;color:var(--color-text-dark);line-height:var(--line-height-heading, 1.3)}.release-page{padding:var(--spacing-loose)}.release-product-section{display:flex;gap:var(--spacing-loose);margin-bottom:var(--spacing-loose);padding-bottom:var(--spacing-loose);border-bottom:var(--border-width-list) var(--border-style-list) var(--color-divider)}.release-product-image{flex-shrink:0;width:420px;min-height:280px;display:flex;align-items:center;justify-content:center;background-color:var(--bg-panel-1);border-radius:var(--border-radius-list);overflow:hidden;border:var(--border-width-list) var(--border-style-list) var(--color-divider)}.release-product-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.release-product-image-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--color-text)}.release-product-info{flex:1;display:flex;flex-direction:column;gap:var(--spacing-normal)}.release-software-name{font-size:28px;font-weight:600;color:var(--color-text-dark);margin:0;line-height:1.3}.release-version-badge{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;background-color:var(--color-primary);color:var(--color-text-dark);border-radius:12px;font-size:13px;font-weight:600}.release-meta-table{display:flex;flex-direction:column;gap:0}.release-meta-row{display:flex;align-items:center;gap:var(--spacing-normal);padding:var(--spacing-tight) 0;border-bottom:1px dashed var(--color-divider)}.release-meta-row:last-child{border-bottom:none}.release-meta-label{flex-shrink:0;width:70px;font-size:13px;color:var(--color-text)}.release-meta-value{flex:1;font-size:14px;color:var(--color-text-dark)}.release-github-link{display:inline-flex;align-items:center;gap:6px;color:var(--color-text-dark);text-decoration:none;transition:opacity .2s ease}.release-github-link:hover{opacity:.7}.release-notes{margin-top:var(--spacing-tight)}.release-notes-label{font-size:13px;color:var(--color-text);margin-bottom:var(--spacing-tight)}.release-notes-content{font-size:14px;color:var(--color-text-dark);line-height:1.6;padding:var(--spacing-normal);background-color:var(--bg-panel-1);border-radius:var(--border-radius-list);border:var(--border-width-list) var(--border-style-list) var(--color-divider)}.release-download{margin-top:var(--spacing-tight)}.release-download-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:500;text-decoration:none;border-radius:var(--border-radius-list);transition:all .2s ease;cursor:pointer;border:none;background:none}.release-download-btn.btn-primary{background-color:var(--color-text-dark);color:var(--bg-panel-1);border:var(--border-width-list) var(--border-style-list) var(--color-text-dark)}.release-download-btn.btn-primary:hover{opacity:.85}.release-qr-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:9999;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}.release-qr-dialog-overlay.active{opacity:1;visibility:visible}.release-qr-dialog-content{background-color:var(--bg-panel-1);border-radius:var(--border-radius-list);padding:var(--spacing-loose);max-width:360px;width:90%;text-align:center;position:relative;box-shadow:0 20px 40px #0000004d;transform:scale(.9);transition:transform .2s ease}.release-qr-dialog-overlay.active .release-qr-dialog-content{transform:scale(1)}.release-qr-dialog-close{position:absolute;top:12px;right:12px;width:28px;height:28px;border:none;background:var(--bg-panel-2);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-text);transition:all .2s ease}.release-qr-dialog-close:hover{background:var(--color-divider);color:var(--color-text-dark)}.release-qr-dialog-title{font-size:16px;font-weight:600;color:var(--color-text-dark);margin:0 0 var(--spacing-normal) 0}.release-qr-dialog-image{width:100%;max-width:240px;height:auto;border-radius:var(--border-radius-list);border:var(--border-width-list) var(--border-style-list) var(--color-divider)}.release-qr-dialog-hint{font-size:13px;color:var(--color-text);margin-top:var(--spacing-normal)}.release-page-header{margin-bottom:var(--spacing-loose)}.release-page-title{font-size:32px;font-weight:600;color:var(--color-text-dark);margin:0 0 var(--spacing-normal) 0}.release-page-meta{display:flex;align-items:center;gap:var(--spacing-tight);font-size:14px;color:var(--color-text);padding-bottom:var(--spacing-normal);border-bottom:1px solid var(--color-divider)}.release-content{margin-bottom:var(--spacing-loose)}.release-comments{margin-top:var(--spacing-loose);padding-top:var(--spacing-loose);border-top:var(--border-width-list) var(--border-style-list) var(--color-divider)}@media (max-width: 900px){.release-product-image{width:320px;min-height:220px}}@media (max-width: 768px){.release-product-section{flex-direction:column}.release-product-image{width:100%;min-height:200px;max-height:300px}.release-software-name{font-size:24px}.release-version-info{flex-direction:column;align-items:flex-start}.release-meta-label{width:60px}.release-download-btn{width:100%;justify-content:center}.release-qr-dialog-content{max-width:320px;padding:var(--spacing-normal)}.release-qr-dialog-image{max-width:200px}}
