/* Pain Monde — design_guidelines.md 準拠
   ヨーロッパの小さな新聞 × 日本のパン屋の朝。
   カード/角丸/影/ピル/グラデーションは使わない。罫線と余白で組む。 */
:root {
  --paper: #f7f1e5;
  --ink: #2e2218;
  --terra: #b5502a;
  --wheat: #9c7b54;
  --hairline: #dccfb4;
}
* { box-sizing: border-box; }
html { background: var(--paper); }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", "Yu Gothic", "Noto Sans JP", sans-serif;
  line-height: 1.8;
  font-size: 15px;
}
a { color: var(--ink); }

/* ---- マストヘッド(新聞題字) ---- */
.masthead {
  max-width: 680px;
  margin: 0 auto;
  padding: 34px 20px 0;
  text-align: center;
}
.masthead .logo {
  width: 64px;
  height: 64px;
  display: block;
  margin: 0 auto 10px;
  mix-blend-mode: multiply;
}
.site-title {
  margin: 0;
  font-family: Georgia, "Shippori Mincho", "Times New Roman", serif;
  font-weight: 600;
  font-size: 2.3rem;
  letter-spacing: 0.14em;
  border-top: 1px solid var(--ink);
  border-bottom: 1px solid var(--ink);
  padding: 10px 0 8px;
  position: relative;
}
/* 二重罫(新聞題字の上下) */
.site-title::before,
.site-title::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  border-top: 1px solid var(--ink);
}
.site-title::before { top: 3px; }
.site-title::after { bottom: 3px; }
.tagline {
  margin: 12px 0 0;
  font-size: 0.85rem;
  letter-spacing: 0.12em;
  color: var(--wheat);
}
.dateline {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  border-bottom: 1px solid var(--hairline);
  margin-top: 18px;
  padding-bottom: 8px;
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  color: var(--wheat);
}
.links { display: flex; gap: 18px; }
.links a {
  color: var(--terra);
  text-decoration: none;
  letter-spacing: 0.08em;
}
.links a:hover { text-decoration: underline; }

/* ---- ダイジェスト帯 ---- */
.digest-banner {
  max-width: 680px;
  margin: 14px auto 0;
  padding: 0 20px;
  font-size: 0.85rem;
}
.digest-banner a {
  color: var(--ink);
  text-decoration: none;
  border-bottom: 1px solid var(--terra);
  padding-bottom: 1px;
}
.digest-banner a:hover { color: var(--terra); }

/* ---- カテゴリフィルタ(活字の索引行) ---- */
.filters {
  max-width: 680px;
  margin: 2px auto 0;
  padding: 4px 20px;
  display: flex;
  flex-wrap: wrap;
  column-gap: 0;
  align-items: baseline;
}
.filter-label {
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  color: var(--wheat);
  border: 1px solid var(--hairline);
  padding: 1px 6px;
  margin-right: 12px;
}
.chip {
  appearance: none;
  border: none;
  background: none;
  font: inherit;
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  color: var(--wheat);
  cursor: pointer;
  padding: 2px 0;
}
.chip + .chip::before {
  content: "／";
  color: var(--hairline);
  margin: 0 8px;
}
.chip.active {
  color: var(--terra);
  text-decoration: underline;
  text-underline-offset: 4px;
}
.chip:hover { color: var(--terra); }

/* ---- 本文(読み物の連なり) ---- */
main { max-width: 680px; margin: 0 auto; padding: 4px 20px 48px; }
.day-heading {
  font-family: Georgia, "Shippori Mincho", serif;
  font-weight: 500;
  font-size: 0.95rem;
  letter-spacing: 0.1em;
  color: var(--ink);
  margin: 34px 0 4px;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--ink);
}
.card { padding: 20px 0 18px; border-bottom: 1px solid var(--hairline); }
.card-meta {
  display: flex;
  gap: 12px;
  align-items: baseline;
  margin-bottom: 4px;
}
.tag {
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  color: var(--terra);
}
.region { font-size: 0.72rem; letter-spacing: 0.1em; color: var(--wheat); }
.card-title {
  margin: 0 0 8px;
  font-family: "Shippori Mincho", Georgia, serif;
  font-weight: 600;
  font-size: 1.22rem;
  line-height: 1.55;
}
.card-title a { color: var(--ink); text-decoration: none; }
.card-title a:hover { color: var(--terra); }
.card-summary { margin: 0 0 10px; font-size: 0.92rem; }
.card-source { margin: 0; font-size: 0.74rem; color: var(--wheat); }
.card-source a { color: var(--wheat); }
.card-source a:hover { color: var(--terra); }
.orig { font-style: italic; }
.empty { text-align: center; color: var(--wheat); padding: 60px 0; }

/* ---- 週刊ダイジェスト ---- */
.back { font-size: 0.8rem; margin: 20px 0 0; letter-spacing: 0.06em; }
.back a { color: var(--terra); text-decoration: none; }
.back a:hover { text-decoration: underline; }
.digest { padding: 26px 0 20px; border-bottom: 1px solid var(--hairline); }
.digest .card-title,
.digest h2 {
  font-family: "Shippori Mincho", Georgia, serif;
  font-weight: 600;
  font-size: 1.35rem;
  line-height: 1.55;
  margin: 4px 0 10px;
}
.digest-item { border-top: 1px dashed var(--hairline); padding-top: 12px; margin-top: 12px; }
.digest-item-title { margin: 0 0 4px; font-weight: 600; font-size: 0.98rem; }
.digest-item-title a { color: var(--ink); text-decoration: none; }
.digest-item-title a:hover { color: var(--terra); }
.digest-item-title .tag { margin-left: 8px; font-weight: 400; }
.digest-sub {
  font-family: Georgia, "Shippori Mincho", serif;
  font-weight: 500;
  font-size: 0.95rem;
  letter-spacing: 0.1em;
  margin: 22px 0 4px;
  padding-bottom: 4px;
  border-bottom: 1px solid var(--ink);
}

/* ---- フッター ---- */
.site-footer {
  max-width: 680px;
  margin: 0 auto;
  padding: 18px 20px 40px;
  border-top: 1px solid var(--ink);
  font-size: 0.78rem;
  color: var(--wheat);
  line-height: 1.9;
}
.site-footer a { color: var(--terra); text-decoration: none; }
.site-footer a:hover { text-decoration: underline; }

@media (max-width: 520px) {
  .site-title { font-size: 1.7rem; letter-spacing: 0.1em; }
  .dateline { flex-direction: column; gap: 4px; align-items: center; }
}
