/* Compact styling for the original logic-puzzle collection. */
.puzzles-main { padding: 1.35rem 0 2rem; }
.puzzles-main > .puzzles-page { max-width: 930px; margin-bottom: 0; }
.puzzles-intro { margin-bottom: 1rem; }
.puzzles-intro h1 { margin-bottom: 0.5rem; }
.puzzles-intro p { margin: 0.45rem 0; font-size: 0.94rem; line-height: 1.52; }
.puzzles-intro p:last-child { margin-bottom: 0; }
.puzzle-list {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--card-shadow);
}
.puzzle {
  padding: 0.85rem 1.05rem;
  scroll-margin-top: 82px;
}
.puzzle + .puzzle { border-top: 1px solid var(--line); }
.puzzle h2 { margin: 0 0 0.4rem; font-size: 1.22rem; line-height: 1.25; }
.puzzle p { margin: 0.4rem 0 0; font-size: 0.94rem; line-height: 1.52; }
.puzzle .puzzle-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.2rem 1rem;
  margin-top: 0.4rem;
  font-size: 0.87rem;
  font-weight: 650;
}
.puzzle-links a { padding-block: 0.1rem; }
@media (max-width: 720px) {
  .puzzles-main { padding: 1rem 0 1.5rem; }
  .puzzle { padding: 0.8rem 0.9rem; scroll-margin-top: 74px; }
}
@media print {
  .puzzle-list { box-shadow: none; }
  .puzzle h2 { break-after: avoid; }
  .puzzle p { orphans: 3; widows: 3; }
}
