.article-prose{--paper: #faf6ec;--paper-tint: #f3ede0;--paper-deep: #ebe2c8;--ink: #2a1f1a;--ink-soft: #4a3b32;--ink-faint: #8a7d6c;--accent: #a8341a;--accent-deep: #7c2412;--rule: #d4c9ae;--rule-faint: #e2d9bd;--serif: "Songti SC", "STSong", "Source Han Serif SC", "Noto Serif SC", SimSun, Georgia, "Times New Roman", serif;--serif-display: "Songti SC", "STSong", "Source Han Serif SC", "Noto Serif SC", SimSun, Georgia, serif;--mono: "SF Mono", ui-monospace, Menlo, Consolas, "Courier New", monospace;max-width:720px;margin:0 auto;padding:3rem 1.5rem 6rem;font-family:var(--serif);color:var(--ink);line-height:1.95;font-size:17px;background:radial-gradient(rgba(120,95,60,.025) 1px,transparent 1px),radial-gradient(rgba(120,95,60,.018) 1px,transparent 1px) 13px 17px,var(--paper);background-size:26px 26px}.dark .article-prose{--paper: #1a1612;--paper-tint: #221c17;--paper-deep: #2a221c;--ink: #e8dfd1;--ink-soft: #c8bea8;--ink-faint: #8a8070;--accent: #d97e64;--accent-deep: #c8634d;--rule: #3a3128;--rule-faint: #2c2520}.reading-progress{position:fixed;top:0;left:0;height:2px;width:0;background:#a8341a;z-index:60;transition:width .12s ease-out}.dark .reading-progress{background:#d97e64}.cover-hero{margin:0 0 3rem;max-width:920px;margin-left:auto;margin-right:auto;animation:art-fade .9s ease-out both}.cover-hero img{display:block;width:100%;height:auto;box-shadow:0 1px 0 var(--rule),6px 8px 0 var(--accent)}.dark .cover-hero img{box-shadow:0 1px 0 var(--rule),6px 8px 0 var(--accent-deep)}.article-head{text-align:center;margin:0 auto 4rem;max-width:36em}.article-head .kicker{font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;color:var(--accent);margin:0 0 2rem;animation:art-fade .6s .1s ease-out both}.article-head .article-title{font-family:var(--serif-display);font-size:clamp(28px,5vw,40px);font-weight:700;line-height:1.35;letter-spacing:.02em;color:var(--ink);margin:0;animation:art-fade .7s .25s ease-out both}.article-head .article-lede{font-family:var(--serif);font-style:italic;font-size:15.5px;line-height:1.85;color:var(--ink-soft);margin:1.6rem auto 2rem;max-width:30em;animation:art-fade .7s .4s ease-out both}.article-head .article-meta{font-family:var(--mono);font-size:11px;letter-spacing:.18em;color:var(--ink-faint);text-transform:uppercase;animation:art-fade .6s .55s ease-out both}.article-head .article-meta .dot{margin:0 .7em;opacity:.45}.article-head .head-rule{margin:2.5rem auto 0;text-align:center;color:var(--accent);font-size:12px;letter-spacing:.4em;animation:art-fade .6s .7s ease-out both}.article-head .head-rule:before,.article-head .head-rule:after{content:"";display:inline-block;width:60px;height:1px;background:var(--rule);vertical-align:middle;margin:0 1rem}@keyframes art-fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.article-body{max-width:36em;margin:0 auto}.article-body p{margin:1.45rem 0}.article-body>p:first-of-type{font-size:18px;color:var(--ink)}.article-body h2{font-family:var(--serif-display);font-size:clamp(22px,3.8vw,28px);font-weight:700;color:var(--ink);letter-spacing:.02em;line-height:1.4;margin:4.5rem 0 1.5rem;padding-top:.5rem}.article-body h2:before{content:"";display:block;width:42px;height:2px;background:var(--accent);margin-bottom:1.2rem}.article-body h3{font-family:var(--serif-display);font-size:clamp(17px,2.6vw,19px);font-weight:700;color:var(--accent-deep);letter-spacing:.03em;margin:2.6rem 0 1rem}.dark .article-body h3{color:var(--accent)}.article-body h4{font-family:var(--serif);font-size:16.5px;font-weight:700;color:var(--ink);margin:2.2rem 0 .9rem}.article-body strong{font-weight:700;color:var(--ink);background:linear-gradient(180deg,transparent 62%,rgba(168,52,26,.13) 62%);padding:0 .05em}.dark .article-body strong{background:linear-gradient(180deg,transparent 62%,rgba(217,126,100,.16) 62%)}.article-body em{font-style:italic;color:var(--ink-soft)}.article-body code{font-family:var(--mono);font-size:.875em;padding:.1em .4em;background:var(--paper-tint);color:var(--accent-deep);border-radius:2px;border:1px solid var(--rule-faint)}.dark .article-body code{color:var(--accent)}.article-body pre{font-family:var(--mono);font-size:13px;line-height:1.75;background:var(--paper-tint);padding:1.3rem 1.5rem;border-left:3px solid var(--accent);overflow-x:auto;margin:2rem 0;color:var(--ink)}.article-body pre code{background:transparent;padding:0;border:none;color:inherit;font-size:inherit}.article-body blockquote{margin:2.2rem 0;padding:.3rem 0 .3rem 1.6rem;border-left:3px solid var(--accent);font-family:var(--serif);font-style:italic;font-size:1.08em;line-height:1.85;color:var(--ink)}.article-body blockquote p{margin:.55rem 0}.article-body blockquote p:first-child{margin-top:0}.article-body blockquote p:last-child{margin-bottom:0}.article-body blockquote strong{color:var(--accent-deep);font-style:normal;background:none}.dark .article-body blockquote strong{color:var(--accent)}.article-body blockquote em{color:var(--ink-soft)}.article-body hr{border:none;margin:4rem 0;text-align:center;line-height:0;height:16px}.article-body hr:after{content:"◆  ◆  ◆";font-family:var(--serif);color:var(--accent);font-size:13px;letter-spacing:.6em}.article-body a{color:var(--accent-deep);border-bottom:1px solid var(--rule);text-decoration:none;padding-bottom:1px;transition:color .15s,border-color .15s}.dark .article-body a{color:var(--accent)}.article-body a:hover{color:var(--accent);border-color:var(--accent)}.article-body ul,.article-body ol{margin:1.3rem 0;padding-left:1.6rem}.article-body li{margin:.55rem 0}.article-body ul li::marker{color:var(--accent)}.article-body ol li::marker{color:var(--accent);font-family:var(--serif-display);font-style:italic;font-weight:700}.article-body img{display:block;width:100%;max-width:100%;height:auto;margin:2.6rem auto .6rem}.article-body figure{margin:2.6rem 0}.article-body figure img{margin:0}.article-body figcaption{margin-top:.7rem;text-align:center;font-family:var(--serif);font-style:italic;font-size:13.5px;color:var(--ink-faint);letter-spacing:.04em;line-height:1.6}.article-body figcaption:before{content:"—— ";color:var(--accent);font-style:normal}.article-body figcaption:after{content:" ——";color:var(--accent);font-style:normal}.article-body table{width:100%;margin:2.2rem 0;border-collapse:collapse;font-size:14.5px;font-family:var(--serif)}.article-body th,.article-body td{padding:.75rem .9rem;border-bottom:1px solid var(--rule);text-align:left;vertical-align:top}.article-body th{font-family:var(--serif-display);font-weight:700;color:var(--accent-deep);border-bottom:2px solid var(--accent);font-size:12px;letter-spacing:.1em;text-transform:uppercase;background:var(--paper-tint)}.dark .article-body th{color:var(--accent)}.article-body tr:last-child td{border-bottom:1px solid transparent}.article-pager{max-width:36em;margin:5rem auto 0;display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.article-pager .pager-link{display:flex;flex-direction:column;gap:.5rem;padding:1.25rem 1.4rem;background:var(--paper-tint);border:1px solid var(--rule);border-left:3px solid var(--accent);text-decoration:none;color:var(--ink);transition:background-color .2s,transform .2s,box-shadow .2s}.article-pager .pager-link:hover{background:var(--paper-deep);transform:translateY(-2px);box-shadow:0 4px 0 var(--accent);border-color:var(--rule)}.article-pager .pager-next{border-left:1px solid var(--rule);border-right:3px solid var(--accent);text-align:right}.article-pager .pager-kicker{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;color:var(--accent);text-transform:uppercase}.article-pager .pager-title{font-family:var(--serif-display);font-size:16px;font-weight:700;line-height:1.45;color:var(--ink);letter-spacing:.01em}@media(max-width:640px){.article-pager{grid-template-columns:1fr;gap:.9rem}.article-pager .pager-next{text-align:left;border-right:1px solid var(--rule);border-left:3px solid var(--accent)}}.article-foot{max-width:36em;margin:5rem auto 0;text-align:center;font-family:var(--serif)}.article-foot .foot-rule{color:var(--accent);font-size:13px;letter-spacing:.4em;margin-bottom:2.5rem}.article-foot .foot-rule:before,.article-foot .foot-rule:after{content:"";display:inline-block;width:50px;height:1px;background:var(--rule);vertical-align:middle;margin:0 1.2rem}.article-foot .foot-tagline{color:var(--ink-soft);font-size:15px;margin:0 0 1rem}.article-foot .foot-tagline .brand{color:var(--accent);font-weight:700;letter-spacing:.04em}.article-foot .foot-wechat{margin:.8rem 0 2.5rem}.article-foot .foot-wechat a{font-family:var(--serif);color:var(--accent);font-style:italic;font-size:15.5px;border:none;padding:0;transition:color .2s}.article-foot .foot-wechat a:hover{color:var(--accent-deep)}.article-foot .foot-wechat .arrow{display:inline-block;transition:transform .25s}.article-foot .foot-wechat a:hover .arrow{transform:translate(4px)}.article-foot .foot-qr{margin:3rem auto 0;max-width:280px}.article-foot .foot-qr-frame{display:inline-block;padding:14px;background:var(--paper-tint);border:1px solid var(--rule);box-shadow:4px 5px 0 var(--accent);transition:box-shadow .25s ease,transform .25s ease}.article-foot .foot-qr-frame:hover{box-shadow:6px 7px 0 var(--accent);transform:translate(-1px,-1px)}.article-foot .foot-qr-frame img{display:block;width:160px;height:160px;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.dark .article-foot .foot-qr-frame{background:var(--paper-deep);box-shadow:4px 5px 0 var(--accent-deep)}.dark .article-foot .foot-qr-frame:hover{box-shadow:6px 7px 0 var(--accent-deep)}.dark .article-foot .foot-qr-frame img{filter:invert(.92) hue-rotate(180deg)}.article-foot .foot-qr-label{font-family:var(--mono);font-size:10.5px;letter-spacing:.4em;color:var(--accent);margin:1.2rem 0 .6rem;padding-left:.4em}.article-foot .foot-qr-caption{font-family:var(--serif);font-style:italic;font-size:13px;color:var(--ink-faint);line-height:1.7;margin:0}.article-foot .foot-back{margin:2.5rem 0 0}.article-foot .foot-back a{font-family:var(--mono);font-size:11px;letter-spacing:.3em;color:var(--ink-faint);text-transform:uppercase;border:none;padding:0}.article-foot .foot-back a:hover{color:var(--accent)}.article-foot .foot-end{margin:3.5rem 0 0;font-family:var(--serif);font-size:11px;letter-spacing:.5em;color:var(--accent);padding-left:.5em}@media(max-width:640px){.article-prose{padding:2rem 1.25rem 4rem;font-size:16px}.article-body h2{margin:3.5rem 0 1.2rem}.cover-hero img{box-shadow:0 1px 0 var(--rule),4px 5px 0 var(--accent)}}
