body.list-page .layout-shell {
  max-width: 1280px;
  margin-top: 0;
}

body.list-page .main-content {
  flex: 1 1 auto;
  min-width: 0;
  padding-top: 2px;
  padding-bottom: 28px;
}

body.list-page .site-intro {
  margin-top: 0;
  padding-top: 0;
}

body.list-page .site-intro .subpage-title {
  margin: 0 0 4px;
  font-size: 1.35rem;
  line-height: 1.2;
  text-align: left;
  color: var(--accent);
}

body.list-page .character-filter-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.list-page .character-card-summary--stacked {
  grid-template-columns: minmax(0, 1fr);
}

body.list-page .list-scope-note {
  margin: 2px 0 0;
  color: var(--text-muted);
  font-size: 0.82rem;
  line-height: 1.45;
}

body.list-page .character-table--gift th:nth-child(1),
body.list-page .character-table--gift td:nth-child(1) { width: 24%; }
body.list-page .character-table--gift th:nth-child(2),
body.list-page .character-table--gift td:nth-child(2) { width: 24%; }
body.list-page .character-table--gift th:nth-child(3),
body.list-page .character-table--gift td:nth-child(3) { width: 52%; }

body[data-page="festivals"] .character-table--gift th:nth-child(1),
body[data-page="festivals"] .character-table--gift td:nth-child(1) { width: 30%; }
body[data-page="festivals"] .character-table--gift th:nth-child(2),
body[data-page="festivals"] .character-table--gift td:nth-child(2) { width: 20%; }
body[data-page="festivals"] .character-table--gift th:nth-child(3),
body[data-page="festivals"] .character-table--gift td:nth-child(3) { width: 50%; }

body[data-page="schedules"] .character-detail-item {
  grid-template-columns: minmax(0, 1fr);
}

body[data-page="schedules"] .character-detail-item h3 {
  white-space: normal;
  overflow-wrap: anywhere;
}

@media (max-width: 850px) {
  body.list-page .character-filter-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 600px) {
  body.list-page .layout-shell { margin-top: 0; }
  body.list-page .main-content { padding: 6px 8px 8px; }
  body.list-page .layout-shell,
  body.list-page .main-content,
  body.list-page .panel,
  body.list-page .mobile-ad-slot,
  body.list-page .sp-ad-viewport,
  body.list-page .sp-ad-card,
  body.list-page .character-list,
  body.list-page .character-card {
    max-width: 100%;
    min-width: 0;
  }
  body.list-page .site-intro { margin-top: 0; padding-top: 0; }
}
