* { box-sizing: border-box; }
body {
  margin: 0;
  background: #f6f3eb;
  color: #173b39;
  font-family: "Microsoft JhengHei", system-ui, sans-serif;
  line-height: 1.7;
}
main { width: min(960px, calc(100% - 40px)); margin: 72px auto; }
.edition { color: #557b71; font-weight: 700; letter-spacing: .15em; }
h1 { max-width: 720px; font-size: clamp(2rem, 5vw, 3.8rem); line-height: 1.2; }
.intro { max-width: 620px; color: #526761; font-size: 1.1rem; }
.cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 40px; }
article { padding: 24px; background: #fffdf7; border: 1px solid #d9dfd4; border-radius: 18px; }
article h2 { margin-top: 0; font-size: 1.2rem; }
summary { cursor: pointer; font-weight: 700; }
details[open] summary { color: #156b59; }
@media (max-width: 640px) {
  main { margin: 40px auto; }
  .cards { grid-template-columns: 1fr; }
}
