/* ============================
   Pi‑Fid Theory™ — Textbook Version CSS (Optimized)
   ============================ */

/* ===== 全体 ===== */
body {
  background-color: black;
  color: rgba(130, 140, 243, 0.90);
  font-family: "Verdana", "Noto Sans JP", sans-serif;
  font-size: 1.02em;
  margin: 0;
  padding: 48px;
  text-align: left;
  letter-spacing: 0.012em;
  line-height: 1.78; /* 教科書の静けさ */
}

/* ===== コンテンツ幅 ===== */
.content {
  max-width: 760px; /* 教科書は少し広め */
  margin: 0 auto;
  text-align: left;
}

/* ===== 見出し ===== */

/* 英語 h1 */
.heading {
  font-size: 1.34em;
  font-weight: 700;
  margin-top: 1.8em;
  margin-bottom: 0.4em;
  letter-spacing: 0.03em;
}

/* 日本語 h1（英語と完全一致） */
h1.heading.jp {
  font-size: 1.34em;
  font-weight: 700;
  margin-top: 1.8em;
  margin-bottom: 0.4em;
  letter-spacing: 0.03em;
}

/* h2（章の導入） */
.sub {
  font-size: 1.18em;
  font-weight: 600;
  margin-top: 1.4em;
  margin-bottom: 0.4em;
  letter-spacing: 0.03em;
}

/* h3（セクションタイトル） */
h3.heading,
h3.heading.jp {
  font-size: 1.22em;
  font-weight: 700;
  margin-top: 1.6em;
  margin-bottom: 0.3em;
  letter-spacing: 0.02em;
}

/* ===== 本文 ===== */

/* 英語本文 */
p {
  font-size: 1.06em;
  line-height: 1.78;
  margin: 0.55em 0;
}

/* 日本語本文 */
.jp {
  font-family: "Noto Sans JP", "Verdana", sans-serif;
  font-size: 1.06em;
  line-height: 1.82; /* 日本語は少し広め */
  font-weight: 300;
  margin: 0.55em 0;
}

/* ===== Spacer Units（教科書向けに再調整） ===== */
.spacer-xxs { height: 0.5rem; }
.spacer-xs  { height: 1.0rem; }
.spacer-s   { height: 1.6rem; }
.spacer-m   { height: 2.6rem; }
.spacer-l   { height: 3.6rem; }
.spacer-xl  { height: 5.2rem; }
.spacer-huge { height: 7.6rem; }

/* ===== 箇条書き ===== */
.list-block p {
  margin-left: 1.4em;
  text-indent: -1.2em;
  line-height: 1.75;
}

/* ===== Summary Block（教科書の要点枠） ===== */
.summary-block {
  background-color: rgba(255, 255, 255, 0.06);
  border-left: 4px solid rgba(130, 140, 243, 0.85);
  padding: 1.3em 1.5em;
  margin: 2.8em 0;
  border-radius: 6px;
}

.summary-block p {
  margin: 0.45em 0;
  font-size: 1.02em;
}

/* ===== ボタン ===== */
a.button {
  padding: 10px 22px;
  background-color: #222;
  color: rgba(130, 140, 243, 0.90);
  text-decoration: none;
  border-radius: 7px;
  transition: background-color 0.3s;
  font-family: "Noto Sans JP", "Verdana", sans-serif;
  font-weight: 300;
}

.button {
  display: inline-block;
  margin: 0 15px;
}

.button-row {
  margin-top: 2.6rem;
  margin-bottom: 3.4rem;
}

a.button:hover {
  background-color: #444;
}

/* ===== footer ===== */
.footer-text {
  max-width: 760px;
  margin: 3.2rem auto 2.0rem auto;
  font-family: "Noto Sans JP";
  font-size: 11px;
  color: rgba(130, 140, 243, 0.80);
  text-align: left;
  letter-spacing: 0.05em;
}

.footer-dummy {
  margin: 0;
  padding-bottom: 1em;   /* 通常の <p> の margin-bottom と同じ量 */
}

