.catalog-page { padding-bottom: 40px; }
.catalog-notice, .catalog-starter { padding: 22px; margin: 20px 0; }
.catalog-notice { border-left: 4px solid #16a06a; }
.catalog-notice p, .catalog-starter p { line-height: 1.8; margin: 8px 0 0; }
.catalog-filter { display: flex; flex-wrap: wrap; gap: 12px 24px; margin: 26px 0 16px; }
.catalog-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr)); gap: 28px; align-items: start; margin: 18px 0 36px; }
.catalog-tile { min-width: 0; max-width: 340px; width: 100%; justify-self: center; }
.catalog-tile .catalog-card-svg { display: block; width: 100%; height: auto; filter: drop-shadow(0 6px 12px #0a201522); }
.catalog-card-note { margin-top: 12px; font-size: 13px; line-height: 1.7; }
.catalog-card-note p { margin: 8px 0; }
.catalog-art-link { display: inline-block; margin: 0 0 10px; color: #185b3e; text-decoration: underline; text-underline-offset: 3px; }
.catalog-support { display: inline-block; border-radius: 6px; padding: 3px 8px; background: #e2f1e9; color: #185b3e; }
.catalog-support.pending { background: #fff1d7; color: #805309; }
.catalog-card-note summary, .catalog-starter summary { cursor: pointer; }
.catalog-card-note details { padding: 8px 0; border-top: 1px solid #758b7c44; }
.catalog-card-note dl { font-size: 11px; overflow-wrap: anywhere; }
.catalog-card-note dt { font-weight: 700; }
.catalog-card-note dd { margin: 0 0 6px; }
.catalog-starter ul { columns: 3 160px; padding-left: 20px; line-height: 1.9; }
.catalog-empty { padding: 30px; }
@media (max-width: 600px) {
  .catalog-grid { gap: 24px; }
  .catalog-filter { gap: 10px; }
  .catalog-notice, .catalog-starter { padding: 16px; }
}
