@charset "UTF-8";
:root{--ink:#1c2029;--muted:#6b7280;--blue:#405cf5;--paper:#fff;--wash:#f5f6f8;--line:#e7e9ed;--width:1160px;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;--mono:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,summary{touch-action:manipulation}a:hover{color:var(--blue)}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #9cacf8;outline-offset:5px}button{cursor:pointer}img{max-width:100%;height:auto}p,h1,h2,h3,h4,figure{margin:0}[hidden]{display:none!important}.skip-link{position:fixed;left:16px;top:-70px;z-index:99;background:var(--ink);color:white;padding:8px 20px}.skip-link:focus{top:10px}.page-width{max-width:calc(var(--width) + 48px);margin:auto;padding:0 24px}
.site-header{height:76px;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.header-inner{max-width:calc(var(--width) + 48px);height:100%;padding:0 24px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px}.wordmark{display:flex;align-items:center;gap:11px;white-space:nowrap;font-size:22px;font-weight:770;letter-spacing:-.8px}.brand-mark{height:34px;width:34px;background:var(--ink);border-radius:7px;color:white;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:600;letter-spacing:-1px;position:relative}.brand-mark>span{position:absolute;bottom:1px;right:4px;color:#8ea2ff;font-size:25px}.brand-sub{font:9px var(--mono);letter-spacing:1px;margin-left:4px;color:#6b7280;border-left:1px solid #dddfe4;padding-left:13px}.header-inner nav{display:flex;gap:32px;font-size:13px;color:#555d6b}.header-inner nav a{padding:27px 0;position:relative}.header-inner nav a[aria-current]{color:var(--ink);font-weight:650}.header-inner nav a[aria-current]:after{content:"";height:3px;width:15px;position:absolute;bottom:14px;left:50%;transform:translateX(-50%);background:var(--blue);border-radius:2px}.header-follow{border:1px solid #dfe2e8;border-radius:7px;padding:7px 13px;font-size:12px;font-weight:550}.header-follow span{margin-left:9px}.header-follow:hover{border-color:#b6c2ff;background:#f8f9ff}
.masthead{background:#fafbfc}.masthead-inner{display:flex;align-items:center;justify-content:space-between;gap:50px;padding-top:27px;padding-bottom:25px}.masthead-label{font:9px var(--mono);letter-spacing:2px;color:#6b7280}.masthead h1{font-size:55px;font-weight:790;line-height:1.22;letter-spacing:-3px;margin:7px 0 6px}.masthead h1>span{color:var(--blue);margin-left:4px}.masthead-inner>div>p:last-child{font-size:15px;letter-spacing:.3px;color:#6b7280}.masthead-series{padding:8px 32px 8px 0;position:relative;font-size:13px;font-weight:650;align-self:center;max-width:330px;line-height:1.6}.masthead-series>span:not(.masthead-arrow){display:block;font:10px var(--mono);font-weight:400;letter-spacing:.15px;color:#6b7280;margin-top:9px}.masthead-series .masthead-arrow{position:absolute;right:0;top:5px;color:var(--blue);font-weight:400;font-size:22px}
.feature-band{background:#1c2231;color:#f6f7fc;position:relative;overflow:hidden}.feature-band:after{content:"";position:absolute;left:0;top:0;width:4px;height:100%;background:var(--blue)}.feature-inner{padding-top:28px;padding-bottom:28px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:65px}.feature-copy{animation:rise-in .5s ease-out}.feature-label{display:flex;align-items:center;gap:14px;font:9px var(--mono);letter-spacing:1.2px;color:#9aa4bc}.feature-label>span{color:#dce2ff;font-family:var(--sans);font-size:10px;letter-spacing:.5px;border-left:2px solid #93a6ff;padding-left:8px}.feature-copy h2{font-size:38px;line-height:1.55;font-weight:670;letter-spacing:-.5px;margin:16px 0 12px;max-width:530px}.feature-copy h2 a{display:block}.feature-copy h2 a:hover{color:#cad4ff}.feature-description{font-size:14px;line-height:1.9;color:#b7c0d1;max-width:510px}.feature-link{display:inline-flex;align-items:center;gap:32px;font-size:12px;margin-top:20px;border-bottom:1px solid #5a6378;padding:6px 0;color:#e9edfa}.feature-link:hover{color:#cad4ff;border-color:#cad4ff}.feature-link>span{font-size:18px}.feature-media{background:#fff;border-radius:9px;overflow:hidden;display:block;box-shadow:0 15px 40px #0000001c;transition:transform .2s;animation:rise-in .65s ease-out}.feature-media:hover{transform:translateY(-3px)}.feature-media-top{display:flex;justify-content:space-between;border-bottom:1px solid #ecedf1;padding:11px 17px;color:#6b7280;font:8px var(--mono);letter-spacing:1px}.feature-media-top>span:last-child{font-size:6px;color:#c4cad5;letter-spacing:3px}.feature-diagram{padding:35px 18px;background:#fff;min-height:140px;display:flex;align-items:center;justify-content:center}.feature-diagram img{width:100%;height:auto;display:block;max-height:230px;object-fit:contain}.feature-media-bottom{display:flex;align-items:center;justify-content:space-between;padding:11px 19px;border-top:1px solid #ecedf1;color:#6b7280;font:8px var(--mono);letter-spacing:.4px;background:#fbfcfe}.feature-media-bottom>span:nth-child(even){color:#b6bfce}
.content-columns{display:grid;grid-template-columns:minmax(0,1fr) 266px;gap:58px;padding-top:34px;padding-bottom:26px}.home-feed{min-width:0}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px}.section-heading h2{font-size:25px;font-weight:740;letter-spacing:-.7px}.section-kicker{font:8px var(--mono);letter-spacing:1.8px;color:#6b7280;margin-bottom:5px}.feed-count{font-size:10px;color:#6b7280;white-space:nowrap}.text-link{font-size:12px;color:var(--blue);font-weight:550}.eyebrow{font:10px var(--mono);font-weight:550;letter-spacing:1px;color:var(--blue)}.search-form{margin-top:20px}.search-form>label{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}.search-field{display:flex;align-items:center;gap:11px;background:#f7f8fa;border:1px solid #ebedf2;border-radius:7px;padding:10px 13px}.search-field svg{width:16px;height:16px;fill:none;stroke:#8d96a6;stroke-width:1.8;flex-shrink:0}.search-field input{background:none;border:0;outline:none;width:100%;min-width:0;font-size:13px;color:var(--ink);padding:2px 0}.search-field input::placeholder{color:#6b7280}.search-field button{font-size:10px;border:0;background:none;color:#6b7280;padding:0 2px;white-space:nowrap}.search-field:focus-within{border-color:#b1bef8;box-shadow:0 0 0 3px #405cf509}.topic-filter{display:flex;align-items:center;gap:21px;flex-wrap:wrap;margin-top:14px;border-bottom:1px solid var(--line)}.topic-filter button{padding:12px 0;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;background:none;color:#6b7280;font-size:12px;white-space:nowrap}.topic-filter button.active{color:var(--ink);font-weight:650;border-bottom-color:var(--blue)}.search-status{font-size:9px;color:#6b7280;padding:13px 0 0}.search-empty{padding:45px 0;color:var(--muted);font-size:14px}.article-list{list-style:none;margin:0;padding:0}.article-row{display:flex;align-items:center;gap:24px;padding:26px 0;border-bottom:1px solid var(--line)}.row-content{flex:1;min-width:0}.article-meta{display:flex;align-items:center;gap:13px;font-size:11px;color:#6b7280;margin-bottom:9px}.article-meta>span{color:#6b7280}.article-meta>time:before{content:"/";margin-right:13px;color:#c7ccd4}.article-row h2{font-size:20px;font-weight:670;line-height:1.65;letter-spacing:-.3px}.article-row h2 a{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.row-arrow{display:none}.row-content>p:not(.article-meta){font-size:13px;line-height:1.9;color:#6b7280;margin-top:9px;max-width:700px}.row-read{display:inline-flex;gap:15px;align-items:center;font-size:10px;color:#6b7280;margin-top:11px}.row-read>span{transition:transform .18s}.article-row:hover .row-read{color:var(--blue)}.article-row:hover .row-read>span{transform:translateX(3px)}.row-thumbnail{width:132px;flex-shrink:0;aspect-ratio:1.44;background:#f7f8fc;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid #eceef4;border-radius:6px;align-self:center}.row-thumbnail img{width:100%;height:100%;object-fit:contain;padding:8px;transition:transform .25s}.article-row:hover .row-thumbnail img{transform:scale(1.035)}.row-number{font:11px var(--mono);color:#a3aabb;align-self:flex-start;padding-top:30px;width:22px;flex-shrink:0}
.content-rail{padding-top:10px;min-width:0;position:sticky;top:101px;align-self:start}.rail-series{padding:22px 23px 19px;border:1px solid #e5e9f0;border-radius:10px;background:#fafbfe}.rail-kicker{font:8px var(--mono);letter-spacing:1.7px;color:#6b7280}.rail-series h2{font-size:22px;line-height:1.5;font-weight:700;letter-spacing:-.6px;margin-top:11px}.rail-description{font-size:11px;color:#6b7280;margin-top:7px}.rail-series nav{margin-top:22px;border-top:1px solid #e6eaf1}.rail-series nav a{display:flex;align-items:center;gap:11px;padding:15px 0;border-bottom:1px solid #e6eaf1;font-size:13px;font-weight:550}.rail-number{font:9px var(--mono);color:#6b7280;align-self:flex-start;padding-top:3px}.rail-series small{display:block;font-size:9px;color:#6b7280;font-weight:400;margin-top:4px}.rail-arrow{margin-left:auto;color:#adb7c9;font-weight:400;font-size:14px}.rail-series a:hover .rail-arrow{color:var(--blue)}.rail-all{display:flex;justify-content:space-between;align-items:center;color:#6b7280;font-size:10px;margin-top:17px}.rail-start{padding:28px 8px;border-bottom:1px solid var(--line)}.rail-start h3{font-size:14px;font-weight:650;line-height:1.65;margin-top:13px}.rail-start p:not(.rail-kicker){font-size:11px;color:#6b7280;line-height:1.9;margin-top:9px}.rail-start .text-link{display:inline-block;font-size:10px;margin-top:14px}.rail-author{padding:27px 8px;font-size:11px;color:#6b7280}.rail-author>div{display:flex;align-items:center;gap:11px}.rail-author img{border-radius:50%;width:37px;height:37px;object-fit:cover;filter:saturate(.65)}.rail-author strong{display:block;color:#434c5a;font-size:12px;font-weight:650}.rail-author>div span{display:block;font-size:9px;color:#6b7280;margin-top:2px}.rail-author>p{margin-top:15px;font-size:11px;line-height:1.9}.rail-author>a{display:inline-flex;justify-content:space-between;align-items:center;width:100%;border-bottom:1px solid var(--line);padding:12px 0;margin-top:4px;font-size:10px;color:#7784a0}
.follow-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:31px 36px;display:flex;justify-content:space-between;align-items:center;gap:35px;margin-top:24px;background:#f7f8fb;border-radius:9px}.follow-section h2{font-size:25px;font-weight:680;letter-spacing:-.5px;line-height:1.6;margin-top:8px}.follow-section p:not(.eyebrow){font-size:12px;color:#6b7280;margin-top:9px}.follow-section p.wechat-tip{font-size:10px;margin-top:14px}.qr{flex-shrink:0;text-align:center;background:white;padding:7px;border-radius:6px}.qr img{display:block;width:115px;height:115px}.qr figcaption{font-size:9px;color:#6b7280;margin-top:2px}.site-footer{max-width:calc(var(--width) + 48px);padding:35px 24px;margin:auto;display:flex;align-items:center;gap:22px;font-size:10px;color:#6b7280}.footer-brand{font-size:15px;font-weight:730;color:#5d6675;letter-spacing:-.5px}.site-footer nav{display:flex;gap:24px;margin-left:auto}.primary-link{display:inline-flex;align-items:center;gap:25px;margin-top:24px;font-size:12px;font-weight:550;background:var(--ink);color:white;padding:11px 20px;border-radius:6px;transition:background .2s,transform .2s}.primary-link:hover{color:white;background:var(--blue);transform:translateY(-1px)}
.index-heading{padding:45px 0 30px;border-bottom:1px solid var(--line)}.index-heading h1{font-size:43px;font-weight:750;line-height:1.5;letter-spacing:-1.6px;margin-top:9px}.index-heading>p:not(.eyebrow){font-size:14px;color:#6b7280;margin-top:9px}.title-count{display:inline-block;font:14px var(--mono);color:#6b7280;vertical-align:super;letter-spacing:0;margin-left:14px}.archive-columns{padding-top:22px}.archive-columns .search-form{margin-top:0}.archive-columns .content-rail{padding-top:0}.series-jumps{display:flex;gap:25px;flex-wrap:wrap;font-size:12px;color:#6b7ba0;margin-top:25px}.topic-section{padding:36px 0 12px;scroll-margin-top:88px}.topic-heading{display:flex;align-items:baseline;gap:24px;border-bottom:1px solid #cdd3df;padding-bottom:18px}.section-number{font:12px var(--mono);color:var(--blue)}.topic-heading h2{font-size:27px;font-weight:700;letter-spacing:-.7px}.topic-heading p{font-size:12px;color:#6b7280;margin-top:6px}.topic-count{font:10px var(--mono);color:#6b7280;margin-left:auto;white-space:nowrap}.series-list .article-row{padding:23px 0}.series-list .article-row h2{font-size:19px}.series-list .row-read{display:none}
.about-heading{display:flex;align-items:center;gap:35px;padding:56px 0 37px}.about-heading>img{width:112px;height:112px;border-radius:12px;object-fit:cover;filter:saturate(.65)}.about-heading h1{font-size:37px;line-height:1.5;letter-spacing:-1px;margin:8px 0 9px}.about-heading p:last-child{font-size:13px;color:#6b7280;max-width:520px}.about-text{max-width:740px;border-top:1px solid var(--line);padding:30px 0 44px}.about-text h2{font-size:24px;font-weight:680;margin-bottom:18px}.about-text p{font-size:15px;color:#667183;margin-top:15px;line-height:1.95}.not-found{padding-top:85px;padding-bottom:90px}.not-found h1{font-size:37px;letter-spacing:-1px;margin-top:9px}.not-found>p:not(.eyebrow){color:#8d96a6;margin-top:16px}
.article-page{max-width:calc(var(--width) + 48px);margin:auto;padding:31px 24px 0}.breadcrumbs{display:flex;gap:12px;font-size:10px;color:#6b7280}.article-heading{max-width:812px;padding:28px 0 30px;border-bottom:1px solid var(--line)}.article-heading h1{font-size:38px;font-weight:750;line-height:1.55;letter-spacing:-1px;margin:15px 0 19px;overflow-wrap:anywhere}.article-summary{font-size:15px;line-height:1.95;color:#6b7280}.byline{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:24px;font-size:10px;color:#6b7280}.byline img{border-radius:50%;width:27px;height:27px;object-fit:cover}.byline>a{font-size:11px;color:#65728a;font-weight:550}.reading-layout{display:grid;grid-template-columns:minmax(0,812px) 230px;gap:65px}.prose{padding-top:22px;line-height:1.95;color:#404957;min-width:0;overflow-wrap:anywhere}.prose p{margin:20px 0;font-size:16px}.prose h2{font-size:25px;font-weight:730;line-height:1.65;color:var(--ink);margin:42px 0 19px;letter-spacing:-.5px}.prose h3{font-size:20px;font-weight:670;line-height:1.65;margin:31px 0 16px}.prose h4{font-size:17px;margin:26px 0 15px}.heading-anchor{font-size:14px;font-weight:400;opacity:0;margin-left:12px;color:var(--blue);transition:opacity .2s}.prose h2:hover .heading-anchor,.prose h3:hover .heading-anchor,.heading-anchor:focus{opacity:1}.prose strong{color:#262e3b;font-weight:680}.prose ul,.prose ol{padding-left:25px;margin:20px 0}.prose li{margin:9px 0}.prose blockquote{border-left:3px solid #b2bff5;background:#f8f9fe;margin:25px 0;padding:2px 21px;color:#69778d}.prose hr{border:0;border-top:1px solid var(--line);margin:36px 0}.prose figure{margin:29px 0}.prose figure img{width:auto;max-width:100%;max-height:780px;display:block;margin:auto;object-fit:contain;border-radius:5px}.prose figcaption{font-size:10px;line-height:1.8;color:#6b7280;text-align:center;padding:10px 12px 0}.prose :not(pre)>code{font-family:var(--mono);font-size:.86em;color:#586a96;background:#f0f3f9;padding:2px 5px;border-radius:3px}.code-block{margin:24px 0;border:1px solid #e3e7ef;background:#f8f9fc;border-radius:8px;overflow:hidden}.code-bar{display:flex;justify-content:space-between;align-items:center;padding:9px 17px;border-bottom:1px solid #e5e9f1;font:9px var(--mono);color:#6b7280;letter-spacing:.5px}.code-bar button{border:0;background:none;color:#6b7280;font-family:var(--sans);font-size:10px;padding:0}.code-bar button:hover{color:var(--blue)}.prose pre{margin:0;padding:21px;overflow-x:auto;font-family:var(--mono);font-size:12px;line-height:1.9;tab-size:2;white-space:pre;overflow-wrap:normal}.prose pre code{font-family:inherit}.token.comment,.token.prolog{color:#8e9bae}.token.keyword,.token.selector,.token.atrule{color:#8665b9}.token.string,.token.attr-value{color:#388477}.token.function,.token.class-name{color:#4a6cb9}.token.number,.token.boolean{color:#b37844}.token.operator,.token.punctuation{color:#8391a9}.token.property,.token.tag,.token.constant{color:#a85d83}.table-scroll{overflow:auto;margin:26px 0}.prose table{border-collapse:collapse;width:100%;font-size:13px;min-width:380px}.prose th{font-weight:650;text-align:left;background:#f7f8fb;color:#61718a}.prose th,.prose td{padding:12px 15px;border-bottom:1px solid #e5e9ef;line-height:1.8;vertical-align:top}.article-aside{padding-top:30px}.toc{position:sticky;top:105px;font-size:11px;border-left:1px solid var(--line);padding-left:24px}.toc summary{font-size:11px;font-weight:650;list-style:none;cursor:pointer;color:#78859b;margin-bottom:16px}.toc summary:after{content:"−";float:right;color:#6b7280}.toc:not([open]) summary:after{content:"+"}.toc nav{display:flex;flex-direction:column;gap:13px;line-height:1.8;max-height:calc(100vh - 175px);overflow:auto}.toc a{color:#6b7280;transition:color .2s}.toc a.active,.toc a:hover{color:var(--blue)}.toc-depth-3{padding-left:10px;font-size:10px}.aside-author{padding:27px 0 0 24px;margin-top:28px;border-top:1px solid var(--line);font-size:10px;color:#6b7280}.aside-author img{width:35px;height:35px;border-radius:50%;display:block;margin-bottom:11px}.aside-author strong{font-size:12px;color:#6d7a92;font-weight:600}.aside-author p{margin:8px 0 15px;line-height:1.9}.aside-author a{color:#8394be}.related{margin-top:43px;padding-top:31px;border-top:1px solid var(--line)}.related .section-heading h2{font-size:23px}.related .section-heading>a{font-size:11px;color:#96a3bb}.related .article-row h2{font-size:18px}.related .row-read{display:none}.reading-progress{height:2px;background:var(--blue);position:fixed;top:0;left:0;right:0;transform-origin:left;transform:scaleX(0);z-index:40}
@keyframes rise-in{from{transform:translateY(9px)}to{transform:translateY(0)}}
@media(max-width:1000px){.brand-sub{display:none}.header-inner nav{gap:24px}.feature-inner{gap:38px}.feature-copy h2{font-size:33px}.content-columns{gap:32px;grid-template-columns:minmax(0,1fr) 235px}.rail-series{padding:20px 18px}.row-thumbnail{width:112px}.article-row{gap:20px}.article-row h2{font-size:18px}.reading-layout{display:flex;flex-direction:column;gap:0}.article-heading{max-width:none}.article-aside{order:-1;padding:20px 0 3px}.toc{position:static;border:1px solid var(--line);padding:14px 18px;border-radius:7px}.toc summary{margin-bottom:0}.toc[open] summary{margin-bottom:15px}.toc nav{max-height:230px}.aside-author{display:none}.article-page{max-width:860px}.prose{max-width:790px;width:100%;margin:auto}}
@media(max-width:780px){.header-inner nav{gap:20px}.header-follow{display:none}.masthead-inner{gap:30px}.masthead h1{font-size:52px}.masthead-series{font-size:12px}.masthead-series>span:not(.masthead-arrow){font-size:8px}.feature-inner{gap:28px}.feature-copy h2{font-size:29px}.feature-description{font-size:12px}.feature-diagram{padding:23px 12px;min-height:112px}.feature-media-top{padding:10px 13px}.feature-media-bottom{padding:11px 13px;font-size:7px}.content-columns{grid-template-columns:minmax(0,1fr);gap:33px;padding-top:30px}.content-rail{display:grid;grid-template-columns:1fr 1fr;gap:24px;position:static}.rail-series{grid-row:span 2}.rail-start{padding:8px 0 20px}.rail-author{padding:0}.row-thumbnail{width:138px}.article-row h2{font-size:19px}.topic-filter{gap:22px}.follow-section{padding:26px 28px}.index-heading{padding-top:34px}.archive-columns{padding-top:24px}.article-heading h1{font-size:34px}}
@media(max-width:550px){body{font-size:15px}.site-header{height:63px}.header-inner{padding:0 19px;gap:16px}.wordmark{font-size:18px;gap:8px;letter-spacing:-.7px}.brand-mark{width:28px;height:28px;font-size:18px;border-radius:6px}.brand-mark>span{font-size:21px;right:3px;bottom:0}.header-inner nav{gap:17px;font-size:11px}.header-inner nav a{padding:21px 0}.header-inner nav a:first-child{display:none}.header-inner nav a[aria-current]:after{bottom:9px;width:12px}.page-width{padding:0 20px}.masthead-inner{padding-top:27px;padding-bottom:24px;gap:17px}.masthead h1{font-size:43px;letter-spacing:-2px;margin-top:7px;margin-bottom:5px}.masthead-label{font-size:7px;letter-spacing:1.3px}.masthead-inner>div>p:last-child{font-size:11px;letter-spacing:0}.masthead-series{font-size:10px;max-width:95px;padding-right:17px;line-height:1.7}.masthead-series>span:not(.masthead-arrow){font-size:7px;line-height:1.8;margin-top:5px;letter-spacing:0}.masthead-series .masthead-arrow{font-size:17px;top:2px}.feature-inner{display:flex;flex-direction:column;gap:23px;align-items:stretch;padding-top:27px;padding-bottom:27px}.feature-label{font-size:8px;gap:11px;letter-spacing:.7px}.feature-label>span{font-size:9px}.feature-copy h2{font-size:29px;letter-spacing:-.5px;line-height:1.6;margin:13px 0 10px}.feature-description{font-size:12px;line-height:1.9}.feature-link{font-size:11px;gap:25px;margin-top:10px;padding:5px 0}.feature-link>span{font-size:16px}.feature-media{border-radius:7px}.feature-diagram{min-height:106px;padding:22px 17px}.feature-media-top{padding:9px 13px;font-size:7px}.feature-media-bottom{padding:9px 13px;font-size:7px}.content-columns{padding-top:30px;gap:31px;padding-bottom:14px}.section-heading h2{font-size:23px}.section-kicker{font-size:7px;letter-spacing:1.4px}.feed-count{font-size:9px}.search-form{margin-top:17px}.search-field{padding:9px 11px;gap:9px}.search-field input{font-size:11px}.search-field svg{width:14px;height:14px}.search-field button{font-size:9px}.topic-filter{gap:0 18px;margin-top:9px}.topic-filter button{font-size:10px;padding:10px 0}.search-status{font-size:8px;padding-top:11px}.article-row{gap:17px;padding:21px 0;align-items:flex-start}.article-meta{font-size:8px;gap:9px;margin-bottom:7px}.article-meta>time:before{margin-right:9px}.article-row h2{font-size:17px;line-height:1.65;letter-spacing:-.25px}.row-content>p:not(.article-meta){font-size:11px;line-height:1.85;margin-top:8px}.row-read{font-size:9px;margin-top:9px;gap:11px}.row-thumbnail{width:76px;aspect-ratio:1.1;margin-top:28px;border-radius:5px}.row-thumbnail img{padding:5px}.content-rail{grid-template-columns:minmax(0,1fr);gap:0}.rail-series{padding:21px 23px;grid-row:auto}.rail-series h2{font-size:22px}.rail-series nav{display:grid;grid-template-columns:1fr 1fr;column-gap:24px;margin-top:17px}.rail-series nav a{font-size:11px;padding:13px 0}.rail-series small{font-size:8px}.rail-number{font-size:8px}.rail-all{font-size:10px}.rail-start{padding:25px 3px}.rail-author{padding:23px 3px 0}.follow-section{padding:22px 19px;gap:15px;margin-top:22px;border-radius:7px}.follow-section h2{font-size:20px;line-height:1.65;letter-spacing:-.4px;margin-top:7px}.follow-section .eyebrow{font-size:8px;letter-spacing:0}.follow-section p:not(.eyebrow){font-size:10px;line-height:1.9;margin-top:9px}.follow-section p.wechat-tip{font-size:9px;margin-top:12px}.qr{width:91px;padding:4px;align-self:flex-start;margin-top:4px}.qr img{width:83px;height:83px}.qr figcaption{font-size:8px}.site-footer{padding:25px 20px;gap:8px 17px;flex-wrap:wrap;font-size:9px}.footer-brand{font-size:14px}.site-footer nav{margin:4px 0 0;width:100%;gap:21px}.index-heading{padding:29px 0 23px}.index-heading .eyebrow{font-size:9px}.index-heading h1{font-size:34px;letter-spacing:-1px;margin-top:7px}.index-heading>p:not(.eyebrow){font-size:12px;margin-top:9px}.title-count{font-size:11px;margin-left:11px}.archive-columns{padding-top:19px}.series-jumps{gap:12px 20px;font-size:10px;margin-top:20px}.topic-section{padding:28px 0 9px}.topic-heading{gap:14px;padding-bottom:16px}.topic-heading h2{font-size:23px}.topic-heading p{font-size:11px;line-height:1.8;margin-top:5px}.section-number{font-size:10px}.topic-count{font-size:9px}.series-list .article-row{padding:19px 0}.series-list .article-row h2{font-size:17px}.row-number{font-size:9px;width:17px;padding-top:22px}.about-heading{padding:32px 0 28px;gap:22px;align-items:flex-start}.about-heading>img{width:76px;height:87px;border-radius:8px}.about-heading h1{font-size:26px;margin:7px 0 8px;line-height:1.6;letter-spacing:-.7px}.about-heading .eyebrow{font-size:8px}.about-heading p:last-child{font-size:11px;line-height:1.9}.about-text{padding:24px 0 34px}.about-text h2{font-size:22px}.about-text p{font-size:14px}.article-page{padding:22px 20px 0}.breadcrumbs{font-size:9px;gap:9px}.article-heading{padding:23px 0 24px}.article-heading .eyebrow{font-size:9px}.article-heading h1{font-size:28px;line-height:1.6;letter-spacing:-.6px;margin:12px 0 15px}.article-summary{font-size:13px;line-height:1.95}.byline{gap:9px 12px;font-size:9px;margin-top:20px}.byline img{width:24px;height:24px}.byline>a{font-size:10px}.article-aside{padding:18px 0 2px}.toc{padding:12px 15px;font-size:11px}.toc summary{font-size:10px}.toc nav{gap:11px}.prose{padding-top:10px;line-height:1.95}.prose p{font-size:15px;margin:18px 0}.prose h2{font-size:22px;margin:34px 0 16px}.prose h3{font-size:18px}.prose figure img{max-height:none}.prose figcaption{font-size:9px}.prose pre{padding:16px;font-size:11px;line-height:1.85}.code-bar{padding:8px 13px;font-size:8px}.code-bar button{font-size:9px}.prose table{font-size:12px}.prose th,.prose td{padding:10px 12px}.related{padding-top:26px;margin-top:33px}.related .section-heading h2{font-size:21px}.related .article-row h2{font-size:17px}.not-found h1{font-size:28px}}
@media(max-width:360px){.header-inner{padding:0 16px;gap:10px}.header-inner nav{gap:12px;font-size:10px}.wordmark{font-size:17px}.page-width{padding:0 17px}.masthead h1{font-size:38px}.masthead-inner>div>p:last-child{font-size:10px}.masthead-series{max-width:82px;font-size:9px}.row-thumbnail{width:62px;margin-top:26px}.article-row{gap:12px}.article-row h2{font-size:16px}.follow-section{padding:20px 14px;gap:12px}.follow-section h2{font-size:18px}.qr{width:81px}.qr img{width:73px;height:73px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{.site-header,.site-footer,.article-aside,.related,.follow-section,.reading-progress,.copy-code,.heading-anchor{display:none!important}.article-page{padding:0;max-width:none}.reading-layout{display:block}.prose{max-width:none}.prose pre{white-space:pre-wrap}.prose figure img{max-height:550px}.article-heading h1{font-size:26px}}

/* 首页：文字目录、细分隔线与自然留白。 */
.home-page {
  --width: 1080px;
  --ink: #282c29;
  --muted: #777b75;
  --blue: #426751;
  --line: #e5e6df;
  background: #fafaf7;
}
.home-page .site-header {
  position: static;
  height: auto;
  border: 0;
  background: transparent;
}
.home-page .header-inner {
  padding-top: 42px;
  padding-bottom: 30px;
  border-bottom: 1px solid var(--line);
  align-items: center;
}
.journal-brand h1 {
  font-family: "Songti SC", "Noto Serif CJK SC", "SimSun", serif;
  font-size: 33px;
  line-height: 1.35;
  font-weight: 700;
  letter-spacing: .5px;
}
.journal-brand p { margin-top: 7px; font-size: 12px; color: var(--muted); }
.home-page .header-inner nav { gap: 28px; font-size: 13px; color: #555b54; }
.home-page .header-inner nav a { padding: 6px 0; }
.home-page .header-inner nav a:hover { text-decoration: underline; text-underline-offset: 5px; }
.journal-main { padding-top: 38px; }
.journal-layout { display: grid; grid-template-columns: minmax(0, 1fr) 210px; gap: 70px; align-items: start; }
.journal-feed { min-width: 0; }
.journal-feed-top { position: relative; }
.journal-feed-top > h2 { font-size: 17px; font-weight: 600; line-height: 38px; }
.home-page .feed-controls { padding: 0; background: none; border: 0; }
.home-page .search-form { position: absolute; top: 0; right: 0; margin: 0; width: 240px; }
.home-page .search-field { background: none; border: 0; border-bottom: 1px solid #d9ddd3; border-radius: 0; padding: 4px 0; gap: 9px; }
.home-page .search-field input { font-size: 12px; padding: 3px 0; color: var(--ink); }
.home-page .search-field input::placeholder { color: #858b80; }
.home-page .search-field button { font-size: 11px; color: var(--muted); }
.home-page .search-field svg { width: 14px; height: 14px; stroke: #858b80; }
.home-page .search-field:focus-within { box-shadow: none; border-color: var(--blue); }
.home-page .topic-filter { gap: 18px; margin-top: 17px; border: 0; }
.home-page .topic-filter button { padding: 5px 0; margin: 0; border: 0; border-radius: 0; color: #777e71; background: none; font-size: 12px; }
.home-page .topic-filter button.active { color: var(--blue); font-weight: 600; text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 1px; }
.home-page .topic-filter button:hover { color: var(--blue); }
.home-page .search-status { font-size: 11px; color: #8a8f84; padding: 18px 0 12px; }
.home-page .article-list { display: block; }
.journal-entry { display: grid; grid-template-columns: 55px minmax(0, 1fr); align-items: start; gap: 22px; padding: 24px 0 25px; border: 0; border-top: 1px solid var(--line); background: none; border-radius: 0; box-shadow: none; }
.journal-date { display: flex; flex-direction: column; gap: 1px; font-family: var(--mono); font-size: 13px; line-height: 1.7; color: #737b6d; padding-top: 6px; }
.journal-date > span:last-child { font-size: 10px; color: #979d91; }
.journal-entry h2 { font-size: 21px; line-height: 1.6; font-weight: 620; letter-spacing: -.25px; color: #30362e; }
.journal-entry h2 a { display: block; }
.journal-entry h2 a:hover { color: var(--blue); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.journal-entry-body > p { font-size: 14px; line-height: 1.8; color: #70776a; margin-top: 9px; }
.journal-topic { display: inline-block; margin-top: 10px; color: #929889; font-size: 10px; }
.home-page .search-empty { padding: 35px 0; font-size: 14px; }
.journal-sidebar { padding-top: 6px; }
.journal-sidebar section + section { margin-top: 30px; padding-top: 26px; border-top: 1px solid var(--line); }
.journal-sidebar h2 { font-size: 13px; font-weight: 600; color: #4a5344; }
.journal-author > img { width: 46px; height: 46px; object-fit: cover; border-radius: 50%; display: block; margin-bottom: 12px; filter: saturate(.65); }
.journal-author > h2 { font-size: 16px; }
.journal-author > p { font-size: 12px; line-height: 1.95; color: #7b8372; margin-top: 10px; }
.journal-author > a { display: inline-block; font-size: 11px; color: var(--blue); margin-top: 12px; }
.journal-series nav { display: flex; flex-direction: column; gap: 9px; margin-top: 16px; }
.journal-series nav a { font-size: 12px; color: #777f6f; }
.journal-series nav a:hover, .journal-start:hover { color: var(--blue); text-decoration: underline; text-underline-offset: 4px; }
.journal-start { display: inline-block; font-size: 11px; color: var(--blue); margin-top: 19px; }
.journal-wechat img { display: block; width: 105px; height: 105px; margin: 14px 0 8px; mix-blend-mode: multiply; }
.journal-wechat p { font-size: 11px; color: #8a927f; }
.home-page .site-footer { margin-top: 44px; border-top: 1px solid var(--line); padding-top: 24px; padding-bottom: 32px; color: #8c9383; }
.home-page .site-footer > p { display: none; }
.home-page .footer-brand { font-size: 12px; font-weight: 500; color: #70796a; }
@media (max-width: 1000px) {
  .journal-layout { grid-template-columns: minmax(0, 1fr) 180px; gap: 38px; }
  .journal-entry h2 { font-size: 20px; }
  .home-page .topic-filter { gap: 14px; }
}
@media (max-width: 780px) {
  .home-page .header-inner { padding-top: 29px; padding-bottom: 24px; }
  .journal-brand h1 { font-size: 29px; }
  .home-page .header-inner nav { gap: 20px; font-size: 12px; }
  .journal-main { padding-top: 26px; }
  .journal-layout { grid-template-columns: 1fr; gap: 42px; }
  .journal-sidebar { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; padding-top: 27px; border-top: 1px solid var(--line); }
  .journal-sidebar section + section { margin: 0; padding: 0; border: 0; }
  .journal-sidebar .journal-wechat { grid-column: 1 / -1; position: relative; padding: 15px 115px 15px 0; min-height: 110px; border-top: 1px solid var(--line); }
  .journal-wechat img { position: absolute; right: 0; top: 9px; margin: 0; width: 95px; height: 95px; }
  .journal-wechat p { margin-top: 8px; }
}
@media (max-width: 550px) {
  .home-page .header-inner { display: block; padding: 25px 22px 22px; }
  .journal-brand h1 { font-size: 30px; }
  .journal-brand p { font-size: 11px; margin-top: 5px; }
  .home-page .header-inner nav { margin-top: 20px; gap: 24px; font-size: 12px; }
  .home-page .header-inner nav a { padding: 0; }
  .home-page .header-inner nav a:first-child { display: inline; }
  .journal-main { padding: 23px 22px 0; }
  .journal-feed-top > h2 { font-size: 16px; }
  .home-page .search-form { width: 200px; }
  .home-page .search-field input { font-size: 12px; }
  .home-page .topic-filter { gap: 9px 15px; margin-top: 13px; }
  .home-page .topic-filter button { font-size: 11px; padding: 5px 0; }
  .home-page .search-status { font-size: 10px; padding: 14px 0 12px; }
  .journal-entry { grid-template-columns: 43px minmax(0, 1fr); gap: 14px; padding: 22px 0; }
  .journal-date { font-size: 11px; padding-top: 4px; }
  .journal-date > span:last-child { font-size: 9px; }
  .journal-entry h2 { font-size: 18px; line-height: 1.65; letter-spacing: -.2px; }
  .journal-entry-body > p { font-size: 13px; line-height: 1.8; margin-top: 8px; }
  .journal-topic { font-size: 10px; margin-top: 9px; }
  .journal-sidebar { gap: 24px; }
  .journal-author > p { font-size: 11px; }
  .journal-series nav a { font-size: 11px; }
  .home-page .site-footer { padding: 22px; gap: 12px; margin-top: 30px; }
  .home-page .site-footer nav { gap: 16px; }
}
@media (max-width: 360px) {
  .home-page .header-inner, .journal-main { padding-left: 17px; padding-right: 17px; }
  .home-page .search-form { width: 180px; }
  .journal-entry { grid-template-columns: 39px minmax(0, 1fr); gap: 10px; }
  .journal-entry h2 { font-size: 17px; }
  .home-page .topic-filter { gap: 8px 13px; font-size: 10px; }
}

/* 公共页头保留纯文字站名。 */
.site-header .wordmark{font-family:"Songti SC","Noto Serif CJK SC","SimSun",serif;font-weight:600;letter-spacing:.3px;color:var(--ink)}
.site-header .wordmark:hover{color:var(--ink)}

/* 分类、专题与多页文章目录。 */
.topic-filter a{font-size:12px;color:#777e71;padding:5px 0}
.topic-filter a.active{color:var(--blue);text-decoration:underline;text-underline-offset:6px}
.home-page .topic-filter{gap:18px;border:0}
.collection-count{float:right;font:10px var(--mono);color:#949b8b;margin-left:14px}
.collection-heading{padding:8px 0 32px;margin-bottom:22px;border-bottom:1px solid var(--line)}
.collection-heading h1{font-size:31px;line-height:1.5;font-weight:650;margin-bottom:9px;letter-spacing:-.5px}
.collection-heading p{font-size:13px;line-height:1.9;color:var(--muted)}
.collection-heading .eyebrow{margin-bottom:8px}
.collection-directory{list-style:none;margin:0;padding:0 0 35px;max-width:830px}
.collection-directory li{padding:25px 0;border-bottom:1px solid var(--line);position:relative;padding-right:95px}
.collection-directory h2{font-size:21px;font-weight:600}
.collection-directory p{font-size:14px;color:var(--muted);margin-top:8px}
.collection-directory li>span{position:absolute;top:28px;right:0;font-size:11px;color:var(--muted)}
.collection-empty{margin:25px 0;font-size:14px;color:var(--muted)}
.list-pagination{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:12px;padding:19px 0;border-top:1px solid var(--line);margin-top:15px}
.list-pagination>span{color:var(--muted)}
.list-pagination>a:hover{text-decoration:underline;text-underline-offset:5px}
.search-more{background:none;border:1px solid var(--line);color:var(--ink);font-size:12px;padding:8px 15px;margin:15px 0;border-radius:2px}
@media(max-width:550px){.home-page .topic-filter{gap:9px 15px}.topic-filter a{font-size:11px}.collection-heading{padding-bottom:23px;margin-bottom:17px}.collection-heading h1{font-size:26px}.collection-heading p{font-size:12px}.collection-directory h2{font-size:19px}.collection-directory p{font-size:12px}.collection-directory li{padding-right:65px}.list-pagination{font-size:11px}}

.journal-entry-body{min-width:0;overflow-wrap:anywhere}.breadcrumbs{flex-wrap:wrap}.breadcrumbs a,.collection-heading h1,.collection-directory h2{overflow-wrap:anywhere}
