:root{--letter-paper: #f5f1e8;--letter-ink: #34352d;--letter-muted: #77766a;--letter-red: #ac382e;--letter-rule: #cdcabc;--letter-wash: #eae5d9;--letter-serif: "Songti SC", "Noto Serif SC", SimSun, serif;color-scheme:light}html.dark{--letter-paper: #24251f;--letter-ink: #eae5d7;--letter-muted: #b3b09f;--letter-red: #e79781;--letter-rule: #505143;--letter-wash: #303128;color-scheme:dark}html{scroll-behavior:smooth}body{margin:0;background:var(--letter-paper);color:var(--letter-ink)}*{box-sizing:border-box}.village-letter{min-height:100vh;background:var(--letter-paper);color:var(--letter-ink);font-family:PingFang SC,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased}.village-letter a{color:inherit;text-decoration:none}.village-letter button,.village-letter input{font:inherit}.village-letter button{cursor:pointer;color:inherit}.village-letter button:disabled{cursor:wait;opacity:.65}.village-letter a:focus-visible,.village-letter button:focus-visible,.village-letter input:focus-visible{outline:2px solid var(--letter-red);outline-offset:5px}.letter-header,.letter-main,.letter-footer{width:min(1160px,calc(100% - 96px));margin:0 auto}.letter-topline{display:flex;align-items:center;justify-content:space-between;padding:24px 0 17px;border-bottom:1px solid var(--letter-rule);color:var(--letter-muted);font-size:12px;letter-spacing:.12em}.letter-topline button{border:0;background:transparent;padding:8px 0 8px 12px;font-size:14px;letter-spacing:.08em}.letter-topline button span{margin-right:8px;font-size:20px;vertical-align:middle}.letter-masthead{display:flex;align-items:center;justify-content:space-between;padding:23px 0 27px;border-bottom:3px double var(--letter-ink)}.letter-wordmark{position:relative;font-family:var(--letter-serif);font-size:clamp(44px,6.5vw,83px);font-weight:800;letter-spacing:.18em;line-height:1.2;padding-left:.18em}.letter-seal{position:absolute;right:-37px;bottom:4px;border:1px solid var(--letter-red);color:var(--letter-red);font-size:12px;letter-spacing:.05em;line-height:1.3;padding:4px 5px;transform:rotate(7deg);font-weight:500}.letter-masthead-note{font-family:var(--letter-serif);font-size:14px;line-height:1.95;letter-spacing:.14em;color:var(--letter-muted)}.letter-masthead-note.right{text-align:right}.letter-nav{display:flex;justify-content:center;gap:55px;border-bottom:1px solid var(--letter-rule);font-size:14px;letter-spacing:.15em}.letter-nav a{padding:15px 0 14px;position:relative}.letter-nav a[aria-current=page]{color:var(--letter-red)}.letter-nav a[aria-current=page]:after{position:absolute;content:"";bottom:-1px;left:0;right:0;border-bottom:2px solid var(--letter-red)}.letter-nav a:hover,.letter-footer a:hover{color:var(--letter-red)}.letter-opening{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(270px,1fr);gap:50px;padding:44px 0 47px;align-items:start}.letter-window{margin:0}.letter-window img{display:block;width:100%;height:auto;aspect-ratio:3 / 2;object-fit:cover}.letter-window figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:12px;color:var(--letter-muted);margin-top:14px;line-height:1.6}.letter-opening-copy{padding-top:1px}.letter-issue{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--letter-red);padding-top:12px;font-size:12px;color:var(--letter-muted);line-height:1.6}.letter-issue>span{color:var(--letter-red)}.letter-draft-label{display:inline-block;margin-top:23px;padding:3px 6px;border:1px solid var(--letter-rule);color:var(--letter-muted);font-size:12px}.letter-opening h1{font-family:var(--letter-serif);font-size:clamp(35px,3.1vw,45px);font-weight:500;margin:16px 0 5px;line-height:1.4;letter-spacing:.04em}.letter-opening h1 span{color:var(--letter-red)}.letter-intro-lines{font-family:var(--letter-serif);font-size:26px;margin:0;line-height:1.65}.letter-opening-rule{width:28px;border-top:1px solid var(--letter-red);margin:21px 0}.letter-opening-excerpt{color:var(--letter-muted);font-size:15px;line-height:1.9;margin:0 0 19px}.letter-read-link{display:flex;align-items:center;justify-content:space-between;font-family:var(--letter-serif);font-size:18px;border-bottom:1px solid var(--letter-rule);padding:12px 0;color:var(--letter-red)!important}.letter-read-link span{transition:transform .2s;font-family:sans-serif}.letter-read-link:hover span{transform:translate(5px)}.letter-below{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:44px 0 52px;border-top:1px solid var(--letter-rule);border-bottom:1px solid var(--letter-rule)}.letter-kicker{font-size:12px;line-height:1.8;letter-spacing:.13em;color:var(--letter-muted)}.letter-editor-note{border-right:1px solid var(--letter-rule);padding-right:55px}.letter-editor-note h2{font-family:var(--letter-serif);color:var(--letter-red);font-weight:500;font-size:34px;line-height:1.7;margin:16px 0 17px;letter-spacing:.06em}.letter-editor-note>p{font-size:15px;line-height:2;color:var(--letter-muted);margin:0 0 26px}.letter-editor-note>a{font-size:14px;border-bottom:1px solid var(--letter-rule);padding-bottom:7px}.letter-editor-note>a span{margin-left:20px}.letter-next-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.letter-next-title h2{font-family:var(--letter-serif);font-weight:500;font-size:23px;margin:0}.letter-next-title>span{font-size:12px;color:var(--letter-muted)}.letter-next>a{display:grid;grid-template-columns:40px 1fr 16px;gap:17px;align-items:start;padding:25px 0;border-bottom:1px solid var(--letter-rule);font-family:var(--letter-serif);font-size:20px;line-height:1.65}.letter-next>a:last-child{border-bottom:0;padding-bottom:0}.letter-next .letter-topic{writing-mode:vertical-rl;border:1px solid var(--letter-rule);padding:7px 4px;font-size:13px;color:var(--letter-muted);letter-spacing:.16em;justify-self:start}.letter-next small{font-family:PingFang SC,Microsoft YaHei,sans-serif;display:block;font-size:13px;line-height:1.8;margin-top:7px;color:var(--letter-muted)}.letter-next>a>span:last-child{color:var(--letter-muted);font:18px sans-serif;padding-top:5px}.letter-next a:hover{color:var(--letter-red)}.letter-endnote{display:flex;align-items:center;gap:24px;padding:33px 0 37px}.letter-endnote>span{color:var(--letter-red);font-size:38px}.letter-endnote p{font-family:var(--letter-serif);font-size:18px;line-height:1.9;margin:0}.letter-endnote p span{color:var(--letter-muted);font-size:14px}.letter-endnote a{font-size:14px;margin-left:auto;padding:12px 0}.letter-footer{display:flex;align-items:center;gap:30px;border-top:3px double var(--letter-rule);padding:26px 0 40px;color:var(--letter-muted);font-size:12px}.letter-footer>div>a{font:600 24px var(--letter-serif);color:var(--letter-ink);letter-spacing:.1em}.letter-footer>div>p{margin:10px 0 0;line-height:1.6}.letter-footer>span{margin-left:auto}.letter-footer .letter-atlas-link{border-left:1px solid var(--letter-rule);padding-left:25px;line-height:1.6}.letter-inside .letter-masthead{padding:20px 0 23px}.letter-inside .letter-wordmark{font-size:clamp(38px,5vw,57px)}.letter-reading{max-width:730px;margin:0 auto;padding:56px 0 70px}.letter-reading-heading{margin-bottom:30px}.letter-reading-heading h1,.letter-archive>header h1{font-family:var(--letter-serif);font-size:44px;letter-spacing:.08em;font-weight:500;line-height:1.4;margin:17px 0 20px}.letter-deck{font-size:17px;color:var(--letter-muted);line-height:1.9}.letter-draft{padding:12px 15px;border-left:2px solid var(--letter-red);background:var(--letter-wash);color:var(--letter-muted);font-size:13px;line-height:1.8;margin-bottom:34px}.letter-prose{font-family:var(--letter-serif);font-size:19px;line-height:2.15;overflow-wrap:anywhere}.letter-prose p{margin:0 0 1.4em}.letter-prose h2{font-size:26px;font-weight:600;margin:1.6em 0 .7em}.letter-prose h3{font-size:23px}.letter-prose a{color:var(--letter-red);text-decoration:underline;text-decoration-color:var(--letter-rule);text-underline-offset:5px}.letter-prose .header-anchor{display:none}.letter-prose ul{padding-left:24px}.letter-prose img{max-width:100%;height:auto}.letter-prose pre{overflow:auto;font-family:monospace}.letter-signoff{display:flex;gap:15px;justify-content:flex-end;margin:44px 0;font-family:var(--letter-serif);font-size:21px;text-align:right}.letter-signoff p{margin:0;line-height:1.9}.letter-signoff p span{font-size:14px;color:var(--letter-muted)}.letter-back{display:block;border-top:1px solid var(--letter-rule);padding-top:22px;font-size:14px}.letter-archive{max-width:940px;margin:auto;padding:52px 0 80px}.letter-archive>header>p{color:var(--letter-muted);font-size:16px;margin-bottom:32px;line-height:1.9}.letter-search{display:flex;gap:22px;align-items:center;padding:20px 0;border-top:1px solid var(--letter-rule)}.letter-search label{font-family:var(--letter-serif);font-size:18px;flex-shrink:0}.letter-search>div{display:flex;width:100%;gap:10px}.letter-search input{min-width:0;width:100%;background:transparent;color:var(--letter-ink);border:1px solid var(--letter-rule);padding:12px 14px;border-radius:0;font-size:15px}.letter-search input::placeholder{color:var(--letter-muted)}.letter-search button{background:var(--letter-ink);color:var(--letter-paper);padding:10px 24px;border:0;white-space:nowrap;font-size:14px}.letter-tabs{display:flex;flex-wrap:wrap;gap:24px;border-bottom:1px solid var(--letter-rule);padding:8px 0 0}.letter-tabs button{background:transparent;border:0;border-bottom:2px solid transparent;padding:12px 0;font-size:15px;color:var(--letter-muted)}.letter-tabs button[aria-pressed=true]{border-color:var(--letter-red);color:var(--letter-red)}.letter-tabs button>span{font-size:12px;margin-left:8px;opacity:.75}.letter-list-item{display:flex;align-items:flex-start;gap:32px;border-bottom:1px solid var(--letter-rule);padding:34px 0}.letter-list-item time{font-family:Georgia,serif;color:var(--letter-muted);font-size:14px;min-width:100px;padding-top:7px}.letter-list-item>div{flex:1}.letter-list-item h2{font-family:var(--letter-serif);font-size:28px;margin:9px 0;font-weight:500}.letter-list-item p{color:var(--letter-muted);font-size:16px;line-height:1.9;margin:0}.letter-list-item>span{font-size:23px;margin-top:30px;color:var(--letter-red)}.letter-list-item:hover h2{color:var(--letter-red)}.letter-search-status{font-size:14px;line-height:1.9;color:var(--letter-muted);padding:15px 0}.letter-search-status button{margin-left:16px;font-size:14px;color:var(--letter-red);border:0;border-bottom:1px solid var(--letter-rule);background:transparent}.letter-empty{text-align:center;padding:54px 25px}.letter-empty>span{color:var(--letter-red);font-size:36px}.letter-empty h2{font-family:var(--letter-serif);font-size:27px;font-weight:500}.letter-empty p{color:var(--letter-muted);font-size:15px;line-height:1.9}.letter-empty button{border:0;background:none;font-size:14px;color:var(--letter-red);padding:15px}.letter-message{max-width:700px;margin:auto;padding:85px 0 110px}.letter-message h1{font-family:var(--letter-serif);font-weight:500;font-size:36px;line-height:1.6;margin:23px 0}.letter-message p{font-size:17px;line-height:1.95;color:var(--letter-muted)}.letter-message>a{display:inline-block;color:var(--letter-red);border-bottom:1px solid var(--letter-rule);margin-top:22px;padding-bottom:8px;font-size:16px}.letter-skip{position:fixed;top:-100px;left:12px;padding:12px;background:var(--letter-paper);z-index:100}.letter-skip:focus{top:12px}@media (min-width: 1400px){.letter-opening{gap:60px}}@media (max-width: 1000px){.letter-header,.letter-main,.letter-footer{width:calc(100% - 56px)}.letter-opening{gap:30px;grid-template-columns:minmax(0,1.3fr) minmax(265px,1fr)}.letter-window img{aspect-ratio:4 / 3}.letter-opening h1{font-size:36px}.letter-intro-lines{font-size:23px}.letter-below{gap:38px}.letter-editor-note{padding-right:32px}.letter-editor-note h2{font-size:29px}.letter-next>a{gap:12px;font-size:18px}}@media (max-width: 700px){.letter-header,.letter-main,.letter-footer{width:calc(100% - 36px)}.letter-topline{padding-top:13px;padding-bottom:10px;letter-spacing:.02em}.letter-masthead{padding:25px 0 22px;justify-content:center}.letter-masthead-note{display:none}.letter-wordmark{font-size:clamp(42px,10vw,62px);padding-right:12px;letter-spacing:.13em}.letter-seal{right:-25px;bottom:0;font-size:12px;padding:2px 3px}.letter-nav{gap:36px;font-size:14px}.letter-nav a{padding:14px 0}.letter-opening{grid-template-columns:1fr;gap:28px;padding:27px 0 34px}.letter-window img{aspect-ratio:3 / 2}.letter-window figcaption{font-size:12px;gap:8px;margin-top:12px}.letter-opening-copy{padding:0 7px}.letter-issue{padding-top:13px}.letter-draft-label{margin-top:17px}.letter-opening h1{font-size:39px;margin-top:15px}.letter-intro-lines{font-size:26px}.letter-opening-rule{margin:18px 0}.letter-opening-excerpt{font-size:16px}.letter-opening-excerpt br{display:none}.letter-read-link{margin-top:10px;padding:15px 0}.letter-below{grid-template-columns:1fr;gap:37px;padding:31px 7px}.letter-editor-note{border-right:0;border-bottom:1px solid var(--letter-rule);padding:0 0 33px}.letter-editor-note h2{font-size:31px}.letter-editor-note>p{font-size:15px}.letter-next>a{padding:22px 0;font-size:20px}.letter-endnote{flex-wrap:wrap;padding:26px 7px 32px;gap:18px}.letter-endnote>span{font-size:30px}.letter-endnote p{font-size:17px}.letter-endnote a{flex-basis:100%;margin-left:48px;padding:5px 0}.letter-footer{flex-wrap:wrap;gap:18px;padding:27px 7px}.letter-footer>span{font-size:12px}.letter-footer .letter-atlas-link{flex-basis:100%;padding:17px 0 0;border-left:0;border-top:1px solid var(--letter-rule);font-size:12px}.letter-inside .letter-wordmark{font-size:42px}.letter-reading{padding:35px 7px 44px}.letter-reading-heading h1,.letter-archive>header h1{font-size:37px}.letter-prose{font-size:18px;line-height:2.1}.letter-deck{font-size:16px}.letter-reading-heading{margin-bottom:23px}.letter-archive{padding:34px 7px 50px}.letter-search{display:block}.letter-search label{display:block;margin-bottom:12px}.letter-search button{padding:10px 17px}.letter-search input{font-size:14px;padding:12px}.letter-tabs{gap:19px}.letter-tabs button{font-size:14px}.letter-tabs button>span{margin-left:5px}.letter-list-item{flex-wrap:wrap;gap:10px;padding:25px 0}.letter-list-item time{flex-basis:100%}.letter-list-item p{font-size:15px}.letter-list-item h2{font-size:27px}.letter-empty{padding:36px 10px}.letter-message{padding:55px 7px 75px}.letter-message h1{font-size:30px}.letter-message p{font-size:16px}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.village-letter *{transition:none!important}}
