/* ============================================
   Empty state — the shared no-data placeholder.

   A centered, stacked column: line icon · sentence-case headline ·
   secondary copy · optional action. The component is TRANSPARENT and
   traces its host surface (AD-13): every ink derives from the inherited
   `color` (the host's on-* ink), never a hard-pinned surface token — so
   it pairs correctly whether it sits on the desk (`surface*` → on-surface)
   or on a card (`inverse-surface` → inverse-on-surface), in both themes.

   No imagery, no illustration, no emoji, no gradient — the only graphic
   is the Lucide-style line icon (currentColor, no fill).

   BEM block: `empty-state`. Registered in scripts/check-bem.sh STRICT_BLOCKS.
   ============================================ */

.empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: var(--s-2);
  padding: var(--s-8) var(--s-6);
  /* Trace the host: inherit the on-* ink the host already set on the
     surface this empty-state sits on. No surface fill of its own. */
  color: inherit;
}

.empty-state__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--s-1);
  /* Icon reads as a quiet marker — softened from the host ink via the
     inherited currentColor, not a hard-pinned token. */
  color: color-mix(in oklab, currentColor 64%, transparent);
}

.empty-state__heading {
  font-family: var(--md-sys-typescale-title-medium-font);
  font-size: var(--md-sys-typescale-title-medium-size);
  line-height: var(--md-sys-typescale-title-medium-line-height);
  font-weight: var(--md-sys-typescale-title-medium-weight);
  letter-spacing: var(--md-sys-typescale-title-medium-tracking);
  color: currentColor;
  text-wrap: balance;
}
.empty-state__heading.is-empty { display: none; }

.empty-state__text {
  max-width: 44ch;
  font-family: var(--md-sys-typescale-body-medium-font);
  font-size: var(--md-sys-typescale-body-medium-size);
  line-height: var(--md-sys-typescale-body-medium-line-height);
  /* Soft tier — derived from the host ink so it works on either surface
     family. (on-surface-variant / inverse muted both read as ~70% ink.) */
  color: color-mix(in oklab, currentColor 70%, transparent);
  text-wrap: pretty;
}
.empty-state__text.is-empty { display: none; }

.empty-state__action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: var(--s-3);
}
.empty-state__action.is-empty { display: none; }
