/* Palette and base variables */
:root{
  --bg:#f6faf9; /* light teal-gray */
  --panel:#ffffff;
  --accent:#2b9bb3; /* lake blue */
  --muted:#6b7c80; /* gray-teal */
  --rule:#d9e8ea; /* fine line */
  --text:#0f2326;
  --max-width:1280px; /* chosen between 1120-1440 */
  --track-width:200px; /* narrow chapter track on desktop */
  --main-width:820px; /* desktop contract */
  --gutter-width:260px; /* remaining column for spacing */
  --radius:0; /* straight corners per visual_signature */
  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, "Noto Sans SC", "PingFang SC", "Microsoft Yahei", sans-serif;
}

/* Reset-ish for predictable layout */
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:var(--font-sans);
  background:var(--bg);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
.page-wrap{
  max-width:var(--max-width);
  margin:18px auto;
  display:grid;
  grid-template-columns: 1fr; /* mobile default */
  gap:28px;
  padding:0 16px 48px;
}

/* Header: double-layer with second very narrow */
.site-header{
  max-width:var(--max-width);
  margin:14px auto 0;
  padding:8px 16px 0;
}
.header-row{display:flex;align-items:center}
.header-top{justify-content:flex-start}
.brand{
  font-weight:700;
  color:var(--text);
  text-decoration:none;
  font-size:18px; /* compact */
  padding-right:12px;
}
.header-tools{
  color:var(--muted);
  font-size:13px;
}
.header-slim{margin-top:6px;height:28px}
.nav-slim-list{display:flex;gap:14px;list-style:none;padding:0;margin:0;color:var(--muted);font-size:13px}

/* Ad zones - non-floating, non-intrusive */
.ad-zone{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:10px 0;margin-top:12px;background:transparent;color:var(--muted);font-size:13px}
.ad-zone:empty{display:none}

/* Article and track layout for desktop will be defined in media query */
.track{
  border-right:1px solid var(--rule);
  padding-right:14px;
}
.track-title{font-size:12px;color:var(--muted);margin-bottom:8px}
.track-list{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;font-size:13px;color:var(--accent)}
.track-list > *{ /* allow raw insertion of {{keyword}} */
  padding:2px 6px;border-radius:2px;/* subtle */
}

.content{background:transparent}
.article-meta h1{
  margin:6px 0 6px 0;
  font-size:28px; /* large but constrained to ~2 lines by design */
  line-height:1.12;
  font-weight:700;
}
.meta-row{color:var(--muted);font-size:13px;margin-bottom:8px}
.summary{color:var(--muted);margin:6px 0 18px;font-size:15px}

.article-body{color:var(--text);font-size:16px;line-height:1.72;word-wrap:break-word}
.article-body > *{margin:12px 0}

/* FAQ pattern: horizontal-line Q&A list per design */
.faq h2, .related h2{font-size:16px;margin:18px 0 10px 0;color:var(--text)}
.faq-list{border-top:1px solid var(--rule);margin-top:6px}
.faq-list > *{padding:12px 0;border-bottom:1px solid var(--rule);}
.faq-list .question{font-weight:600;color:var(--accent)}
.faq-list .answer{color:var(--muted);margin-top:6px}

/* Related pattern: keyword index style */
.related-list{display:flex;flex-wrap:wrap;gap:10px;color:var(--muted);font-size:14px}
.related-list > *{padding:6px 8px;border:1px solid var(--rule);border-radius:0}

.site-footer{max-width:var(--max-width);margin:0 auto;padding:18px 16px;color:var(--muted);font-size:13px}

/* Desktop rules: grid with left narrow track, center main ~820px, right gutter */
@media (min-width:1024px){
  .page-wrap{
    padding:0 20px 64px;
    grid-template-columns: var(--track-width) var(--main-width) var(--gutter-width);
    align-items:start;
    gap:28px;
  }
  .track{position:relative;padding-top:6px;padding-right:18px}
  .track-list{flex-direction:column;gap:10px}
  .track-list > *{padding:4px 2px}

  .content{grid-column:2/3}
  .gutter{display:block}

  /* Title and summary偏右起排: ensure title block aligns with main column (done by grid) */
  .article-meta{padding-left:6px}

  /* FAQ与推荐跨越主内容宽度: make them span track + main (i.e., columns 1-2) */
  .faq, .related, .ad-middle, .ad-bottom{grid-column:1/3}
  .faq{margin-top:22px}
}

/* Mobile rules: track becomes horizontal line under title, content full width */
@media (max-width:767px){
  .page-wrap{grid-template-columns:1fr;padding:12px}
  .track{border-right:0;border-top:1px solid var(--rule);padding-top:12px;padding-right:0}
  .track-title{display:none}
  .track-list{flex-direction:row;gap:10px}
  .track-list > *{padding:6px 8px;border-top:1px solid transparent}

  /* Title composition: 超大标题但不超过两行并紧接正文 */
  .article-meta h1{font-size:22px;line-height:1.18;margin-bottom:6px}
  .summary{margin-bottom:10px}

  /* Ensure content area is full width and fluid */
  .content{width:100%}
  .gutter{display:none}
  .faq,.related,.ad-middle,.ad-bottom{grid-column:1/2}
  
  /* Avoid horizontal scroll at 320px */
  body{min-width:320px}
  .article-body{font-size:16px}
}

/* Accessibility and readable density */
h1,h2{letter-spacing:0;-webkit-font-smoothing:antialiased}
p,li{hyphens:auto}

/* Enforce straight edges and fine lines (visual_signature) */
*{border-radius:var(--radius)}

/* Forbidden pattern guard: no shadows used anywhere */
