/* node-03 · e-speak
   纯元素选择器排版：整站没有 class 属性可供指纹比对。
   变量名与 node-01(--page/--ink/--rule) 和 node-02(--paper/--graphite/--signal) 都不重合。*/

:root {
  --cream:  #fdf7ee;
  --umber:  #29190f;
  --clay:   #b03d18;
  --faded:  #8a776a;
  --hair:   #e6d8c6;
}

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background: var(--cream);
  color: var(--umber);
  font-family: "Work Sans", ui-sans-serif, system-ui, -apple-system, sans-serif;
  font-size: 1.0625rem;
  line-height: 1.72;
}

/* ---------- header ---------- */

body > header {
  max-width: 44rem;
  margin: 0 auto;
  padding: 4rem 1.5rem 0;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
}

body > header > a {
  font-family: "Fraunces", "Iowan Old Style", Georgia, serif;
  font-size: 1.6rem;
  font-weight: 600;
  letter-spacing: -.03em;
  color: var(--umber);
  text-decoration: none;
}

body > header nav {
  display: flex;
  gap: 1.35rem;
}

body > header nav a {
  font-size: .78rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--faded);
  text-decoration: none;
}

body > header nav a:hover { color: var(--clay); }

/* ---------- main ---------- */

main {
  max-width: 44rem;
  margin: 0 auto;
  padding: 3.5rem 1.5rem 6rem;
}

h1 {
  font-family: "Fraunces", "Iowan Old Style", Georgia, serif;
  font-size: clamp(2.1rem, 6vmin, 3.5rem);
  font-weight: 600;
  line-height: 1.06;
  letter-spacing: -.035em;
  margin: 0 0 1.4rem;
}

h2 {
  font-family: "Fraunces", "Iowan Old Style", Georgia, serif;
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: -.02em;
  margin: 3rem 0 .8rem;
}

h3 {
  font-size: 1.02rem;
  font-weight: 600;
  letter-spacing: .01em;
  margin: 2rem 0 .5rem;
}

p { margin: 0 0 1.25rem; }

main > p:first-of-type {
  font-size: 1.28rem;
  line-height: 1.55;
  color: var(--faded);
  margin-bottom: 2.5rem;
}

a { color: var(--clay); text-decoration-thickness: 1px; text-underline-offset: .18em; }

time {
  display: block;
  font-size: .74rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--faded);
  margin: -.6rem 0 2.2rem;
}

blockquote {
  margin: 2.2rem 0;
  padding: 0 0 0 1.4rem;
  border-left: 4px solid var(--clay);
  font-family: "Fraunces", Georgia, serif;
  font-size: 1.16rem;
  color: var(--umber);
}

blockquote p { margin: 0; }

ul, ol { padding-left: 1.35rem; margin: 0 0 1.25rem; }

li { margin-bottom: .45rem; }

/* 首页文章索引：元素选择器，无 class */
main ul li a {
  display: block;
  font-family: "Fraunces", Georgia, serif;
  font-size: 1.22rem;
  letter-spacing: -.015em;
  color: var(--umber);
  text-decoration: none;
  padding-top: .9rem;
  border-top: 1px solid var(--hair);
}

main ul li a:hover { color: var(--clay); }

main ul li:first-child a { border-top: 0; padding-top: 0; }

main ul li em {
  display: block;
  font-style: normal;
  font-size: .92rem;
  line-height: 1.5;
  color: var(--faded);
  padding-bottom: 1rem;
}

main ul li { list-style: none; }

table { width: 100%; border-collapse: collapse; margin: 1.5rem 0; font-size: .94rem; }
th, td { text-align: left; padding: .5rem .6rem; border-bottom: 1px solid var(--hair); }
th { font-weight: 600; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; color: var(--faded); }

code {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: .88em;
  background: #f2e7d8;
  padding: .12rem .32rem;
}

hr { border: 0; border-top: 1px solid var(--hair); margin: 3rem 0; }

/* ---------- footer ---------- */

body > footer {
  max-width: 44rem;
  margin: 0 auto;
  padding: 2rem 1.5rem 4rem;
  border-top: 1px solid var(--hair);
  font-size: .8rem;
  color: var(--faded);
}

body > footer p { margin: 0 0 .45rem; }
body > footer a { color: var(--faded); }

@media (max-width: 38rem) {
  body > header { padding-top: 2.5rem; }
  main { padding-top: 2rem; }
}
