/* CSS is how you can add style to your website, such as colors, fonts, and positioning of your
   HTML content. To learn how to do something, just try searching Google for questions like
   "how to change link color." */

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
  background: #f7f4ef;
  color: #222;
  line-height: 1.6;
}

.hero {
  background: linear-gradient(135deg, #bf5700, #8f3f00);
  color: white;
  text-align: center;
  padding: 3rem 1rem 2.5rem;
}

.hero h1 {
  margin: 0 0 0.5rem;
  font-size: 2.5rem;
}

.hero p {
  margin: 0.3rem 0;
}

.subtle {
  opacity: 0.9;
}

.container {
  width: min(1100px, 92%);
  margin: 2rem auto 3rem;
}

.card {
  background: white;
  border-radius: 16px;
  padding: 1.5rem;
  margin-bottom: 1.5rem;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.08);
}

.chapter-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 1rem;
  margin-top: 1rem;
}

.chapter-link {
  display: block;
  text-decoration: none;
  color: #222;
  background: #fff7f0;
  border: 2px solid #f0d4bb;
  border-radius: 14px;
  padding: 1rem;
  transition: 0.2s ease;
}

.chapter-link:hover {
  transform: translateY(-2px);
  border-color: #bf5700;
}

.chapter-link.active {
  background: #fff1e3;
  border-color: #bf5700;
}

.chapter-number {
  display: block;
  font-weight: bold;
  color: #bf5700;
  margin-bottom: 0.35rem;
}

.chapter-title {
  display: block;
  font-size: 1rem;
}

.topnav {
  width: min(1100px, 92%);
  margin: 1rem auto 0;
}

.topnav a {
  color: #bf5700;
  text-decoration: none;
  font-weight: bold;
}

.page-title {
  margin-bottom: 0.25rem;
}

.section-title {
  color: #8f3f00;
  margin-top: 0;
}

.term-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1rem;
}

.term-box {
  background: #fcfaf7;
  border-left: 5px solid #bf5700;
  padding: 1rem;
  border-radius: 10px;
}

.term-box h3 {
  margin-top: 0;
  font-size: 1.05rem;
}

.question-block {
  background: #fcfaf7;
  border: 1px solid #eadbcf;
  border-radius: 12px;
  padding: 1rem;
  margin-bottom: 1rem;
}

.question-block h3 {
  margin-top: 0;
  color: #8f3f00;
}

.connection-list li,
.card li {
  margin-bottom: 0.55rem;
}

.footer-note {
  font-size: 0.95rem;
  color: #555;
}

.placeholder {
  text-align: center;
  padding: 3rem 1rem;
}

.placeholder h2 {
  color: #bf5700;
}

.badge {
  display: inline-block;
  background: #fff1e3;
  color: #8f3f00;
  padding: 0.3rem 0.8rem;
  border-radius: 999px;
  font-weight: bold;
  margin-bottom: 1rem;
}