.chapter-route {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 36px;
  list-style: none;
  padding: 0;
  margin: 32px 0;
}
.chapter-route li {
  display: flex;
  gap: 20px;
  padding: 24px 0;
  border-top: 1px solid #bdcdd0;
}
.chapter-number {
  flex: 0 0 2ch;
  color: #526f77;
  font: 700 1.6rem/1.2 Consolas, monospace;
}
.chapter-route h3 {
  margin: 0 0 6px;
  font-size: 1.15rem;
}
.chapter-route p {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 0.95rem;
}
.chapter-route .chapter-part {
  color: #305944;
  font-weight: 650;
}
.chapter-finale {
  border-top-color: #967040 !important;
}
.chapter-finale .chapter-number,
.chapter-finale .chapter-part {
  color: #805b2a;
}
.campaign-gallery,
.enemy-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
}
.enemy-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 28px;
}
.enemy-grid .siege-enemy {
  grid-column: span 2;
}
.campaign-controls {
  margin-top: 0;
}
.game-page .requirements a {
  text-decoration: underline;
  text-underline-offset: 4px;
}
@media (max-width: 1000px) {
  .enemy-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .chapter-route,
  .campaign-gallery,
  .enemy-grid { grid-template-columns: 1fr; }
  .enemy-grid .siege-enemy { grid-column: auto; }
  .chapter-route li { gap: 16px; }
}
@media (max-width: 440px) {
  .game-page .product-nav { gap: 12px; }
}
