:root{--cream:#F6EFE6;--deep:#3b2b23;--text:#222;--muted:#666;--border:rgba(59,43,35,0.12);--gap:20px;--radius:2px;--vline:1px}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--cream);color:var(--text);font-family:Georgia, 'Times New Roman', serif;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:var(--deep);text-decoration:none}
.topbar{padding:14px 24px;border-bottom:1px solid var(--border);background:transparent}
.brand a{font-weight:700;color:var(--deep);letter-spacing:0.02em}

/* Overall container: left nav | 1px vline | main area */
.page-container{display:grid;grid-template-columns:220px var(--vline) 1fr;gap:0;align-items:start;justify-content:center;padding:24px;min-height:60vh;/* desktop will clamp width */}
.page-container{width:clamp(1120px,80vw,1280px);margin-left:auto;margin-right:auto}

.side-nav{padding:18px 14px;border-radius:var(--radius);border:1px solid var(--border);background:#fff;font-size:14px}
.side-nav .nav-title{margin:0 0 12px 0;color:var(--deep);font-weight:600}
.side-nav ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.side-nav li{padding:6px 8px;border-radius:var(--radius);color:var(--text);}
.side-nav li span{display:block}

/* 1px theme vertical line (贯穿页面的视觉识别) */
.vline{width:var(--vline);background:var(--deep);opacity:0.12}

/* Main area: grid 12 columns producing 8/4 split */
.main-area{padding-left:24px;padding-right:8px}
.content-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px;align-items:start}

.article{grid-column:1 / span 8;background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:28px}
.aside{grid-column:9 / -1;align-self:start;padding:18px;background:#fff;border:1px solid var(--border);border-radius:var(--radius)}

/* Title composition: 超大但不超过两行并紧接正文 */
.title{margin:0 0 12px 0;color:var(--deep);font-size:36px;line-height:1.08;font-weight:700;letter-spacing:-0.01em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

.meta{display:flex;gap:12px;align-items:center;color:var(--muted);font-size:13px;margin-bottom:12px}
.meta .published{color:var(--muted)}
.meta .current{color:var(--muted)}

.summary{margin-bottom:18px}
.summary-title{margin:0 0 8px 0;font-size:13px;color:var(--deep);font-weight:600}
.description{margin:0;color:var(--text)}

.article-body .content{color:var(--text);font-size:16px;line-height:1.78}
.article-body .content > *{max-width:100%}

/* Ads: independent containers, non-intrusive */
.ad{margin:18px 0;padding:10px;border:1px dashed var(--border);border-radius:var(--radius);background:transparent;color:var(--muted);font-size:13px}
.ad-top{margin-top:0}

/* FAQ: two-column on desktop, single column on mobile */
.faq{margin-top:20px;padding-top:10px;border-top:1px solid var(--border)}
.faq-title{margin:0 0 12px 0;font-size:16px;color:var(--deep)}
.faq-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.faq-list > *{background:transparent;border:1px solid rgba(0,0,0,0.04);padding:12px;border-radius:var(--radius)}

/* Related: 带日期的分隔线列表 */
.related-title{font-size:15px;margin:0 0 12px 0;color:var(--deep)}
.related-list{display:flex;flex-direction:column;gap:10px}
.related-list > *{padding:8px 0;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;gap:12px;font-size:14px;color:var(--text)}
.related-list time{color:var(--muted);font-size:13px}

.site-footer{padding:18px 24px;color:var(--muted);font-size:13px;text-align:center}

/* Desktop-specific rules (>=1024px) - enforce two distinct desktop layout behaviors */
@media (min-width:1024px){
  body{font-size:16px}
  .title{font-size:44px}
  .side-nav{position:sticky;top:24px;height:calc(100vh - 48px);overflow:auto;padding-right:10px}
  .content-grid{align-items:start}
}

/* Mobile rules (<=767px) - single column, nav folds into horizontal index */
@media (max-width:767px){
  .page-container{grid-template-columns:1fr;gap:12px;padding:12px;width:100%;}
  .side-nav{order:1;display:block;width:100%;height:auto;padding:10px;flex-direction:row}
  .side-nav ul{flex-direction:row;gap:10px;overflow:auto}
  .vline{display:none}
  .main-area{order:2;padding:0}
  .content-grid{grid-template-columns:1fr;gap:12px}
  .article{grid-column:1 / -1;padding:18px}
  .aside{grid-column:1 / -1;padding:14px;margin-top:6px}
  .title{font-size:22px;-webkit-line-clamp:2}
  .faq-list{grid-template-columns:1fr}
  .ad{font-size:13px}
  /* Ensure no horizontal scroll at 320px */
  body{font-size:15px}
  .side-nav li{white-space:nowrap}
}

/* Accessibility tweaks */
h1,h2,h3{word-break:break-word}

/* Avoid shadows; use borders and spacing for hierarchy (forbidden_pattern honored) */
