/* Shared editorial layout. No client-side JavaScript required. */
.writing-heading {padding:76px 0 36px; max-width:800px}
.writing-heading h1 {font-family:var(--serif);font-size:clamp(3rem,7vw,5.5rem);line-height:1.1;font-weight:400;letter-spacing:-.045em;margin:14px 0 24px}
.writing-intro {font-size:1.25rem;max-width:640px;line-height:1.6}
.category-nav {display:flex;flex-wrap:wrap;gap:12px 24px;margin:28px 0 36px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.category-nav a {font-size:.9375rem;text-decoration:none}
.category-nav a:hover {text-decoration:underline}
.category-nav span {color:var(--muted);font-size:.8125rem;margin-left:5px;font-variant-numeric:tabular-nums}
.writing-start {display:grid;grid-template-columns:1fr 1.2fr;gap:64px;background:var(--pale);padding:38px 40px;margin:0 0 70px;border-left:3px solid var(--green)}
.writing-start h2 {font-family:var(--serif);font-size:2rem;font-weight:400;line-height:1.25;margin-top:12px;letter-spacing:-.025em}
.writing-entry {padding:25px 0 28px;border-bottom:1px solid var(--line)}
.writing-entry.is-featured {border:0;padding:0}
.writing-meta {font-size:.8125rem;line-height:1.7;color:var(--green);margin-bottom:9px}
.writing-meta span {color:var(--muted)}
.writing-entry h3 {font-family:var(--serif);font-weight:400;font-size:1.5rem;line-height:1.35;letter-spacing:-.02em}
.writing-entry h3 a {text-decoration:none}
.writing-entry h3 a:hover {text-decoration:underline}
.writing-entry .writing-summary {font-size:1rem;line-height:1.7;color:var(--muted);margin-top:10px;max-width:670px}
.writing-category {display:grid;grid-template-columns:270px minmax(0,1fr);gap:60px;padding:20px 0 70px;scroll-margin-top:32px}
.category-heading {padding-top:24px}
.category-heading h2 {font-family:var(--serif);font-weight:400;font-size:2rem;line-height:1.2;letter-spacing:-.025em;margin:12px 0 15px}
.category-heading>p:last-child {font-size:.9375rem;line-height:1.8;color:var(--muted)}
.category-entries .writing-entry:first-child {border-top:1px solid var(--line)}
.writing-all {display:inline-block;margin-top:26px}
.writing-footer {border-top:1px solid var(--line);padding:28px 0 40px;display:flex;justify-content:space-between;gap:20px;font-size:.875rem;color:var(--muted)}
.writing-footer nav {display:flex;gap:20px;flex-wrap:wrap}
.breadcrumbs {display:flex;gap:12px;align-items:center;margin:36px 0 40px;font-size:.875rem;color:var(--muted);flex-wrap:wrap}
.breadcrumbs a {text-decoration:none}
.breadcrumbs a:hover {text-decoration:underline}
.article-header {max-width:850px;margin:0 0 52px}
.article-header h1 {font-family:var(--serif);font-weight:400;font-size:clamp(2.4rem,4.8vw,3.8rem);line-height:1.13;letter-spacing:-.035em;margin:16px 0 24px;overflow-wrap:break-word}
.article-deck {font-size:1.25rem;line-height:1.65;max-width:760px;color:var(--muted)}
.article-byline {font-size:.875rem;line-height:1.9;color:var(--muted);margin-top:24px}
.article-byline span {margin:0 7px}
.article-layout {display:grid;grid-template-columns:220px minmax(0,720px);gap:64px;align-items:start;border-top:1px solid var(--line);padding-top:40px}
.article-toc {position:sticky;top:28px;font-size:.875rem;line-height:1.55}
.article-toc>p {font-size:.75rem;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:18px}
.article-toc ul {list-style:none;margin:0;padding:0}
.article-toc li {margin:0 0 14px}
.article-toc a {text-decoration:none}
.article-toc a:hover {text-decoration:underline}
.article-body {min-width:0;font-size:1.125rem;line-height:1.85}
.article-body p {margin:0 0 22px}
.article-body h2 {font-family:var(--serif);font-weight:400;font-size:1.85rem;line-height:1.3;letter-spacing:-.02em;margin:44px 0 20px;scroll-margin-top:32px}
.article-body h3 {font-size:1.125rem;margin:28px 0 14px}
.article-body blockquote {margin:28px 0;padding:8px 0 8px 24px;border-left:3px solid var(--green);font-family:var(--serif);font-size:1.3rem;line-height:1.65}
.article-body blockquote p:last-child {margin:0}
.article-body ul,.article-body ol {padding-left:26px;margin:22px 0}
.article-body li {margin:10px 0}
.article-body pre {padding:24px;background:var(--pale);overflow:auto;max-width:100%;font-size:.875rem;line-height:1.7;margin:28px 0;white-space:pre-wrap;overflow-wrap:anywhere}
.article-body code {font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.table-scroll {overflow-x:auto;margin:30px 0;max-width:100%;overscroll-behavior-x:contain}
.article-body table {border-collapse:collapse;width:100%;font-size:.9375rem;line-height:1.7}
.article-body th {text-align:left;font-weight:600;background:var(--pale)}
.article-body th,.article-body td {border-bottom:1px solid var(--line);padding:14px;vertical-align:top;min-width:150px}
.article-author {margin:48px 0 0;padding:28px 0;border-top:1px solid var(--line);font-size:.9375rem;line-height:1.75;color:var(--muted)}
.article-author p {margin-bottom:12px}
.related-writing {margin:64px 0 74px;border-top:1px solid var(--line);padding-top:32px}
.related-writing h2 {font-family:var(--serif);font-weight:400;font-size:2rem;margin:8px 0 14px}
.related-grid {display:grid;grid-template-columns:1fr 1fr;gap:40px}
html:lang(zh-CN) .article-body {line-height:1.95}
html:lang(zh-CN) .article-toc {line-height:1.8}
html:lang(zh-CN) .article-header h1 {font-size:clamp(2rem,4vw,3.2rem)}
html:lang(zh-CN) .article-deck {line-height:1.85}
@media(max-width:900px) {
 .article-layout {grid-template-columns:180px minmax(0,1fr);gap:32px}
 .writing-category {grid-template-columns:220px minmax(0,1fr);gap:36px}
 .writing-start {gap:32px;padding:30px}
}
@media(max-width:680px) {
 .writing-heading {padding-top:42px}
 .writing-start {grid-template-columns:1fr;gap:28px;padding:25px;margin-bottom:40px}
 .writing-start h2 br {display:none}
 .writing-category {grid-template-columns:1fr;gap:12px;padding-bottom:42px}
 .category-heading {padding-top:8px}
 .category-nav {gap:12px 18px}
 .article-layout {display:block;padding-top:26px}
 .article-toc {position:static;padding-bottom:24px;margin-bottom:28px;border-bottom:1px solid var(--line)}
 .article-toc li {margin-bottom:10px}
 .article-header {margin-bottom:32px}
 .article-deck {font-size:1.125rem}
 .article-body {font-size:1.0625rem;line-height:1.85}
 .article-body h2 {font-size:1.65rem}
 .breadcrumbs {margin:26px 0 32px}
 .related-grid {grid-template-columns:1fr;gap:0}
 .writing-footer {flex-direction:column}
 .writing-entry h3 {font-size:1.4rem}
}
@media print {
 .article-toc,.related-writing,.category-nav,.breadcrumbs,.writing-footer {display:none}
 .article-layout {display:block}
 .article-header h1 {font-size:28pt}
 .article-body {font-size:11pt}
 .article-body h2 {break-after:avoid}
 .article-body table {font-size:10pt}
}
