:root{
  --bg:#fafafa;
  --text:#222426; /* 石墨灰 */
  --muted:#6b6f72;
  --accent:#c9a600; /* 芥末黄 */
  --line:rgba(0,0,0,0.08);
  --container-max:1280px;
  --gutter:28px;
  --serif: Georgia, "Times New Roman", serif;
  --sans: -apple-system, system-ui, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft Yahei", Arial, sans-serif;
}

/* Basic reset */
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--sans);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  line-height:1.7;
}

.container{
  margin:0 auto;
  padding:36px var(--gutter);
  position:relative;
}

/* Header: 左站名 右栏目索引（编辑部报头） */
.site-header{border-bottom:1px solid var(--line);background:transparent}
.header-inner{display:flex;align-items:center;justify-content:space-between;max-width:var(--container-max);margin:0 auto;padding:18px var(--gutter)}
.brand-link{color:var(--text);text-decoration:none;font-weight:700;font-family:var(--serif);font-size:20px}
.index-bar ul{list-style:none;margin:0;padding:0;display:flex;gap:18px;font-size:14px;color:var(--muted)}
.index-bar li{padding:6px 0}

/* Ad slots are independent containers and non-overlay */
.ad-slot{max-width:var(--container-max);margin:18px auto;padding:6px 12px;color:var(--muted);font-size:13px}
.ad-slot[aria-hidden="true"]{opacity:0.95}

/* Page wrap ensures central column */
.page-wrap{padding:20px 0}

/* Visual signature: 1px竖线贯穿容器（位于容器左侧偏移） */
.v-line{position:absolute;left:calc(50% - var(--container-max)/2 + 72px);top:0;bottom:0;width:1px;background:var(--accent);opacity:0.9}
/* Use transform fallback if container max smaller on narrow screens */

/* Article typography */
.eyebrow{font-size:13px;color:var(--accent);font-weight:600;letter-spacing:0.02em;margin-bottom:8px}
h1{font-family:var(--serif);font-weight:700;color:var(--text);margin:0 0 10px;font-size:28px;line-height:1.15}
.meta-row{display:flex;gap:12px;font-size:13px;color:var(--muted);margin-bottom:12px}
.summary{margin:0 0 18px;color:var(--muted);max-width:78ch}
.section-sep{border:none;border-top:1px solid var(--line);margin:26px 0}

/* Article grid: desktop shows a gutter column (chapter feel) */
.article-grid{display:block}
.article-body{font-size:16px;color:var(--text);font-family:var(--sans)}

/* Chapter numbering hint: if content uses H2/H3, they receive counters on desktop */
h2, h3{margin-top:1.4em;margin-bottom:0.6em}

/* FAQ and related base styles */
.bottom-full{background:transparent;padding-top:18px;padding-bottom:40px}
.section-title{font-family:var(--serif);color:var(--text);font-size:18px;margin:0 0 12px}
.faq-grid, .related-grid{display:block;gap:12px}
.related-grid a{color:var(--text);text-decoration:none}

.footer-inner{max-width:var(--container-max);margin:0 auto;padding:18px var(--gutter);color:var(--muted)}

/* --- Desktop: distinct layout (>=1024px) --- */
@media (min-width:1024px){
  :root{--container-max:1200px}
  .container{padding:48px var(--gutter)}
  .header-inner{padding:24px var(--gutter)}
  .v-line{left:calc(50% - var(--container-max)/2 + 64px)}

  /* enforce container width roughly between 1120 and 1440 */
  .header-inner, .ad-slot, .container, .footer-inner{max-width:1280px}
  .container{min-width:1120px}

  /* Article two-column feeling: left chapter gutter + main flow */
  .article{padding:40px 56px}
  .article-grid{display:grid;grid-template-columns:56px 1fr;gap:36px;align-items:start}
  .chapter-gutter{color:var(--muted);font-family:var(--serif);font-size:14px;display:flex;flex-direction:column;align-items:flex-end;padding-top:6px}
  /* If content contains h2, generate chapter counters in gutter */
  .article-body h2{counter-increment:section;position:relative;padding-left:0}
  .article-body{counter-reset:section}
  .article-body h2::before{content:counter(section) ".";font-weight:700;color:var(--accent);display:block;position:absolute;left:-56px;top:0;font-family:var(--serif)}

  /* FAQ as left/right table: questions narrow left, answers right */
  .bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:start}
  .faq-grid dl{display:grid;grid-template-columns:180px 1fr;gap:10px 24px}
  .faq-grid dt{font-weight:700;color:var(--text);font-family:var(--serif)}
  .faq-grid dd{margin:0;color:var(--muted)}

  /* Related: two-column summary list */
  .related-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .related-grid li{list-style:none}

  /* Density and spacing for desktop (舒展) */
  h1{font-size:34px}
  .summary{font-size:16px}
}

/* --- Mobile: <=767px single-column natural reflow --- */
@media (max-width:767px){
  :root{--container-max:100%}
  .header-inner{padding:14px 14px;display:flex;flex-direction:row;justify-content:space-between;align-items:center}
  .brand-link{font-size:18px}
  .index-bar ul{gap:10px;flex-wrap:wrap}
  .v-line{display:none}

  .container{padding:18px 14px}
  .article{padding:12px 0}
  .article-grid{display:block}
  .article-body{font-size:15px}

  /* Collapse chapter gutter into normal flow: remove numbering offsets */
  .article-body h2::before{display:none}

  /* Bottom area becomes single column stacked */
  .bottom-grid{display:block}
  .faq-grid dl{display:block}
  .faq-grid dt{font-weight:700}
  .faq-grid dd{margin-bottom:12px}

  .related-grid{display:block}
  .related-grid li{margin-bottom:10px}

  /* Ensure no horizontal scroll on narrow 320px */
  html,body{overflow-x:hidden}
}

/* Accessibility and readable focus */
a:focus{outline:2px solid var(--accent);outline-offset:2px}
