:root{
  --bg:#fffaf0; /* 奶油白 */
  --fg:#2b160f; /* 深棕 */
  --muted:#6b4f44;
  --accent:#2b160f;
  --separator:rgba(43,22,15,0.08);
  --container-padding:48px;
  --max-read-width:74ch;
}
/* 页面重置与基础 */
*{box-sizing:border-box}
html,body{height:100%;background:var(--bg);color:var(--fg);font-family:Georgia, "Times New Roman", Times, serif;line-height:1.6;margin:0}
a{color:inherit;text-decoration:none}
.container{margin:0 auto;padding:36px clamp(20px,4vw,48px);}
.page-wrap{max-width:100%;}
.site-header{border-bottom:1px solid var(--separator);background:transparent}
.header-row{display:flex;align-items:center;justify-content:space-between;padding:18px 0}
.header-top .brand .home-link{font-weight:700;font-size:20px;letter-spacing:0.06em;color:var(--fg)}
.header-top .masthead .edition{color:var(--muted);font-size:13px}
.header-slim{border-top:1px solid var(--separator);padding:6px 0;font-size:13px;color:var(--muted);height:28px;overflow:hidden}
.slim-nav{display:flex;gap:10px;align-items:center}
.nav-sep{opacity:0.35}

/* 标题通栏与构成：超大但视觉上不超过两行（尽量），紧接正文 */
.title-row{padding-top:18px;padding-bottom:6px}
.page-title{margin:0;color:var(--fg);font-size:clamp(28px,4.2vw,44px);line-height:1.05;font-weight:700;letter-spacing:-0.01em;max-width:var(--max-read-width)}

/* 元信息与摘要 */
.meta{margin-top:10px;margin-bottom:18px;color:var(--muted);font-size:13px;display:flex;gap:10px;align-items:center}
.summary{margin:0 0 22px 0;color:var(--muted);max-width:var(--max-read-width)}

/* 主网格：在桌面分栏，移动端单列 */
.grid{display:grid;grid-template-columns:1fr;gap:28px}
.content-area{min-width:0}
.article-body{color:var(--fg);font-size:18px;max-width:var(--max-read-width)}
.article-body p{margin:0 0 1.05em 0}

/* 侧边信息区样式（无圆角、无阴影，细分隔） */
.side-area{display:flex;flex-direction:column;gap:18px}
.info-block{border-top:3px solid transparent;padding-top:12px;padding-bottom:12px;border-bottom:1px solid var(--separator);}
.info-title{font-size:15px;margin:0 0 8px 0;color:var(--fg);font-weight:600}
.info-short{min-height:86px}
.info-tall{min-height:220px}
.info-body{color:var(--muted);font-size:14px}

/* FAQ 特定样式：顶部主题色边线 */
.faq-block{border-top-color:var(--accent)}

/* 广告区（独立，不遮挡，不悬浮） */
.ad{padding:12px;background:transparent;border-top:1px solid var(--separator);border-bottom:1px solid var(--separator);color:var(--muted);font-size:14px}
.ad-top{margin:0}
.ad-middle{margin:24px 0}
.ad-bottom{margin-top:24px}

/* 底部推荐：短卡样式，无阴影。桌面四列，移动单列 */
.related-grid{margin-top:36px;padding-top:18px;border-top:1px solid var(--separator)}
.related-title{margin:0 0 12px 0;font-size:15px;color:var(--fg)}
.related-list{display:grid;grid-template-columns:repeat(1,1fr);gap:12px}
.related-list a{display:block;padding:10px;border:1px solid var(--separator);background:transparent;color:var(--fg);text-decoration:none;font-size:14px}
.related-list a .meta{display:none}

/* 页脚 */
.site-footer{border-top:1px solid var(--separator);padding:18px;color:var(--muted);font-size:13px}
.footer-inner{max-width:1200px;margin:0 auto}

/* ACCESSIBILITY: ensure text reflows */
img,svg,video{max-width:100%;height:auto}

/* 桌面端布局差异：容器在 1120px—1440px 之间，正文占 8 列，右栏占剩余区域；标题通栏 */
@media (min-width:1024px){
  .container{width:clamp(1120px,90vw,1440px);}
  .grid{grid-template-columns:repeat(12,1fr);gap:36px;align-items:start}
  .content-area{grid-column:1 / span 8}
  .side-area{grid-column:10 / span 3; /* 列位移，形成非对称 */ display:flex}
  /* 右侧分成两个不等高的区块（视觉上） */
  .side-area .info-short{flex:0 0 auto}
  .side-area .info-tall{flex:1 1 auto}

  /* 底部推荐四列 */
  .related-list{grid-template-columns:repeat(4,1fr)}

  /* 更宽松的排版（大留白与紧凑字阶） */
  .article-body{font-size:19px;line-height:1.65;letter-spacing:0.01em}
  .page-title{margin-bottom:6px}
}

/* 手机端单独重排：320px 不横向滚动；信息区下移为两个列表块，底部推荐单列 */
@media (max-width:767px){
  html,body{font-size:16px}
  .container{padding:18px}
  .title-row{padding-top:12px}
  .page-title{font-size:22px;line-height:1.12}
  .meta{font-size:12px}
  .grid{display:block}
  .content-area{width:100%}
  .side-area{width:100%;margin-top:18px}
  .side-area .info-block{border-top-width:2px;padding-top:10px}
  /* 信息区成为正文后的两段列表（视觉上） */
  .info-title{font-size:14px}
  .related-list{grid-template-columns:1fr}
  .related-grid{padding-top:12px}
  .ad{font-size:13px}
  /* 防止任何横向溢出 */
  body{overflow-x:hidden}
}

/* 中等视口提示：保持舒展密度 */
@media (min-width:768px) and (max-width:1023px){
  .container{padding:28px}
  .page-title{font-size:28px}
  .article-body{font-size:17px}
  .related-list{grid-template-columns:repeat(2,1fr)}
}
