/* Homepage collections and public routing states. */
.home__intro { padding-block: var(--pd-space-8) var(--pd-space-6); }
.home__eyebrow {
  margin: 0 0 var(--pd-space-1);
  color: var(--pd-muted);
  font-size: var(--pd-text-sm);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.home__intro h1 { margin: 0; font-size: var(--pd-text-title); line-height: 1.2; }
.home__lede { margin: var(--pd-space-2) 0 var(--pd-space-4); color: var(--pd-secondary); }
.home__actions { display: flex; flex-wrap: wrap; gap: var(--pd-space-3); align-items: center; }
.home__search { display: flex; flex: 1; gap: var(--pd-space-2); min-width: 0; max-width: 760px; }
.home__search input {
  flex: 1;
  min-width: 0;
  width: 100%;
  min-height: 44px;
  padding: var(--pd-space-2) var(--pd-space-3);
  border: 1px solid var(--pd-control-border);
}
.home__stats { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--pd-space-2) var(--pd-space-4); margin-top: var(--pd-space-3); }
.home__stats .stat { margin: 0; padding: 0; border: 0; gap: var(--pd-space-1); }
.home__stats .stat__value { font: 600 var(--pd-text-sm) var(--pd-sans); }
.home__stats .stat__label, .home__stats-note { font-size: var(--pd-text-sm); color: var(--pd-muted); }
.home__stats .stat--skeleton .stat__value { background: var(--pd-inset); width: 3ch; }
.home__stats .stat--skeleton .stat__value::after { display: none; }
.home__collection { padding-block: var(--pd-space-6); border-top: 1px solid var(--pd-border); }
.home__collection:last-child { padding-bottom: var(--pd-space-8); }
.home__collection-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0 var(--pd-space-3); margin-bottom: var(--pd-space-3); }
.home__collection-head h2 { margin: 0; font-size: 1.125rem; line-height: 1.4; }
.home__collection-link { display: inline-flex; align-items: center; gap: var(--pd-space-2); min-height: 44px; color: var(--pd-accent); font-size: var(--pd-text-sm); }
.home__collection-link:hover { color: var(--pd-accent-hover); text-decoration: underline; }
.home__collection-status:not(.sr-only) { margin: 0 0 var(--pd-space-3); color: var(--pd-muted); font-size: var(--pd-text-sm); }
.home__collection-grid, .home__skeletons { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--pd-space-3); }
.home__skeletons { grid-column: 1 / -1; }
.home-page .pkg-card {
  min-width: 0;
  min-height: 0;
  padding: var(--pd-space-4);
  gap: var(--pd-space-2);
  background: var(--pd-surface);
  border-color: var(--pd-border);
  border-radius: var(--pd-radius-panel);
  overflow: visible;
  transition: none;
}
.home-page .pkg-card:hover { transform: none; background: var(--pd-inset); border-color: var(--pd-control-border); box-shadow: none; }
.home-page .pkg-card::after, .home-page .pkg-card[data-warn="true"]::before { display: none; }
.home-page .pkg-card__title { font: 600 var(--pd-text-base)/1.5 var(--pd-sans); overflow-wrap: anywhere; color: var(--pd-accent); }
.home-page .pkg-card__desc, .home-page .pkg-card__meta { font-size: var(--pd-text-sm); }
.home-page .pkg-card__meta { font-family: var(--pd-sans); }
.home-page .pkg-card__labels { min-height: 0; }
.home-page .pkg-card__labels:empty { display: none; }
.home-page .pkg-card__labels > * { max-width: 100%; overflow-wrap: anywhere; white-space: normal; }
.home-page .pkg-card--skel { min-height: 150px; }
.notfound.pd-foundation { padding-block: var(--pd-space-8); text-align: left; }
.notfound.pd-foundation h1 { font-size: var(--pd-text-title); line-height: 1.2; }
.notfound.pd-foundation p { max-width: 60ch; color: var(--pd-secondary); }
.notfound.pd-foundation .notfound__eyebrow { margin-bottom: var(--pd-space-2); color: var(--pd-muted); letter-spacing: normal; }
.notfound.pd-foundation .notfound__actions { justify-content: flex-start; }
@media (max-width: 960px) {
  .home__collection-grid, .home__skeletons { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .home__actions { align-items: stretch; }
  .home__search { flex-basis: 100%; }
  .home__collection-grid, .home__skeletons { grid-template-columns: minmax(0, 1fr); }
}
