:root{--paper:#f7f5ef;--ink:#211f1b;--muted:#625d54;--line:#d9d3c8;--accent:#a53d26;--tint:#eee8dd;--serif:"Songti SC","Noto Serif CJK SC","STSong","SimSun",Georgia,serif;--body:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;color:var(--ink);background:var(--paper);font:15px/1.7 var(--body);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none} button,input,textarea,select{font:inherit} button{cursor:pointer} img{display:block;max-width:100%}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
::selection{background:#edd1bf;color:#2e1710}
.wrap{width:min(1200px,calc(100% - 100px));margin-inline:auto}
.site-header{border-bottom:1px solid var(--line)}
.top{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative}
.brand{display:inline-flex;align-items:center;gap:11px;font:700 21px/1.05 var(--serif);white-space:nowrap}
.brand small{display:block;margin-top:6px;font:10px/1 var(--mono);letter-spacing:.17em;color:var(--muted)}
.mark{display:grid;place-items:center;width:37px;height:37px;border-radius:6px;background:#28241f;color:#f8f1e4}
.top nav{display:flex;gap:39px;align-items:center;position:absolute;left:50%;transform:translateX(-50%);height:100%}
.top nav a{font-size:14px;display:grid;align-items:center;height:100%;position:relative;color:var(--muted);white-space:nowrap}
.top nav a:hover,.top nav a[aria-current]{color:var(--ink)}
.top nav a[aria-current]::after{content:"";height:2px;position:absolute;bottom:-1px;inset-inline:0;background:var(--accent)}
.top-actions{display:flex;align-items:center;gap:16px}
.icon-link,.rss,.button,.text-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}
.icon-link{min-width:36px;min-height:36px}.icon-link:hover,.text-link:hover{color:var(--accent)}
.rss{border:1px solid var(--line);padding:6px 12px;font-size:13px;border-radius:4px}
.rss:hover,.pill:hover{border-color:var(--ink)}
.eyebrow{font:600 11px/1.4 var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}
.signal{width:7px;height:7px;display:inline-block;border-radius:50%;background:var(--accent);margin-right:8px;vertical-align:1px}
.intro{display:grid;grid-template-columns:1fr minmax(228px,29%);gap:50px;align-items:end;padding:55px 0 43px}
h1,h2,h3,p,figure{margin:0}
.intro h1,.page-lead h1,.story-head h1{font-family:var(--serif);font-weight:800;letter-spacing:-.065em;line-height:1.08}
.intro h1{font-size:clamp(61px,7.1vw,108px);margin-top:16px}
.hero-break{display:block}.punct{color:var(--accent)}
.intro-aside{padding:0 0 7px 20px;border-left:1px solid var(--line)}
.issue{display:flex;justify-content:space-between;gap:10px;color:var(--accent);font:600 10px/1.5 var(--mono);letter-spacing:.10em;padding-bottom:13px;border-bottom:1px solid var(--line)}
.intro-aside p{margin:15px 0 17px;max-width:31ch;color:var(--muted);line-height:1.9}
.text-link{font-weight:600;font-size:13px}
.feature{display:grid;grid-template-columns:1.48fr 1fr;min-height:333px;border:1px solid var(--line);background:#fbf9f3}
.feature-art{position:relative;display:block;min-height:100%;overflow:hidden;background:#82331f}
.cover{width:100%;height:100%;object-fit:cover}.feature-art .cover{position:absolute;inset:0}
.feature-copy{padding:25px 31px 25px 32px;display:flex;flex-direction:column;justify-content:space-between}
.feature-label{padding-bottom:14px;border-bottom:1px solid var(--line);color:var(--ink)}
.feature-label span:first-child,.index{color:var(--accent);margin-right:8px}.english{color:var(--muted);margin-left:4px}
.feature-text{padding:19px 0 13px}.tag{display:inline-block;font-size:11px;font-weight:600;color:#893921;background:#f1e2d6;border-radius:2px;padding:3px 8px;white-space:nowrap}
.feature h2,.section-head h2,.subscribe h2,.card h3,.about-note p{font-family:var(--serif);font-weight:800;line-height:1.25;letter-spacing:-.035em}
.feature h2{font-size:clamp(25px,3.1vw,43px);margin:10px 0}
.feature h2 a:hover,.card h3 a:hover{color:var(--accent)}
.feature p,.card p,.subscribe p{color:var(--muted);font-size:14px;line-height:1.85}
.feature-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px}
.article-meta{display:flex;gap:9px;align-items:center;flex-wrap:wrap;color:var(--muted);font:12px/1.5 var(--mono)}
.dot{width:3px;height:3px;border-radius:100%;background:#968a78}
.circle{width:42px;height:42px;border-radius:50%;background:var(--ink);color:var(--paper);display:grid;place-items:center;flex:none;transition:background .18s}
.circle:hover,.button:hover{background:var(--accent);color:white}
.latest{padding-top:61px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:18px;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:21px}
.section-head h2,.subscribe h2{font-size:clamp(29px,3vw,42px);margin-top:5px}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.card{border:1px solid var(--line);min-width:0;background:#fbf9f3;display:flex;flex-direction:column}
.card-image{display:block;overflow:hidden;aspect-ratio:2.03}
.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.card:hover .card-image img{transform:scale(1.035)}
.card-content{padding:16px 17px 18px;display:flex;flex-direction:column;flex:1}
.card-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font:11px/1.6 var(--mono);color:var(--muted)}
.card h3{font-size:25px;margin:12px 0 8px}
.card-arrow{margin-top:auto;align-self:end;padding-top:12px;display:grid;color:var(--accent)}
.subscribe{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:66px 0 55px;padding:26px 30px;background:#eee9df;border-block:1px solid var(--line)}
.subscribe h2{font-size:clamp(24px,2.7vw,36px)}.subscribe p{margin-top:6px}
.button{background:var(--ink);border:1px solid var(--ink);color:var(--paper);padding:9px 15px;border-radius:4px;font-size:13px;font-weight:600;transition:background .18s}
.footer{border-top:1px solid var(--line);min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--muted);margin-top:55px}
.footer .brand{color:var(--ink);font-size:18px}.footer .mark{width:32px;height:32px}.footer p{font-size:12px}
.skip{position:absolute;left:12px;top:8px;transform:translateY(-150%);background:var(--paper);padding:6px 10px;z-index:4}.skip:focus{transform:none}
.page-lead{padding:61px 0 29px;border-bottom:1px solid var(--line);margin-bottom:25px}
.page-lead h1{font-size:clamp(45px,7vw,91px);margin:14px 0 9px}
.page-lead p{color:var(--muted);font-size:16px}
.filters{display:flex;justify-content:space-between;gap:15px;align-items:center}
.pills{display:flex;gap:7px;flex-wrap:wrap}.pill{padding:5px 12px;border:1px solid var(--line);color:var(--ink);background:transparent;border-radius:3px;font-size:13px}
.pill[aria-pressed=true]{color:var(--paper);background:var(--ink);border-color:var(--ink)}
.search{display:flex;align-items:center;gap:9px;border:1px solid var(--line);padding:5px 9px;color:var(--muted);border-radius:3px}
.search input{border:0;background:transparent;color:var(--ink);min-width:0;width:145px}
.results{margin:15px 0;color:var(--muted);font-size:12px}.empty{border-block:1px solid var(--line);padding:23px 0;color:var(--muted)}
.story-head{max-width:820px;margin:0 auto;padding:39px 0 31px}
.back{margin-bottom:24px}.story-head h1{font-size:clamp(38px,5.7vw,76px);margin:10px 0 13px}
.story-head p{font-size:clamp(16px,2vw,20px);line-height:1.7;color:var(--muted);margin-bottom:16px}
.story-cover{max-width:995px;margin:0 auto 41px;aspect-ratio:2.3;overflow:hidden}
.reading{display:grid;grid-template-columns:155px minmax(0,680px);gap:40px;max-width:995px;margin-inline:auto}
.contents{position:sticky;top:24px;align-self:start;border-left:1px solid var(--line);padding-left:14px}
.contents a{display:block;margin:9px 0;font-size:12px;color:var(--muted);line-height:1.5}.contents a:hover{color:var(--accent)}
.prose{font-size:17px;line-height:1.95;overflow-wrap:anywhere}
.prose h2,.prose h3{font-family:var(--serif);line-height:1.35;margin:30px 0 10px;scroll-margin:24px}.prose h2{font-size:29px}.prose h3{font-size:23px}
.prose p,.prose ul,.prose ol,.prose pre,.prose blockquote{margin:0 0 16px}
.prose pre{overflow:auto;background:#24221e;color:#fff4dc;padding:18px;border-radius:4px;font:13px/1.8 var(--mono);white-space:pre;overflow-wrap:normal}
.prose code{font-family:var(--mono)}.prose :not(pre)>code{background:#eee7dd;font-size:.85em;padding:2px 4px;border-radius:2px}
.prose blockquote,.verify{border-left:2px solid var(--accent);background:#efe9de;padding:10px 14px;color:#534a40}
.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.prose img{width:100%;height:auto;border:1px solid var(--line)}
.verify{font-size:13px;display:flex;gap:12px;flex-wrap:wrap}.verify b{color:var(--ink)}
.related .grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:820px}
.about-layout{display:grid;grid-template-columns:minmax(0,680px) minmax(230px,1fr);align-items:start;gap:40px}.about-layout .prose h2:first-child{margin-top:0}
.about-note{background:#a5442c;color:#fff6e6;padding:25px;min-height:225px;display:flex;flex-direction:column;justify-content:space-between;gap:21px}
.about-note .eyebrow,.about-note span{color:#fce8d5}.about-note p{font-size:33px}.about-note span{font:11px var(--mono)}
.editor-bar,.editor-status,.editor-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.editor-bar{margin-bottom:17px}.editor-status{font-size:12px;color:var(--muted);margin-bottom:16px}
.editor-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start}
.editor-row{padding:13px 0;border-bottom:1px solid var(--line);justify-content:space-between}
.editor-row h3{font-size:15px}.editor-row .caption{font-size:12px;color:var(--muted)}
.editor-row a:hover{color:var(--accent)}
.editor-form{display:grid;gap:12px;margin-top:15px}.editor-form label{display:grid;gap:4px;font-size:13px}
.editor-form input,.editor-form textarea,.editor-form select{width:100%;min-width:0;border:1px solid var(--line);border-radius:3px;color:var(--ink);background:#fffdf8;padding:7px 9px}
.editor-form textarea{min-height:280px;resize:vertical;font:14px/1.6 var(--mono)}.editor-form .short{min-height:64px;font-family:var(--body)}
.editor-form label.check{display:flex;gap:8px;align-items:center}.editor-form label.check input{width:auto}.editor-form .fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.notice{padding:10px 13px;margin-bottom:15px;background:var(--tint);border-left:2px solid var(--accent)}
.editor-row details{width:100%;font-size:12px;color:var(--muted)}.editor-row summary{cursor:pointer}
@media(max-width:950px){.wrap{width:calc(100% - 64px)}.feature-copy{padding:20px}.feature{min-height:310px}.grid{gap:12px}.card h3{font-size:21px}}
@media(max-width:700px){.wrap{width:calc(100% - 34px)}.top{height:63px;gap:10px}.top nav{gap:16px;position:static;transform:none}.top nav a{font-size:13px}.top-actions{gap:2px}.top .rss span{display:none}.rss{padding:6px}.mark{width:30px;height:30px}.brand{font-size:16px;gap:6px}.brand small{font-size:8px;letter-spacing:.09em}.intro{grid-template-columns:1fr;gap:21px;padding:35px 0 29px}.intro h1{font-size:clamp(48px,11vw,73px);margin-top:10px}.intro-aside{padding-left:12px}.intro-aside p{margin:8px 0;max-width:unset}.issue{max-width:300px;padding-bottom:7px}.feature{grid-template-columns:1fr}.feature-art{aspect-ratio:1.9}.feature-copy{padding:17px}.feature h2{font-size:30px}.latest{padding-top:37px}.grid,.related .grid,.about-layout,.editor-grid{grid-template-columns:1fr}.card-image{aspect-ratio:2.2}.subscribe{padding:15px;align-items:start;flex-direction:column;margin:37px 0}.footer{margin-top:30px;min-height:72px}.footer p{display:none}.filters{align-items:start;flex-direction:column}.search{width:100%}.search input{width:100%}.page-lead{padding-top:40px}.story-cover{margin-bottom:22px;aspect-ratio:1.85}.reading{grid-template-columns:minmax(0,1fr);gap:14px}.contents{position:static}.contents a{display:inline-block;margin:5px 9px 0 0}.story-head{padding-top:24px}.back{margin-bottom:17px}.prose{font-size:16px}}
@media(max-width:365px){.top nav{gap:11px}.top .icon-link{min-width:27px}.top .rss{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
.editor-list-title{margin-top:30px}.caption{color:var(--muted);font-size:13px}
.feature h2,.card h3,.story-head h1{text-wrap:balance}

.feed-panel{max-width:680px;padding:24px;background:#fbf9f3;border:1px solid var(--line)}
.feed-panel label{display:block;font-weight:600;margin-bottom:7px}
.feed-panel input{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:3px;background:var(--paper);color:var(--ink);font:14px/1.6 var(--mono)}
.feed-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:16px}
#feed-feedback:not(:empty){margin-top:12px;color:var(--muted);font-size:13px}

.editor-login{max-width:440px}
.editor-login .editor-form{margin-top:0}

.pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px 20px;margin:24px 0;color:var(--muted);font-size:13px}
.page-numbers{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px}
.page-size select{appearance:none;min-height:36px;padding:4px 32px 4px 11px;border:1px solid var(--line);border-radius:3px;background:#fbf9f3;color:var(--ink);cursor:pointer}
.page-size::after{content:"";position:absolute;inset-inline-end:12px;top:50%;width:7px;height:7px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:translateY(-70%) rotate(45deg);pointer-events:none}
@media(forced-colors:active){
  .page-size select{appearance:auto;padding-inline-end:11px}
  .page-size::after{content:none}
}
.page-numbers .pill{min-width:36px;min-height:36px;display:grid;place-items:center;padding:4px}
.page-numbers [aria-current=page]{background:var(--ink);border-color:var(--ink);color:var(--paper);font-weight:600}
.page-numbers .page-arrow{font-size:22px;line-height:1}
.page-gap{min-width:12px;text-align:center}
.page-size{position:relative;display:flex;align-items:center;gap:6px;color:var(--muted);font-size:13px;white-space:nowrap}
@media(max-width:480px){
  .pagination{flex-direction:column}
  .page-numbers{gap:4px}
  .page-numbers .pill{min-width:28px}
  .page-numbers .pill,.page-size select{min-height:40px}
}

#article-list{scroll-margin-block-start:16px}

.archive-list:not(:empty){border-block-start:1px solid var(--line)}
.archive-row{border-block-end:1px solid var(--line)}
.archive-row-link{
  display:grid;
  grid-template-columns:clamp(136px,17vw,200px) minmax(0,1fr);
  align-items:center;
  gap:clamp(16px,3vw,32px);
  padding-block:18px;
  color:inherit;
  text-decoration:none;
}
.archive-row-link:focus-visible{outline-offset:2px}
.archive-thumbnail{aspect-ratio:16/10;overflow:hidden;border-radius:3px}
.archive-thumbnail img{display:block;width:100%;height:100%;object-fit:cover}
.archive-row-copy h2{margin:0;font-family:var(--serif);font-size:clamp(20px,2.4vw,28px);line-height:1.3;overflow-wrap:anywhere}
.archive-row-link:hover h2,.archive-row-link:focus-visible h2{color:var(--accent)}
.archive-description{margin:7px 0 9px;color:var(--muted);font-size:14px;line-height:1.5}
.archive-row-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:12px}
.archive-row-meta>*{white-space:nowrap}
.archive-row-meta time{font-variant-numeric:tabular-nums}
@media(max-width:600px){
  .archive-row-link{grid-template-columns:clamp(76px,24vw,110px) minmax(0,1fr);gap:12px;padding-block:13px}
  .archive-row-copy h2{font-size:17px}
  .archive-description{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:4px 0 6px;font-size:12px}
  .archive-row-meta{font-size:11px;gap:6px}
}
